Been neglecting this blog a bit, but oh well. I have a few minor updates to Dive, mainly dealing with a minor bugfix and a change in how certain debug functions work.
First of all, the bugfix: I had assumed that Visual Studio defined RELEASE when building in release mode. Apparently this is not the case, and as such I have changed the use of RELEASE to !DEBUG.
Then comes the more major change. The engine can now have a DebugHandler class attached to it, which now contains all of the debug drawing code (physics debugging, the debug overlay, etc). This marks a bit of a shift in focus away from the currently monolithic Engine class. I’m trying to move more properties and methods away from it a bit while also allowing you to hook into more of its functions without explicitly changing the class (or inheriting from it).
Additionally, the DebugHandler that is being used can be specified in the engine configuration, so you can create your own to get custom debug overlays. This is nice, as the DebugHandler’s Draw function is always called after the engine’s main draw functions, guaranteeing any drawing that occurs will appear on top of everything else (as long as you draw directly to the game window and don’t use the engine’s drawing functions).
That’s all for now!