If I'm not mistaken, this is all based on the Dark Basic engine. That engine raises errors that can be interecepted by the debugger. Why would I want to burden a system that is supposed to be as quick running as possible with extra function calls all the time? That is why try catch blocks exist. How can you write a fast running game with all of those extra calls in there? An error condition is (or atleast should be) the exception and not the rule. Therefore, why squander clock ticks needlessly to intercept the odd error case that occurs infrequently.
All of this is of course beside the point. In order to debug this problem I've been forced to resort to code that looks like this:
oDB3D.HideLimb(w.InternalId, 1)
Debug.Print("Hide Limb " + w.InternalId.ToString + ", 1")
I've placed similar Debug.Print's after
every call to the DGDK.Net engine that creates a DBPro equivalent command in the Debugger's output window with evaluated variable values. I can then copy all of this into DBPro, compile and find the error. Unfortunately, the program runs errorlessly in DBPro and fails silently in DGDK.Net. All I get is a black window. See the attached for a comparison. Does DGDK.Net have issues with cloning objects? That's all I can think of...
Intel Pentium 4, 3.4GHz, 1280MB RAM, NVidia Quadro FX3000/256MB, 240GB HD, XP Pro