Game Development Community

Help with Avatar...

by Shannon McKenzie · in Technical Issues · 09/07/2004 (8:22 am) · 3 replies

Hi,

I'm using an avatar we generated in Character Studio and the application is crashing here:

F32 TSThread::getPos()
{
return transitionData.inTransition ? transitionData.pos : pos;
}

The error is:

Unhandled exception at 0x00a25526 in torqueDemo_DEBUG.exe: 0xC0000005: Access violation reading location 0x00000024.

Our animators are following the Torque instructions precisely. We are able to bring in other stock avatars (xxx.dts) which were created in Character Studio and they are able to use all the existing torque *.dsq files just fine. We even tried exporting a player_root.dsq sequence file specifically for this avatar but still no juice. We can bring the avatar in as a static dts object just fine (textures and scale, etc. are all fine). Wondering if there's anything missing from the documentation. Any help would be appreciated.

---------------------------------------------------------------------
--- What follows is the stack trace going back from the above break:
--- "->" marks entry points
--- "..." denotes excluded code
----------------------------------------------------------------------

---
F32 TSShapeInstance::getPos(TSThread * thread)
{
-> return thread->getPos();
}
---
void Player::updateActionThread()
{
PROFILE_START(UpdateActionThread);

// Select an action animation sequence, this assumes that
// this function is called once per tick.
if (mActionAnimation.forward)
-> mActionAnimation.atEnd = mShapeInstance->getPos(mActionAnimation.thread) == 1;
...
}
---
void Player::processTick(const Move* move)
{
PROFILE_START(Player_ProcessTick);
...
if (!isGhost()) {
// Animations are advanced based on frame rate on the
// client and must be ticked on the server.
updateActionThread();
-> updateAnimationTree(true);
...
}
---
void ProcessList::advanceObjects()
{
PROFILE_START(AdvanceObjects);
...
con->getMoveList(&movePtr, &numMoves);

for (m = 0; m < numMoves && pSB->getControllingClient() == con; )
-> obj->processTick(&movePtr[m++]);

con->clearMoves(m);
...
}
---
bool ProcessList::advanceServerTime(SimTime timeDelta)
{
PROFILE_START(AdvanceServerTime);
...
// Advance all the objects
for (; mLastTick != targetTick; mLastTick += TickMs)
-> advanceObjects();
...
}
---

About the author

Recent Threads

  • Glowing Objects

  • #1
    09/07/2004 (2:04 pm)
    I "think" this should be posted in the SDK-Owners-Forums.
    #2
    09/07/2004 (3:46 pm)
    Oops, agreed.
    Will do.
    Thanks.
    #3
    09/08/2004 (12:41 pm)
    Shouldn't the code portions of the initial post (if not the entire thread) be removed?