From b194059b7f41fded2451590f3b74eb602c5adae1 Mon Sep 17 00:00:00 2001 From: Benoit Bolsee Date: Sat, 15 Mar 2008 20:52:03 +0000 Subject: BGE fix: ghost objects created with AddObject actuator will retain their ghost property --- source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp') 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) { /* -- cgit v1.2.3