diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 12 |
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; |
2285 | Console.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; |