diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 9 |
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 | { |