aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorUbitUmarov2017-04-06 12:56:00 +0100
committerUbitUmarov2017-04-06 12:56:00 +0100
commit1848b1fdb143462e6d0db47142e5f50bd8a9632c (patch)
tree230278ff92239f0e603abfd19b625fc5e92d41dc /OpenSim/Region
parentadd missing invalidation of osGetLinkNumber cache (diff)
downloadopensim-SC-1848b1fdb143462e6d0db47142e5f50bd8a9632c.zip
opensim-SC-1848b1fdb143462e6d0db47142e5f50bd8a9632c.tar.gz
opensim-SC-1848b1fdb143462e6d0db47142e5f50bd8a9632c.tar.bz2
opensim-SC-1848b1fdb143462e6d0db47142e5f50bd8a9632c.tar.xz
mantis 8740: fix osTeleportObject set rotation
Diffstat (limited to 'OpenSim/Region')
-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 {