I've seen "-1.#INF" appearing as the results of a calculation (from division by zero with floating point values) indicating infinity (even though division by zero has no solution (if not 0/0, otherwise all real numbers)). This is the first time I've ever seen "-1.#QNAN0000000000" appearing as the result of a calculation and it causing my game to crash from an infinite loop. This line is triggering it, as per the debugger's line-by-line output (edited to shorten it but its otherwise the same thing):
XSpeed is a double, PlatformXSpeed is also a double, LoopCount is an int (it's used to count loops - integers are a must for array references) but PlatformNodeDelayActive is an int used as a flag (it's either 0 or 1) and needs to be typecasted. I'm mainly after wanting to know what the "QNAN" means.Code:XSpeed += (PlatformXSpeed[LoopCount]/960.0*(double)PlatformDelayed[LoopCount]);
Edit: Just so you know what the problem was, I referenced the wrong variable (a copy/paste mistake). The variable, LoopCount, was supposed to reference a different loop counting variable (I have 3 of them in all, for nesting loops) and I forgot to change this. As a consequence, it was referencing the array at something well into the thousands instead of being less than 1000, causing a reference to data outside the array's bounds. Where the QNAN stuff comes in, I'll have to wait for responses.