From f9b5f23383675abe0ae1c2ed83dd5ccce738d940 Mon Sep 17 00:00:00 2001 From: meta7 Date: Sat, 7 Aug 2010 22:19:26 -0700 Subject: Reverted: * Fix the unscripted sit rotation being incorrect .. will commit a proper fix now. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index cca296e..87cf135 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2053,13 +2053,9 @@ namespace OpenSim.Region.Framework.Scenes //Console.WriteLine("Camera Eye ={0}", cameraEyeOffset); //NOTE: SendSitResponse should be relative to the GROUP *NOT* THE PRIM if we're sitting on a child - Quaternion roffset = Quaternion.Identity; - if (SitTargetisSet) - { - roffset = part.RotationOffset; - } - ControllingClient.SendSitResponse(part.ParentGroup.UUID, ((offset * roffset) + part.OffsetPosition), sitOrientation / part.RotationOffset, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook); + ControllingClient.SendSitResponse(part.ParentGroup.UUID, ((offset * part.RotationOffset) + part.OffsetPosition), sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook); + m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target // This calls HandleAgentSit twice, once from here, and the client calls // HandleAgentSit itself after it gets to the location // It doesn't get to the location until we've moved them there though @@ -2444,7 +2440,7 @@ namespace OpenSim.Region.Framework.Scenes } m_linkedPrim = part.UUID; - m_offsetRotation = m_offsetRotation / part.RotationOffset; + Velocity = Vector3.Zero; RemoveFromPhysicalScene(); Animator.TrySetMovementAnimation(sitAnimation); -- cgit v1.1 From a1f2be5e69ef04a8520229e161bdd0527badb844 Mon Sep 17 00:00:00 2001 From: meta7 Date: Sat, 7 Aug 2010 22:25:37 -0700 Subject: The real fix for unscripted sit positions. This one doesn't fuck everything else up. Promise. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 87cf135..fc8e0d7 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2440,7 +2440,10 @@ namespace OpenSim.Region.Framework.Scenes } m_linkedPrim = part.UUID; - + if (part.GetAvatarOnSitTarget() != UUID) + { + m_offsetRotation = m_offsetRotation / part.RotationOffset; + } Velocity = Vector3.Zero; RemoveFromPhysicalScene(); Animator.TrySetMovementAnimation(sitAnimation); -- cgit v1.1