GNU Make dependencies
Since the start of this project, I’ve always had to make sure that any source files that inadvertently depend on a header file are rebuilt when either that header file’s function signature or structure arrangement/contents change. It took about two hours and around 200 lines of thrown-together code to fix. I think a large amount of headache could have been avoided if I did this right from the start.
It was quite fun to take a break and do something else that benefitted the game. It’s pretty dumb, not accounting for comments or headers with quotation marks instead of chevrons but it works for my purposes.
I’ve also been writing the ECS for the client first, as I think it will be the most difficult side to get right. This does mean a lot of code duplication that I’m not a fan of and isn’t at all how the client and server code should be written.
On the hardware side of things, I’ve got a little further with the gamepad and am hoping to be able to move around the Dreamcast’s dashboard and select/cancel things with a D-pad, start, A, and B buttons implemented. Mostly I’ve spent my spare time this week understanding I2C as I figure it will be easier to learn that first and tackle the Maple protocol later.