aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs14
1 files changed, 9 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 608efc3..76d307f 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -546,11 +546,12 @@ namespace OpenSim.Region.Environment.Scenes
546 if (m_parentID != 0) 546 if (m_parentID != 0)
547 { 547 {
548 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); 548 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
549 LLVector3 pos = new LLVector3();
550 if (part != null) 549 if (part != null)
551 pos = part.AbsolutePosition + m_requestedSitOffset + 550 AbsolutePosition = part.AbsolutePosition + m_requestedSitOffset +
552 new LLVector3(0.0f, 0.0f, 2.0f*m_sitAvatarHeight); 551 new LLVector3(0.0f, 0.0f, 2.0f*m_sitAvatarHeight);
553 MakeRootAgent(pos, false); 552
553 AddToPhysicalScene();
554
554 m_parentID = 0; 555 m_parentID = 0;
555 SendFullUpdateToAllClients(); 556 SendFullUpdateToAllClients();
556 } 557 }
@@ -623,7 +624,10 @@ namespace OpenSim.Region.Environment.Scenes
623 AbsolutePosition = m_requestedSitOffset + 624 AbsolutePosition = m_requestedSitOffset +
624 new LLVector3(m_physicsActor.Size.X/2.7f, 0f, m_physicsActor.Size.Z/1.45f); 625 new LLVector3(m_physicsActor.Size.X/2.7f, 0f, m_physicsActor.Size.Z/1.45f);
625 m_parentID = m_requestedSitTargetID; 626 m_parentID = m_requestedSitTargetID;
626 MakeChildAgent(); 627
628 Velocity = new LLVector3(0, 0, 0);
629 RemoveFromPhysicalScene();
630
627 SendAnimPack(Animations.AnimsLLUUID["SIT"], 1); 631 SendAnimPack(Animations.AnimsLLUUID["SIT"], 1);
628 SendFullUpdateToAllClients(); 632 SendFullUpdateToAllClients();
629 } 633 }