Revision: 20548
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20548
Author:   ben2610
Date:     2009-06-01 11:44:41 +0200 (Mon, 01 Jun 2009)

Log Message:
-----------
BGE bug fix: dynamically added sensor objects didn't have their physic shape 
synchronized with movement.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
    trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp       
2009-06-01 09:44:13 UTC (rev 20547)
+++ trunk/blender/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp       
2009-06-01 09:44:41 UTC (rev 20548)
@@ -92,7 +92,13 @@
        gameobj->SetPhysicsController(this,gameobj->IsDynamic());
        CcdPhysicsController::setNewClientInfo(gameobj->getClientInfo());
 
-
+       if (m_bSensor)
+       {
+               // use a different callback function for sensor object, 
+               // bullet will not synchronize, we must do it explicitely
+               SG_Callbacks& callbacks = 
gameobj->GetSGNode()->GetCallBackFunctions();
+               callbacks.m_updatefunc = 
KX_GameObject::SynchronizeTransformFunc;
+       } 
 }
 
 MT_Scalar KX_BulletPhysicsController::GetRadius()

Modified: trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp 
2009-06-01 09:44:13 UTC (rev 20547)
+++ trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp 
2009-06-01 09:44:41 UTC (rev 20548)
@@ -1115,15 +1115,8 @@
                shapeInfo->Release();
 
        gameobj->SetPhysicsController(physicscontroller,isbulletdyna);
-       if (isbulletsensor)
-       {
-               // use a different callback function for sensor object, 
-               // bullet will not synchronize, we must do it explicitely
-               SG_Callbacks& callbacks = 
gameobj->GetSGNode()->GetCallBackFunctions();
-               callbacks.m_updatefunc = 
KX_GameObject::SynchronizeTransformFunc;
-       } 
        // don't add automatically sensor object, they are added when a 
collision sensor is registered
-       else if (objprop->m_in_active_layer)
+       if (!isbulletsensor && objprop->m_in_active_layer)
        {
                env->addCcdPhysicsController( physicscontroller);
        }


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to