aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index d8203dd..d53e5c3 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1099,7 +1099,7 @@ namespace OpenSim.Region.Framework.Scenes
1099 SendTerseUpdateToAllClients(); 1099 SendTerseUpdateToAllClients();
1100 } 1100 }
1101 1101
1102 public void avnLocalTeleport(Vector3 newpos, Quaternion? newrot, bool Stopped) 1102 public void avnLocalTeleport(Vector3 newpos, Quaternion? newrot,Vector3? v, bool Stopit)
1103 { 1103 {
1104 CheckLandingPoint(ref newpos); 1104 CheckLandingPoint(ref newpos);
1105 AbsolutePosition = newpos; 1105 AbsolutePosition = newpos;
@@ -1109,11 +1109,16 @@ namespace OpenSim.Region.Framework.Scenes
1109 // TODO 1109 // TODO
1110 } 1110 }
1111 1111
1112 if (Stopped) 1112 if (v.HasValue)
1113 { 1113 {
1114 if (PhysicsActor != null) // speed up physics stop 1114 if (PhysicsActor != null)
1115 PhysicsActor.SetMomentum((Vector3)v);
1116 }
1117 else if (Stopit)
1118 {
1119 if (PhysicsActor != null) // speedup
1115 PhysicsActor.SetMomentum(Vector3.Zero); 1120 PhysicsActor.SetMomentum(Vector3.Zero);
1116 Velocity = Vector3.Zero; 1121 Velocity = Vector3.Zero; // zero any velocity request
1117 } 1122 }
1118 1123
1119 SendTerseUpdateToAllClients(); 1124 SendTerseUpdateToAllClients();