aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs12
1 files changed, 9 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index b3e7d67..1e530e1 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -463,7 +463,8 @@ namespace OpenSim.Region.Framework.Scenes
463 get 463 get
464 { 464 {
465 PhysicsActor actor = m_physicsActor; 465 PhysicsActor actor = m_physicsActor;
466 if (actor != null) 466// if (actor != null)
467 if ((actor != null) && (m_parentID == 0)) // KF Do NOT update m_pos here if Av is sitting!
467 m_pos = actor.Position; 468 m_pos = actor.Position;
468 469
469 return m_parentPosition + m_pos; 470 return m_parentPosition + m_pos;
@@ -484,7 +485,8 @@ namespace OpenSim.Region.Framework.Scenes
484 } 485 }
485 } 486 }
486 487
487 m_pos = value; 488 if (m_parentID == 0) // KF Do NOT update m_pos here if Av is sitting!
489 m_pos = value;
488 m_parentPosition = Vector3.Zero; 490 m_parentPosition = Vector3.Zero;
489 } 491 }
490 } 492 }
@@ -1264,6 +1266,7 @@ namespace OpenSim.Region.Framework.Scenes
1264 m_log.Error("[AVATAR]: NonFinite Avatar position detected... Reset Position. Mantis this please. Error #9999902"); 1266 m_log.Error("[AVATAR]: NonFinite Avatar position detected... Reset Position. Mantis this please. Error #9999902");
1265 1267
1266 m_pos = m_LastFinitePos; 1268 m_pos = m_LastFinitePos;
1269
1267 if (!m_pos.IsFinite()) 1270 if (!m_pos.IsFinite())
1268 { 1271 {
1269 m_pos.X = 127f; 1272 m_pos.X = 127f;
@@ -1901,6 +1904,7 @@ namespace OpenSim.Region.Framework.Scenes
1901 { 1904 {
1902 m_avUnscriptedSitPos = Vector3.Zero; // Zero = Sit on prim center 1905 m_avUnscriptedSitPos = Vector3.Zero; // Zero = Sit on prim center
1903 autopilotTarget = part.AbsolutePosition; 1906 autopilotTarget = part.AbsolutePosition;
1907//Console.WriteLine("UsSmall autopilotTarget={0}", autopilotTarget);
1904 } 1908 }
1905 else return; // occupied small 1909 else return; // occupied small
1906 } // end large/small 1910 } // end large/small
@@ -2277,7 +2281,8 @@ namespace OpenSim.Region.Framework.Scenes
2277 m_pos += SIT_TARGET_ADJUSTMENT; 2281 m_pos += SIT_TARGET_ADJUSTMENT;
2278 m_bodyRot = sitTargetOrient; 2282 m_bodyRot = sitTargetOrient;
2279 m_parentPosition = part.AbsolutePosition; 2283 m_parentPosition = part.AbsolutePosition;
2280 part.IsOccupied = true; 2284 part.IsOccupied = true;
2285Console.WriteLine("Scripted Sit ofset {0}", m_pos);
2281 } 2286 }
2282 else 2287 else
2283 { 2288 {
@@ -3342,6 +3347,7 @@ namespace OpenSim.Region.Framework.Scenes
3342 m_callbackURI = cAgent.CallbackURI; 3347 m_callbackURI = cAgent.CallbackURI;
3343 3348
3344 m_pos = cAgent.Position; 3349 m_pos = cAgent.Position;
3350
3345 m_velocity = cAgent.Velocity; 3351 m_velocity = cAgent.Velocity;
3346 m_CameraCenter = cAgent.Center; 3352 m_CameraCenter = cAgent.Center;
3347 //m_avHeight = cAgent.Size.Z; 3353 //m_avHeight = cAgent.Size.Z;