diff options
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde')
-rw-r--r-- | OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs | 8 | ||||
-rw-r--r-- | 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 | |||
1205 | } | 1205 | } |
1206 | } | 1206 | } |
1207 | 1207 | ||
1208 | internal void clearSleeperCollisions() | ||
1209 | { | ||
1210 | if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 ) | ||
1211 | CollisionVDTCEventsThisFrame.Clear(); | ||
1212 | } | ||
1213 | |||
1208 | public void SendCollisions(int timestep) | 1214 | public void SendCollisions(int timestep) |
1209 | { | 1215 | { |
1210 | if (m_cureventsubscription < 50000) | 1216 | if (m_cureventsubscription < 50000) |
1211 | m_cureventsubscription += timestep; | 1217 | m_cureventsubscription += timestep; |
1212 | 1218 | ||
1213 | if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 && (Body == IntPtr.Zero || d.BodyIsEnabled(Body))) | ||
1214 | CollisionVDTCEventsThisFrame.Clear(); | ||
1215 | 1219 | ||
1216 | if (m_cureventsubscription < m_eventsubscription) | 1220 | if (m_cureventsubscription < m_eventsubscription) |
1217 | return; | 1221 | 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 | |||
1172 | { | 1172 | { |
1173 | aprim.CollisionScore = 0; | 1173 | aprim.CollisionScore = 0; |
1174 | aprim.IsColliding = false; | 1174 | aprim.IsColliding = false; |
1175 | if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body)) | ||
1176 | aprim.clearSleeperCollisions(); | ||
1175 | } | 1177 | } |
1176 | } | 1178 | } |
1177 | lock (_activegroups) | 1179 | lock (_activegroups) |