diff options
author | Teravus Ovares | 2008-02-17 10:41:08 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-02-17 10:41:08 +0000 |
commit | 19e0ada93af347cff93a3950f66abe245399f8b2 (patch) | |
tree | 7578573f583e3037e19fc2db471209ea172f0b1c /OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |
parent | Thank you very much, ChrisDown for a patch to (diff) | |
download | opensim-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.cs | 10 |
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 | } |