Project

General

Profile

Actions

Bug #292

closed

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

Added by kenshin1987 about 14 years ago. Updated about 14 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 #1

Updated by Anonymous about 14 years ago

  • Due date set to 11/25/2010
  • Status changed from New to In Progress
  • Assignee set to Anonymous
  • Priority changed from Normal to Immediate
  • % Done changed from 80 to 50

Hey, thanks for the report, and for your patch.
But i'm currently re-designing the animations classes, so your patch can't be applied.
Anyway, meanwhile i'm correcting thoses classes, your solution is valid to avoid all those windows to appears, but the problem is more due to the original design...

Actions #2

Updated by Anonymous about 14 years ago

  • % Done changed from 50 to 80

Node animation refactoring almost completed, need to create two new classes, SAnimKeyFrame and SNodeAnimationKeyFrame to finish this refactoring, but code is still functionable.
VertexAnimation loading to do.

Actions #3

Updated by Anonymous about 14 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

No more problems with anims on trunk version.

Actions

Also available in: Atom PDF