diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs index ab9cc27..6d5589f 100644 --- a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs | |||
@@ -89,6 +89,7 @@ public sealed class BSCharacter : BSPhysObject | |||
89 | _buoyancy = ComputeBuoyancyFromFlying(isFlying); | 89 | _buoyancy = ComputeBuoyancyFromFlying(isFlying); |
90 | Friction = BSParam.AvatarStandingFriction; | 90 | Friction = BSParam.AvatarStandingFriction; |
91 | Density = BSParam.AvatarDensity; | 91 | Density = BSParam.AvatarDensity; |
92 | _isPhysical = true; | ||
92 | 93 | ||
93 | // Old versions of ScenePresence passed only the height. If width and/or depth are zero, | 94 | // Old versions of ScenePresence passed only the height. If width and/or depth are zero, |
94 | // replace with the default values. | 95 | // replace with the default values. |
@@ -457,7 +458,7 @@ public sealed class BSCharacter : BSPhysObject | |||
457 | get { return RawVelocity; } | 458 | get { return RawVelocity; } |
458 | set { | 459 | set { |
459 | RawVelocity = value; | 460 | RawVelocity = value; |
460 | OMV.Vector3 vel = RawVelocity; | 461 | OMV.Vector3 vel = RawVelocity; |
461 | 462 | ||
462 | DetailLog("{0}: set Velocity = {1}", LocalID, value); | 463 | DetailLog("{0}: set Velocity = {1}", LocalID, value); |
463 | 464 | ||
@@ -662,10 +663,10 @@ public sealed class BSCharacter : BSPhysObject | |||
662 | addForce *= Mass * BSParam.AvatarAddForcePushFactor; | 663 | addForce *= Mass * BSParam.AvatarAddForcePushFactor; |
663 | 664 | ||
664 | DetailLog("{0},BSCharacter.addForce,call,force={1},addForce={2},push={3},mass={4}", LocalID, force, addForce, pushforce, Mass); | 665 | DetailLog("{0},BSCharacter.addForce,call,force={1},addForce={2},push={3},mass={4}", LocalID, force, addForce, pushforce, Mass); |
665 | AddForce(addForce, pushforce, false); | 666 | AddForce(false, addForce); |
666 | } | 667 | } |
667 | 668 | ||
668 | public override void AddForce(OMV.Vector3 force, bool pushforce, bool inTaintTime) { | 669 | public override void AddForce(bool inTaintTime, OMV.Vector3 force) { |
669 | if (force.IsFinite()) | 670 | if (force.IsFinite()) |
670 | { | 671 | { |
671 | OMV.Vector3 addForce = Util.ClampV(force, BSParam.MaxAddForceMagnitude); | 672 | OMV.Vector3 addForce = Util.ClampV(force, BSParam.MaxAddForceMagnitude); |
@@ -683,6 +684,10 @@ public sealed class BSCharacter : BSPhysObject | |||
683 | PhysScene.PE.ApplyCentralForce(PhysBody, addForce); | 684 | PhysScene.PE.ApplyCentralForce(PhysBody, addForce); |
684 | PhysScene.PE.Activate(PhysBody, true); | 685 | PhysScene.PE.Activate(PhysBody, true); |
685 | } | 686 | } |
687 | if (m_moveActor != null) | ||
688 | { | ||
689 | m_moveActor.SuppressStationayCheckUntilLowVelocity(); | ||
690 | } | ||
686 | }); | 691 | }); |
687 | } | 692 | } |
688 | else | 693 | else |
@@ -692,7 +697,7 @@ public sealed class BSCharacter : BSPhysObject | |||
692 | } | 697 | } |
693 | } | 698 | } |
694 | 699 | ||
695 | public override void AddAngularForce(OMV.Vector3 force, bool pushforce, bool inTaintTime) { | 700 | public override void AddAngularForce(bool inTaintTime, OMV.Vector3 force) { |
696 | } | 701 | } |
697 | public override void SetMomentum(OMV.Vector3 momentum) { | 702 | public override void SetMomentum(OMV.Vector3 momentum) { |
698 | } | 703 | } |