Engines; how do they work?
I really need someone to clear this up for me, or link me to somewhere that can.
I've had the quake2 source code for a while, and I've done some work with the Source engine SDK, and there's on thing I don't understand about game engines which seems to set them apart from other programs.
When compiled, they produce .dll's. As far as I can see there's no entry point to the app. - no main. Source for example, when compiled, is "turned into" server.dll and client.dll - how the hell does this work?
I know I'm not explaining it very well; I don't understand how the program "works". Quake 2 is compiled into a .dll too. It's all very confusing to me :(
Could someone do their best to explain this to me? Where does the program start?