I've been creating DLLs recently for my graphics engine and I'm kind of confused as to what I should place in it, and what I should not.
So far I have core startup code, sound code, input code, etc, etc. But specialized code that is used for certain games I've been reluctant to add b/c it's not really core engine code. Also the Render(),Setup(), and Cleanup() code is the programmer's responsibility. I have no idea how a coder would want to render their environments so I've declared it and the other 2 functions as pure virtuals.
The programmer can create their own WndProc for both the game and any video's they play inside of the game via DirectShow. My DLL has helper functions that call the class-versions of the WndProc code.
So what should be in a core engine DLL and what should not be?
Also should I split sound, input, and multiplayer code into separate DLLs or is that overkill?
I like this DLL and import library stuff because now I can use an actual engine window as my main view in my MFC editor. I've totally scrapped the GDI sections in favor of using Direct3D. It's so much easier to do Direct3D than GDI and a lot more can be done with less code. No more DC's, blits, etc, etc.
Windows GDI..........um.............u suck.