diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 6ef0c4e6bc..e9ff07a87a 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1111,15 +1111,15 @@ namespace OpenSim.Region.Framework.Scenes if (v.HasValue) { - if (PhysicsActor != null) // speedup + if (PhysicsActor != null) PhysicsActor.SetMomentum((Vector3)v); - Velocity = (Vector3)v; + m_velocity = (Vector3)v; } else if (Stopit) { - if (PhysicsActor != null) // speedup + if (PhysicsActor != null) PhysicsActor.SetMomentum(Vector3.Zero); - Velocity = Vector3.Zero; // zero any velocity request + m_velocity = Vector3.Zero; } SendTerseUpdateToAllClients(); diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs index 8b5b989d8d..f22b0cc6d0 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs @@ -1210,6 +1210,7 @@ namespace OpenSim.Region.Physics.OdePlugin if (Body != IntPtr.Zero) d.BodySetPosition(Body, newPos.X, newPos.Y, newPos.Z); _position = newPos; + m_pidControllerActive = true; } private void changeOrientation(Quaternion newOri)