diff options
author | UbitUmarov | 2017-04-15 02:48:58 +0100 |
---|---|---|
committer | UbitUmarov | 2017-04-15 02:48:58 +0100 |
commit | 156ef0bbe37ae97c2ec75ddbb2662edc2156dbda (patch) | |
tree | ae3223cff6e86fefd34790c03b683449677100a4 /OpenSim | |
parent | still issues with volume detectors and sleeping bodies (diff) | |
download | opensim-SC-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.zip opensim-SC-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.tar.gz opensim-SC-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.tar.bz2 opensim-SC-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.tar.xz |
still issues with volume detectors and sleeping bodies
Diffstat (limited to 'OpenSim')
-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) |