diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2008-03-15 23:52:03 +0300 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2008-03-15 23:52:03 +0300 |
commit | b194059b7f41fded2451590f3b74eb602c5adae1 (patch) | |
tree | e23508599c38c041b9b0321792e4c3f188b60d2c /source/gameengine/Ketsji | |
parent | a5d31fc28e7737b9e6ef3d56986cb2e2f0493047 (diff) |
BGE fix: ghost objects created with AddObject actuator will retain their ghost property
Diffstat (limited to 'source/gameengine/Ketsji')
-rw-r--r-- | source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp b/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp index 465a021cd43..ebbca137c5a 100644 --- a/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp +++ b/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp @@ -888,6 +888,10 @@ void KX_ConvertBulletObject( class KX_GameObject* gameobj, { ci.m_collisionFlags |= btCollisionObject::CF_STATIC_OBJECT; } + if (objprop->m_ghost) + { + ci.m_collisionFlags |= btCollisionObject::CF_NO_CONTACT_RESPONSE; + } ci.m_MotionState = motionstate; ci.m_gravity = btVector3(0,0,0); @@ -1141,10 +1145,11 @@ void KX_ConvertBulletObject( class KX_GameObject* gameobj, if (objprop->m_disableSleeping) rbody->setActivationState(DISABLE_DEACTIVATION); - if (objprop->m_ghost) - { - rbody->setCollisionFlags(rbody->getCollisionFlags() | btCollisionObject::CF_NO_CONTACT_RESPONSE); - } + //Now done directly in ci.m_collisionFlags so that it propagates to replica + //if (objprop->m_ghost) + //{ + // rbody->setCollisionFlags(rbody->getCollisionFlags() | btCollisionObject::CF_NO_CONTACT_RESPONSE); + //} if (objprop->m_dyna && !objprop->m_angular_rigidbody) { /* |