aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authormeta72010-08-07 17:32:36 -0700
committermeta72010-08-07 17:32:36 -0700
commitacb1590cf063769802f35c99dd5fb6398172296f (patch)
treea69bbbc784474e5914ca61902f77f8794bf0f8fe /OpenSim/Region
parentFix a rather nasty issue where the Backup() process causes objects and avatar... (diff)
downloadopensim-SC_OLD-acb1590cf063769802f35c99dd5fb6398172296f.zip
opensim-SC_OLD-acb1590cf063769802f35c99dd5fb6398172296f.tar.gz
opensim-SC_OLD-acb1590cf063769802f35c99dd5fb6398172296f.tar.bz2
opensim-SC_OLD-acb1590cf063769802f35c99dd5fb6398172296f.tar.xz
Fix the unscripted sit rotation being incorrect (relative to the prim). Note that unscripted sit offset is still really poor but this is not something i'm prepared to spend time on fixing.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs10
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 56e7e93..5191236 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2053,9 +2053,13 @@ 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 ControllingClient.SendSitResponse(part.ParentGroup.UUID, ((offset * part.RotationOffset) + part.OffsetPosition), sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook); 2056 Quaternion roffset = Quaternion.Identity;
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);
2057 2062
2058 m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target
2059 // This calls HandleAgentSit twice, once from here, and the client calls 2063 // This calls HandleAgentSit twice, once from here, and the client calls
2060 // HandleAgentSit itself after it gets to the location 2064 // HandleAgentSit itself after it gets to the location
2061 // It doesn't get to the location until we've moved them there though 2065 // It doesn't get to the location until we've moved them there though
@@ -2441,7 +2445,7 @@ Console.WriteLine("Scripted Sit ofset {0}", m_pos);
2441 } 2445 }
2442 2446
2443 m_linkedPrim = part.UUID; 2447 m_linkedPrim = part.UUID;
2444 2448 m_offsetRotation = m_offsetRotation / part.RotationOffset;
2445 Velocity = Vector3.Zero; 2449 Velocity = Vector3.Zero;
2446 RemoveFromPhysicalScene(); 2450 RemoveFromPhysicalScene();
2447 Animator.TrySetMovementAnimation(sitAnimation); 2451 Animator.TrySetMovementAnimation(sitAnimation);