diff options
author | Vegaslon | 2013-05-09 10:25:44 -0400 |
---|---|---|
committer | Robert Adams | 2013-05-14 18:45:17 -0700 |
commit | 00d125dada9fd25588e010d71dc055e13c402003 (patch) | |
tree | 298175a456f376bfc2dcd0034dad2d1f9ad90487 | |
parent | BulletSim: add a lock to try and catch a native shape creation/destruction (diff) | |
download | opensim-SC_OLD-00d125dada9fd25588e010d71dc055e13c402003.zip opensim-SC_OLD-00d125dada9fd25588e010d71dc055e13c402003.tar.gz opensim-SC_OLD-00d125dada9fd25588e010d71dc055e13c402003.tar.bz2 opensim-SC_OLD-00d125dada9fd25588e010d71dc055e13c402003.tar.xz |
BulletSim: Fix for mantis 6487, also minor adjustment to fix flying while you are running.
Signed-off-by: Robert Adams <Robert.Adams@intel.com>
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 7 |
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 | } |