From 156ef0bbe37ae97c2ec75ddbb2662edc2156dbda Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 15 Apr 2017 02:48:58 +0100 Subject: still issues with volume detectors and sleeping bodies --- OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs | 8 ++++++-- OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs index f8ee6c0..0d8eeec 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs @@ -1205,13 +1205,17 @@ namespace OpenSim.Region.PhysicsModule.ubOde } } + internal void clearSleeperCollisions() + { + if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 ) + CollisionVDTCEventsThisFrame.Clear(); + } + public void SendCollisions(int timestep) { if (m_cureventsubscription < 50000) m_cureventsubscription += timestep; - if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 && (Body == IntPtr.Zero || d.BodyIsEnabled(Body))) - CollisionVDTCEventsThisFrame.Clear(); if (m_cureventsubscription < m_eventsubscription) return; diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs index 883038f..a4c3f92 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs @@ -1172,6 +1172,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde { aprim.CollisionScore = 0; aprim.IsColliding = false; + if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body)) + aprim.clearSleeperCollisions(); } } lock (_activegroups) -- cgit v1.1