[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20548] trunk/blender/source/gameengine/ Ketsji: BGE bug fix: dynamically added sensor objects didn' t have their physic shape synchronized with movement.
Benoit Bolsee
benoit.bolsee at online.be
Mon Jun 1 11:44:41 CEST 2009
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);
}
More information about the Bf-blender-cvs
mailing list