Fix for [#31166] 2.63 applyRotation() makes Dynamic and Rigid object spin very fast
authorMitchell Stokes <mogurijin@gmail.com>
Sun, 29 Apr 2012 17:23:19 +0000 (17:23 +0000)
committerMitchell Stokes <mogurijin@gmail.com>
Sun, 29 Apr 2012 17:23:19 +0000 (17:23 +0000)
This bug was caused by r45902. CcdPhysicsController::RelativeRotate() was reading 2 values past the input because it was actually being passed a float[12] when it asked for a float[9] by KX_BulletPhysicsController::RelativeRotate(). Now KX_BulletPhysicsController::RelativeRotate() passes in a float[9] like it should have done to begin with.

source/gameengine/Ketsji/KX_BulletPhysicsController.cpp

index 9940b400527ea04e13e955347662965c1a57577f..f5926818e7d478971c312e287e8e8a0efb72055c 100644 (file)
@@ -121,8 +121,8 @@ void        KX_BulletPhysicsController::RelativeTranslate(const MT_Vector3& dloc,bool l
 
 void   KX_BulletPhysicsController::RelativeRotate(const MT_Matrix3x3& drot,bool local)
 {
-       float   rotval[12];
-       drot.getValue(rotval);
+       float   rotval[9];
+       drot.getValue3x3(rotval);
        CcdPhysicsController::RelativeRotate(rotval,local);
 }