aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Improve plugin loading architectureNicholas Tay2022-05-119-67/+69
| | | | | | | | | | | | | This should be better, maybe the variable names could be better though. Init is more extensible, we take in a 'board_data' struct on the plugin end that has everything it needs (mainly function pointers for now). Then, a 'board' struct is given back to the main Clak runtime, with everything it needs to know (again, mainly function pointers). It is a bit weird that the board is not stored with Clak but as a pointer to the dynamically loaded bit, but not sure.
* Dynamic load boards as DLL (windows only for now)Nicholas Tay2022-05-1016-71/+149
| | | | | | The .h files are pretty weird, should look at other C projects to see how they load plugins. This function pointer business with typedefs is kinda weird, not sure where they should live.
* More messing around with plugin systemNicholas Tay2022-05-088-25/+40
| | | | | Just more attempts, but I think I'm gonna switch over to dynamic .so/.dll loading. That would be pretty fun to check out.
* Split out platform-specific code for WindowsNicholas Tay2022-05-074-75/+116
| | | | | Not sure if I'm really doing it in the best way possible. Feels a bit weird that some place assumes the existence of other functions.
* Windows low-level hook workingNicholas Tay2022-05-071-5/+85
| | | | | | | | Had to do some stuff with the previous VK tracking, just like what I had to do in C# with Meccha, since it keeps firing events. GetMessage part also just blocks to ensure we keep receiving Windows events, but not sure what to do otherwise.
* Dynamically take in board nameNicholas Tay2022-05-071-7/+23
|
* Split out sound logic (for xplatform)Nicholas Tay2022-04-281-5/+17
|
* Iterate boards in CNicholas Tay2022-04-282-3/+19
|
* Initial working Windows playsoundNicholas Tay2022-04-285-0/+50