aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-02-17 10:41:08 +0000
committerTeravus Ovares2008-02-17 10:41:08 +0000
commit19e0ada93af347cff93a3950f66abe245399f8b2 (patch)
tree7578573f583e3037e19fc2db471209ea172f0b1c /OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
parentThank you very much, ChrisDown for a patch to (diff)
downloadopensim-SC_OLD-19e0ada93af347cff93a3950f66abe245399f8b2.zip
opensim-SC_OLD-19e0ada93af347cff93a3950f66abe245399f8b2.tar.gz
opensim-SC_OLD-19e0ada93af347cff93a3950f66abe245399f8b2.tar.bz2
opensim-SC_OLD-19e0ada93af347cff93a3950f66abe245399f8b2.tar.xz
* Located and destroyed the weird velocity and rotation transfers. It turned out to be that the Static PhysicsVector.Zero was transferring velocities between all non fixed objects. Not so static after all :(. Finding it was cruel and unusual punishment from the CLR.
* Therefore, when you run through a pile of prim you won't see things rotate when they're not supposed to anymore. * Avatars don't float off either.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODECharacter.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs10
1 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 6b8d0e2..0f1446c 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -317,6 +317,11 @@ namespace OpenSim.Region.Physics.OdePlugin
317 m_pidControllerActive = status; 317 m_pidControllerActive = status;
318 } 318 }
319 319
320 public override bool Stopped
321 {
322 get { return _zeroFlag; }
323 }
324
320 /// <summary> 325 /// <summary>
321 /// This 'puts' an avatar somewhere in the physics space. 326 /// This 'puts' an avatar somewhere in the physics space.
322 /// Not really a good choice unless you 'know' it's a good 327 /// Not really a good choice unless you 'know' it's a good
@@ -509,8 +514,9 @@ namespace OpenSim.Region.Physics.OdePlugin
509 public override PhysicsVector Velocity 514 public override PhysicsVector Velocity
510 { 515 {
511 get { 516 get {
517 // There's a problem with PhysicsVector.Zero! Don't Use it Here!
512 if (_zeroFlag) 518 if (_zeroFlag)
513 return PhysicsVector.Zero; 519 return new PhysicsVector(0f, 0f, 0f);
514 m_lastUpdateSent = false; 520 m_lastUpdateSent = false;
515 return _velocity; 521 return _velocity;
516 } 522 }
@@ -756,7 +762,7 @@ namespace OpenSim.Region.Physics.OdePlugin
756 if (!m_lastUpdateSent) 762 if (!m_lastUpdateSent)
757 { 763 {
758 m_lastUpdateSent = true; 764 m_lastUpdateSent = true;
759 base.RequestPhysicsterseUpdate(); 765 //base.RequestPhysicsterseUpdate();
760 766
761 } 767 }
762 } 768 }