aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/ChOdePlugin
diff options
context:
space:
mode:
authorUbitUmarov2012-02-15 19:44:54 +0000
committerMelanie2012-02-15 22:04:17 +0100
commit3bffdddc9d0f0f62d7cf4bc6c271a865052ee119 (patch)
treeb238999aacfae73ae2c802eb6a3650a3ac6a130a /OpenSim/Region/Physics/ChOdePlugin
parent try to make crossings work better. chode no longer prevents crossings i hope (diff)
downloadopensim-SC_OLD-3bffdddc9d0f0f62d7cf4bc6c271a865052ee119.zip
opensim-SC_OLD-3bffdddc9d0f0f62d7cf4bc6c271a865052ee119.tar.gz
opensim-SC_OLD-3bffdddc9d0f0f62d7cf4bc6c271a865052ee119.tar.bz2
opensim-SC_OLD-3bffdddc9d0f0f62d7cf4bc6c271a865052ee119.tar.xz
don't freeze with a sitted avatar in a border without other sim. Still messy :(
Diffstat (limited to 'OpenSim/Region/Physics/ChOdePlugin')
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs4
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
index 95a9741..073241f 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
@@ -3125,7 +3125,7 @@ Console.WriteLine("ODEPrim JointCreateFixed !!!");
3125 d.BodySetPosition(Body, _position.X, _position.Y, _position.Z); 3125 d.BodySetPosition(Body, _position.X, _position.Y, _position.Z);
3126 d.BodySetLinearVel(Body, 0, 0, 0); 3126 d.BodySetLinearVel(Body, 0, 0, 0);
3127 3127
3128 if (Interlocked.Exchange(ref m_crossingfailures, 0) == 0) 3128 if (Interlocked.Exchange(ref m_crossingfailures, m_crossingfailures) == 0)
3129 { // tell base code only once 3129 { // tell base code only once
3130 Interlocked.Increment(ref m_crossingfailures); 3130 Interlocked.Increment(ref m_crossingfailures);
3131 base.RequestPhysicsterseUpdate(); 3131 base.RequestPhysicsterseUpdate();
@@ -3133,7 +3133,7 @@ Console.WriteLine("ODEPrim JointCreateFixed !!!");
3133 return; 3133 return;
3134 } 3134 }
3135 3135
3136 if (Interlocked.Exchange(ref m_crossingfailures, 0) > 1) 3136 if (Interlocked.Exchange(ref m_crossingfailures, 0) != 0)
3137 { 3137 {
3138 // main simulator had a crossing failure 3138 // main simulator had a crossing failure
3139 // park it inside region 3139 // park it inside region