aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs23
1 files changed, 17 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs
index 5d8f03c..39b89d3 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs
@@ -2487,14 +2487,25 @@ namespace OpenSim.Region.Physics.OdePlugin
2487 if (!childPrim && Body != IntPtr.Zero && !m_disabled) 2487 if (!childPrim && Body != IntPtr.Zero && !m_disabled)
2488 d.BodyEnable(Body); 2488 d.BodyEnable(Body);
2489 2489
2490 m_collisionCategories = CollisionCategories.Geom; 2490 if (m_isphantom && !m_isVolumeDetect)
2491 if (m_isphysical) 2491 {
2492 m_collisionCategories |= CollisionCategories.Body; 2492 m_collisionCategories = 0;
2493 if(m_isphysical)
2494 m_collisionFlags = CollisionCategories.Land;
2495 else
2496 m_collisionFlags = 0;
2497 }
2498 else
2499 {
2500 m_collisionCategories = CollisionCategories.Geom;
2501 if (m_isphysical)
2502 m_collisionCategories |= CollisionCategories.Body;
2493 2503
2494 m_collisionFlags = m_default_collisionFlags | CollisionCategories.Land; 2504 m_collisionFlags = m_default_collisionFlags | CollisionCategories.Land;
2495 2505
2496 if (m_collidesWater) 2506 if (m_collidesWater)
2497 m_collisionFlags |= CollisionCategories.Water; 2507 m_collisionFlags |= CollisionCategories.Water;
2508 }
2498 2509
2499 if (!childPrim) 2510 if (!childPrim)
2500 { 2511 {