Calling a dummy function makes the error not happen.
I wish I could provide a working example other than a description of "screwed up rotation". This is very strange.
I am running in Strict mode, by the way.
I wish I could provide a working example other than a description of "screwed up rotation". This is very strange.
I am running in Strict mode, by the way.
Method Rotation:TQuat() Local mult:Float Local fourWSquaredMinus1:Float = +ix+jy+kz Local fourXSquaredMinus1:Float = +ix-jy-kz Local fourYSquaredMinus1:Float = +jy-ix-kz Local fourZSquaredMinus1:Float = +kz-ix-jy Local biggestIndex=0 Local fourBiggestSquaredMinus1:Float=fourWSquaredMinus1 If fourXSquaredMinus1 > fourBiggestSquaredMinus1 fourBiggestSquaredMinus1 = fourXSquaredMinus1 biggestIndex=1 EndIf If fourYSquaredMinus1 > fourBiggestSquaredMinus1 fourBiggestSquaredMinus1 = fourYSquaredMinus1 biggestIndex=2 EndIf If fourZSquaredMinus1 > fourBiggestSquaredMinus1 fourBiggestSquaredMinus1 = fourZSquaredMinus1 biggestIndex=3 EndIf Local biggestValue:Float=Sqr(fourBiggestSquaredMinus1+1.0)*0.5 mult=0.25/biggestValue Local x#,y#,z#,w# Select BiggestIndex Case 0 w#=BiggestValue x#=(jz-ky)*mult y#=-(kx-iz)*mult z#=-(iy-jx)*mult Case 1 x#=-BiggestValue w#=-( jz - ky )*mult y#=( iy + jx )*mult z#=( kx + iz )*mult Case 2 y#=BiggestValue w#=-(kx-iz)*mult x#=-(iy+jx)*mult z#=(jz+ky)*mult Case 3 z#=-BiggestValue w#=(iy-jx)*mult x#=(kx+iz)*mult y#=-(jz+ky)*mult EndSelect KeyHit(KEY_N) Return quat(-x,y,z,w) EndMethod Function KeyHit(blah) EndFunction