aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs9
1 files changed, 5 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index d3490c2..af70848 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -910,11 +910,12 @@ namespace OpenSim.Region.Framework.Scenes
910 bool setrot = (flags & OSTPOBJ_SETROT) != 0; 910 bool setrot = (flags & OSTPOBJ_SETROT) != 0;
911 911
912 rotation.Normalize(); 912 rotation.Normalize();
913 bool dorot = (Math.Abs(rotation.W) < 0.999);
914
915 Quaternion currentRot = RootPart.RotationOffset; 913 Quaternion currentRot = RootPart.RotationOffset;
916 if(dorot && setrot) 914
917 rotation = rotation * Quaternion.Conjugate(currentRot); 915 if(setrot)
916 rotation = Quaternion.Conjugate(currentRot) * rotation;
917
918 bool dorot = setrot | (Math.Abs(rotation.W) < 0.999);
918 919
919 if(stop) 920 if(stop)
920 { 921 {