Wednesday, January 16, 2013

irrlicht-1.8



My friend sent me this link to an excellent article:
the-exceptional-beauty-of-doom-3s-source-code

I was very thankful he did.  It inspired an all night study session of id's very high level game structuring and code styles.  That and my recent reading of Scott Meyers inspired me to do some major refactoring on kyuplex.  I've been unhappy with my class hierarchy for a while.  In one of my previous posts here, I mentioned how I was unable to refactor my classes to all derive from irr::scene::ISceneNodes.  Well now is the time for another crack at it.
I began by reattempting to upgrade the engine to version 1.8, which was recently released.  My first attempt at this had also failed.  Ran into weird problems with CShadowVolume and then linker errors too.  This time I very carefully stepped through some split diffs in vim and updated my kxCubeNode class with the added functionality of shadows that came with the engine update.  Then I tracked through my mess of includes and arrived at an error I had never seen before:

Run-Time Check Failure #0
The value of ESP was not properly saved across a function call.
This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.

But a quick google reminded me that I had not updated my irrlicht.dll's !  Fixed : )

Kyuplex is now running the latest version of irrlicht.

No comments:

Post a Comment