Game Development Community

Tstransform.cc ?bug?

by Skylar Kelty · in Torque Game Engine · 11/19/2006 (8:49 am) · 8 replies

I get a crash in tstransform.cc at line 17
Any ideas as to what causes the crash or how to fix it?
(TGE 1.5)

This is the function:
QuatF & Quat16::getQuatF( QuatF * q ) const
{
   q->x = float( x ) / float(MAX_VAL);
   q->y = float( y ) / float(MAX_VAL);
   q->z = float( z ) / float(MAX_VAL);
   q->w = float( w ) / float(MAX_VAL);
   return *q;
}

Why is the const outside like that? I'd assume it was meant to be beacuse thats how it is in the header but im not experienced enough to understand why.

#1
11/19/2006 (8:56 am)
At first glance, I would guess that you passed a NULL into getQuatF. Also the const on the outside like that means that this function will not modify any of the internals of the Quat16 class. This allows the compiler to make better optimizations.
#2
11/19/2006 (9:02 am)
Thanks William,
So, look at the call stack and see what passed the NULL?
Ill take a look :)
#3
11/19/2006 (9:10 am)
Tsthread.cc
line 135
q2 = &mShapeInstance->mShape->groundRotations[sequence->firstGroundFrame + frame].getQuatF(&rot2);

rot2 = {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 w = -1.0737418e+008}

Any ideas?

It happens 10seconds into the scene and only happens if there are layer models in the world
#4
11/20/2006 (12:47 pm)
Looking at TSThread::getGround(), rot2 cannot be NULL. Looking at the line you are on, there are a lot of things that could be going wrong (no shape, no array of ground rotations, no animation frames, exceeding the bounds of the array).

I am completely unfamiliar with what TSThread does, but looking at TSShapeInstance.h, it looks like it has something to do with animating the bounding box, a technique that they say few models actually use. Did you add a new model? You might want to look into any non-standard things you did with that. Other than that, I'm at a loss.

Maybe somebody else knows more?
#5
11/20/2006 (12:49 pm)
Yeap, new model ill look into it, thanks William
#6
11/22/2006 (11:36 am)
Would a bad rotation of the model cause this?

i.e. the rotation is 0 instead of 180?
#7
11/24/2006 (9:29 am)
I just found the problem,its something todo with the AI not likeing the new player model
#8
11/24/2006 (9:34 am)
Fixed it, it was my fault and it was so stupid you dont even want to know, trust me :)