diff options
author | Justin Clark-Casey (justincc) | 2014-03-03 20:58:54 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-03-03 23:35:21 +0000 |
commit | 31de7b845f18182d47ee43125c3fe6488da841e6 (patch) | |
tree | 234582dadf62d58a7381fc608dd5a875debe9bd6 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | Maybe slightly reduce warp3d memory leakage by disposing of decoded bitmap in... (diff) | |
download | opensim-SC_OLD-31de7b845f18182d47ee43125c3fe6488da841e6.zip opensim-SC_OLD-31de7b845f18182d47ee43125c3fe6488da841e6.tar.gz opensim-SC_OLD-31de7b845f18182d47ee43125c3fe6488da841e6.tar.bz2 opensim-SC_OLD-31de7b845f18182d47ee43125c3fe6488da841e6.tar.xz |
When positioning agent with PRIM_ROTATION in llSetLinkPrimitiveParams(), set the global rotation rather than the local rotation
Functionally the same as the patch in http://opensimulator.org/mantis/view.php?id=7044, thanks Aleric.
This commit also extends the regression test
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 2e8b053..b333b55 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -8047,7 +8047,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8047 | sp.OffsetPosition = rules.GetVector3Item(idx++); | 8047 | sp.OffsetPosition = rules.GetVector3Item(idx++); |
8048 | break; | 8048 | break; |
8049 | 8049 | ||
8050 | case (int)ScriptBaseClass.PRIM_ROTATION: | 8050 | case (int)ScriptBaseClass.PRIM_ROTATION: |
8051 | if (remain < 1) | ||
8052 | return null; | ||
8053 | |||
8054 | Quaternion inRot = rules.GetQuaternionItem(idx++); | ||
8055 | |||
8056 | SceneObjectPart parentPart = sp.ParentPart; | ||
8057 | |||
8058 | if (parentPart != null) | ||
8059 | sp.Rotation = m_host.GetWorldRotation() * inRot; | ||
8060 | |||
8061 | break; | ||
8062 | |||
8051 | case (int)ScriptBaseClass.PRIM_ROT_LOCAL: | 8063 | case (int)ScriptBaseClass.PRIM_ROT_LOCAL: |
8052 | if (remain < 1) | 8064 | if (remain < 1) |
8053 | return null; | 8065 | return null; |