diff options
author | Teravus Ovares | 2008-05-06 00:23:19 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-06 00:23:19 +0000 |
commit | 240e8646dac402068930065c1fb792e647f1ce4b (patch) | |
tree | 10064eea011ac7155c947b11a64bcc650feb6dbb /OpenSim/Region/Physics/OdePlugin | |
parent | * Refactor: Break out permissions code into a separate region PermissionsModule (diff) | |
download | opensim-SC_OLD-240e8646dac402068930065c1fb792e647f1ce4b.zip opensim-SC_OLD-240e8646dac402068930065c1fb792e647f1ce4b.tar.gz opensim-SC_OLD-240e8646dac402068930065c1fb792e647f1ce4b.tar.bz2 opensim-SC_OLD-240e8646dac402068930065c1fb792e647f1ce4b.tar.xz |
* If you llApplyImpulse on an attachment, it applies impulse on the avatar, not the attachment.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 21 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 2 |
2 files changed, 17 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 3d0855f..17e041d 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -610,13 +610,24 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
610 | /// The PID controller takes this target velocity and tries to make it a reality | 610 | /// The PID controller takes this target velocity and tries to make it a reality |
611 | /// </summary> | 611 | /// </summary> |
612 | /// <param name="force"></param> | 612 | /// <param name="force"></param> |
613 | public override void AddForce(PhysicsVector force) | 613 | public override void AddForce(PhysicsVector force, bool pushforce) |
614 | { | 614 | { |
615 | m_pidControllerActive = true; | 615 | if (pushforce) |
616 | _target_velocity.X += force.X; | 616 | { |
617 | _target_velocity.Y += force.Y; | 617 | m_pidControllerActive = false; |
618 | _target_velocity.Z += force.Z; | 618 | doForce(force); |
619 | 619 | ||
620 | //_target_velocity.X += force.X; | ||
621 | // _target_velocity.Y += force.Y; | ||
622 | //_target_velocity.Z += force.Z; | ||
623 | } | ||
624 | else | ||
625 | { | ||
626 | m_pidControllerActive = true; | ||
627 | _target_velocity.X += force.X; | ||
628 | _target_velocity.Y += force.Y; | ||
629 | _target_velocity.Z += force.Z; | ||
630 | } | ||
620 | //m_lastUpdateSent = false; | 631 | //m_lastUpdateSent = false; |
621 | } | 632 | } |
622 | 633 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 4e1696d..cf9dc5d 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -1884,7 +1884,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1884 | _acceleration = accel; | 1884 | _acceleration = accel; |
1885 | } | 1885 | } |
1886 | 1886 | ||
1887 | public override void AddForce(PhysicsVector force) | 1887 | public override void AddForce(PhysicsVector force, bool pushforce) |
1888 | { | 1888 | { |
1889 | m_forcelist.Add(force); | 1889 | m_forcelist.Add(force); |
1890 | m_taintforce = true; | 1890 | m_taintforce = true; |