aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
diff options
context:
space:
mode:
authorUbitUmarov2017-04-15 01:21:47 +0100
committerUbitUmarov2017-04-15 01:21:47 +0100
commit4f8f04d9499f040631a4056dfd11aa2ff95761dd (patch)
tree0df69bb6987d3c53e7542c243d57884144413e14 /OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
parentincrease the updates priority of linkset where avatar is sitting (diff)
downloadopensim-SC-4f8f04d9499f040631a4056dfd11aa2ff95761dd.zip
opensim-SC-4f8f04d9499f040631a4056dfd11aa2ff95761dd.tar.gz
opensim-SC-4f8f04d9499f040631a4056dfd11aa2ff95761dd.tar.bz2
opensim-SC-4f8f04d9499f040631a4056dfd11aa2ff95761dd.tar.xz
still issues with volume detectors and sleeping bodies
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs14
1 files changed, 8 insertions, 6 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
index 98bea09..f8ee6c0 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
@@ -1210,14 +1210,17 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1210 if (m_cureventsubscription < 50000) 1210 if (m_cureventsubscription < 50000)
1211 m_cureventsubscription += timestep; 1211 m_cureventsubscription += timestep;
1212 1212
1213 if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 && (Body == IntPtr.Zero || d.BodyIsEnabled(Body)))
1214 CollisionVDTCEventsThisFrame.Clear();
1215
1216 if (m_cureventsubscription < m_eventsubscription)
1217 return;
1218
1213 if (CollisionEventsThisFrame == null) 1219 if (CollisionEventsThisFrame == null)
1214 return; 1220 return;
1215 1221
1216 int ncolisions = CollisionEventsThisFrame.m_objCollisionList.Count; 1222 int ncolisions = CollisionEventsThisFrame.m_objCollisionList.Count;
1217 1223
1218 if (m_cureventsubscription < m_eventsubscription)
1219 return;
1220
1221 if (!SentEmptyCollisionsEvent || ncolisions > 0) 1224 if (!SentEmptyCollisionsEvent || ncolisions > 0)
1222 { 1225 {
1223 base.SendCollisionUpdate(CollisionEventsThisFrame); 1226 base.SendCollisionUpdate(CollisionEventsThisFrame);
@@ -1234,8 +1237,6 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1234 CollisionEventsThisFrame.Clear(); 1237 CollisionEventsThisFrame.Clear();
1235 } 1238 }
1236 } 1239 }
1237 if(CollisionVDTCEventsThisFrame != null && (Body == IntPtr.Zero || d.BodyIsEnabled(Body)))
1238 CollisionVDTCEventsThisFrame.Clear();
1239 } 1240 }
1240 1241
1241 public override bool SubscribedEvents() 1242 public override bool SubscribedEvents()
@@ -2938,7 +2939,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
2938 { 2939 {
2939 d.GeomSetPosition(prim_geom, newPos.X, newPos.Y, newPos.Z); 2940 d.GeomSetPosition(prim_geom, newPos.X, newPos.Y, newPos.Z);
2940 _position = newPos; 2941 _position = newPos;
2941 m_bodyMoveCoolDown = -5; 2942 if (Body != IntPtr.Zero && !m_disabled)
2943 m_bodyMoveCoolDown = -5;
2942 } 2944 }
2943 if (Body != IntPtr.Zero && !d.BodyIsEnabled(Body)) 2945 if (Body != IntPtr.Zero && !d.BodyIsEnabled(Body))
2944 { 2946 {