Yeah. Though most projects still use header files with unity builds, so I decided not to call them that. It wasn't the concept of a unity build that I was emphasising, it was the idea of not forward-declaring everything.
> Yeah. Though most projects still use header files with unity builds, so I decided not to call them that.
There is nothing inherently special in header files. They are just a convention where you use a specific extension in source files you mostly use to pass declarations. Nothing stops you from using the .c extension on all files, and there is nothing special in passing declarations in one place and definitions in another place.
Of course! But, saying 'unity build' puts emphasis on the fact that you compile all the C files 'in unity', in a single CU. What _I_ wanted to put emphasis on is that you can skip the header files, and that coincidentally means you also have to unity build.
The fact that most unity built projects still use headers made me hesitant to use the term, as that would put emphasis on building a single CU, as opposed to not forward declaring in headers.
I think the 10 years is the key here. 15+ years ago the DevC++ was a gem, lightweight, fast usable IDE. But 10 years ago there was the free VSExpress out (not even the first, 2005 and 2008) which was far superior to DevC++ imho. (edit: on Windows)
The size limited demos are use techniques like in the OP, scrapping the runtime, no std, filling the unused exe header sections with own data, quantizing floating point values, etc. And/or exe packers like Crinkler and kkrunchy.
COM's are no longer used.
I can recomment HROT, it is still in development but you can try the demo on Steam. It is awesome.
Fun fact: it looks like Quake engine but not, it is written in Pascal.