diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index cca296e..fc8e0d7 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2053,13 +2053,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2053 | //Console.WriteLine("Camera Eye ={0}", cameraEyeOffset); | 2053 | //Console.WriteLine("Camera Eye ={0}", cameraEyeOffset); |
2054 | 2054 | ||
2055 | //NOTE: SendSitResponse should be relative to the GROUP *NOT* THE PRIM if we're sitting on a child | 2055 | //NOTE: SendSitResponse should be relative to the GROUP *NOT* THE PRIM if we're sitting on a child |
2056 | Quaternion roffset = Quaternion.Identity; | 2056 | ControllingClient.SendSitResponse(part.ParentGroup.UUID, ((offset * part.RotationOffset) + part.OffsetPosition), sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook); |
2057 | if (SitTargetisSet) | ||
2058 | { | ||
2059 | roffset = part.RotationOffset; | ||
2060 | } | ||
2061 | ControllingClient.SendSitResponse(part.ParentGroup.UUID, ((offset * roffset) + part.OffsetPosition), sitOrientation / part.RotationOffset, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook); | ||
2062 | 2057 | ||
2058 | m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target | ||
2063 | // This calls HandleAgentSit twice, once from here, and the client calls | 2059 | // This calls HandleAgentSit twice, once from here, and the client calls |
2064 | // HandleAgentSit itself after it gets to the location | 2060 | // HandleAgentSit itself after it gets to the location |
2065 | // It doesn't get to the location until we've moved them there though | 2061 | // It doesn't get to the location until we've moved them there though |
@@ -2444,7 +2440,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
2444 | } | 2440 | } |
2445 | 2441 | ||
2446 | m_linkedPrim = part.UUID; | 2442 | m_linkedPrim = part.UUID; |
2447 | m_offsetRotation = m_offsetRotation / part.RotationOffset; | 2443 | if (part.GetAvatarOnSitTarget() != UUID) |
2444 | { | ||
2445 | m_offsetRotation = m_offsetRotation / part.RotationOffset; | ||
2446 | } | ||
2448 | Velocity = Vector3.Zero; | 2447 | Velocity = Vector3.Zero; |
2449 | RemoveFromPhysicalScene(); | 2448 | RemoveFromPhysicalScene(); |
2450 | Animator.TrySetMovementAnimation(sitAnimation); | 2449 | Animator.TrySetMovementAnimation(sitAnimation); |