diff options
author | UbitUmarov | 2017-04-06 12:56:00 +0100 |
---|---|---|
committer | UbitUmarov | 2017-04-06 12:56:00 +0100 |
commit | 1848b1fdb143462e6d0db47142e5f50bd8a9632c (patch) | |
tree | 230278ff92239f0e603abfd19b625fc5e92d41dc /OpenSim/Region | |
parent | add missing invalidation of osGetLinkNumber cache (diff) | |
download | opensim-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.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 | { |