diff options
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/ODEPrim.cs | 23 |
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 | { |