Project

General

Profile

Actions

Bug #292

closed

[SO3Engine]Every sample with an anim stop on an assert.

Added by kenshin1987 over 13 years ago. Updated over 13 years ago.

Status:
Resolved
Priority:
Immediate
Assignee:
-
Target version:
-
Start date:
11/24/2010
Due date:
11/25/2010
% Done:

100%

Estimated time:

Description

Index: SCOLPack/SCOLAnim.cpp
===================================================================
--- SCOLPack/SCOLAnim.cpp    (revision 1813)
+++ SCOLPack/SCOLAnim.cpp    (working copy)
@@ -4078,8 +4078,16 @@

         mTrack = NULL ;

-        animation->getNodeAnimTrack(&mTrack,(unsigned short)node) ;
+        

+        long index = (long)node;
+
+        index = index & 0xffff;
+
+        animation->getNodeAnimTrack(&mTrack,(unsigned short)index) ;
+
+
+
        if(mTrack==NULL)                {MMset(m,0,NIL);        return 0;    }

         int t = OBJfindTH(m, OBJtypebyname("SO3_ANIMTRACK"), (int)(mTrack)) ;
Index: SO3Animation/SO3AnimTrack.cpp
===================================================================
--- SO3Animation/SO3AnimTrack.cpp    (revision 1813)
+++ SO3Animation/SO3AnimTrack.cpp    (working copy)
@@ -11,7 +11,9 @@
 SAnimTrack::SAnimTrack(std::string animationTrackName, SAnim* animation, SNode* node) : SData(animationTrackName)
 {
   type = SAnimTrack::SO3_NODE_TRACK;
-  O3NodeAnimationTrack = animation->getOgreAnimationPointer()->createNodeTrack((unsigned short)node, node->GetOgreSceneNodePointer());
+  long index = (long)node;
+  index = index & 0xffff;
+  O3NodeAnimationTrack = animation->getOgreAnimationPointer()->createNodeTrack((unsigned short)index, node->GetOgreSceneNodePointer());
   strAssociatedNode = node->GetName();

     O3VertexAnimationTrack = 0;

But it seems not too safe.


Files

p.patch (1.33 KB) p.patch patch file kenshin1987, 11/24/2010 07:03 AM
Actions

Also available in: Atom PDF