aboutsummaryrefslogtreecommitdiff
path: root/platform/win32.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-05-18Fix indent/stylingNicholas Tay1-5/+14
2022-05-17Add Linux supportNicholas Tay1-2/+2
Oh boy this was a bit of a hassle lol - dynamic loading was the easiest part... but then came both sound and x11 Using SDL for now but I'd really like to change it for even lower layer, but then I might have to make my own mixer... oh no.
2022-05-11Improve plugin loading architectureNicholas Tay1-15/+7
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.
2022-05-10Dynamic load boards as DLL (windows only for now)Nicholas Tay1-0/+38
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.
2022-05-07Split out platform-specific code for WindowsNicholas Tay1-81/+22
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.
2022-05-07Windows low-level hook workingNicholas Tay1-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.
2022-05-07Dynamically take in board nameNicholas Tay1-7/+23
2022-04-28Split out sound logic (for xplatform)Nicholas Tay1-5/+17
2022-04-28Iterate boards in CNicholas Tay1-2/+16