aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
index 3671fc2..ff5b6ab 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
@@ -419,7 +419,7 @@ public sealed class BSCharacter : BSPhysObject
419 DetailLog("{0},BSCharacter.setTargetVelocity,call,vel={1}", LocalID, value); 419 DetailLog("{0},BSCharacter.setTargetVelocity,call,vel={1}", LocalID, value);
420 m_targetVelocity = value; 420 m_targetVelocity = value;
421 OMV.Vector3 targetVel = value; 421 OMV.Vector3 targetVel = value;
422 if (_setAlwaysRun) 422 if (_setAlwaysRun && !_flying)
423 targetVel *= new OMV.Vector3(BSParam.AvatarAlwaysRunFactor, BSParam.AvatarAlwaysRunFactor, 0f); 423 targetVel *= new OMV.Vector3(BSParam.AvatarAlwaysRunFactor, BSParam.AvatarAlwaysRunFactor, 0f);
424 424
425 if (m_moveActor != null) 425 if (m_moveActor != null)
@@ -481,7 +481,10 @@ public sealed class BSCharacter : BSPhysObject
481 _orientation = value; 481 _orientation = value;
482 PhysScene.TaintedObject("BSCharacter.setOrientation", delegate() 482 PhysScene.TaintedObject("BSCharacter.setOrientation", delegate()
483 { 483 {
484 ForceOrientation = _orientation; 484 // Bullet assumes we know what we are doing when forcing orientation
485 // so it lets us go against all the rules and just compensates for them later.
486 // This keeps us from flipping the capsule over which the veiwer does not understand.
487 ForceOrientation = new OMV.Quaternion(0, 0, _orientation.Z,0);
485 }); 488 });
486 } 489 }
487 } 490 }