diff options
author | UbitUmarov | 2019-12-03 14:27:31 +0000 |
---|---|---|
committer | UbitUmarov | 2019-12-03 14:27:31 +0000 |
commit | 052e4a060ceed35eeda623cee9a9826cc1e7b8f8 (patch) | |
tree | 85c824194c575a1b3af71635a2a950763a4be0f2 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |
parent | a few changes on check targets for lsl (diff) | |
download | opensim-SC-052e4a060ceed35eeda623cee9a9826cc1e7b8f8.zip opensim-SC-052e4a060ceed35eeda623cee9a9826cc1e7b8f8.tar.gz opensim-SC-052e4a060ceed35eeda623cee9a9826cc1e7b8f8.tar.bz2 opensim-SC-052e4a060ceed35eeda623cee9a9826cc1e7b8f8.tar.xz |
mantis 8632: stop trigering Changed on just scale checks
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1591cb1..8815a28 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -8912,6 +8912,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8912 | elemLength = 3; | 8912 | elemLength = 3; |
8913 | 8913 | ||
8914 | List<KeyframeMotion.Keyframe> keyframes = new List<KeyframeMotion.Keyframe>(); | 8914 | List<KeyframeMotion.Keyframe> keyframes = new List<KeyframeMotion.Keyframe>(); |
8915 | bool hasTranslation = (data & KeyframeMotion.DataFormat.Translation) != 0; | ||
8916 | bool hasRotation = (data & KeyframeMotion.DataFormat.Rotation) != 0; | ||
8915 | while (idx < frames.Data.Length) | 8917 | while (idx < frames.Data.Length) |
8916 | { | 8918 | { |
8917 | int remain = frames.Data.Length - idx; | 8919 | int remain = frames.Data.Length - idx; |
@@ -8923,16 +8925,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8923 | frame.Position = null; | 8925 | frame.Position = null; |
8924 | frame.Rotation = null; | 8926 | frame.Rotation = null; |
8925 | 8927 | ||
8926 | if ((data & KeyframeMotion.DataFormat.Translation) != 0) | 8928 | if (hasTranslation) |
8927 | { | 8929 | { |
8928 | LSL_Types.Vector3 tempv = frames.GetVector3Item(idx++); | 8930 | LSL_Types.Vector3 tempv = frames.GetVector3Item(idx++); |
8929 | frame.Position = new Vector3((float)tempv.x, (float)tempv.y, (float)tempv.z); | 8931 | frame.Position = new Vector3((float)tempv.x, (float)tempv.y, (float)tempv.z); |
8930 | } | 8932 | } |
8931 | if ((data & KeyframeMotion.DataFormat.Rotation) != 0) | 8933 | if (hasRotation) |
8932 | { | 8934 | { |
8933 | LSL_Types.Quaternion tempq = frames.GetQuaternionItem(idx++); | 8935 | LSL_Types.Quaternion tempq = frames.GetQuaternionItem(idx++); |
8934 | Quaternion q = new Quaternion((float)tempq.x, (float)tempq.y, (float)tempq.z, (float)tempq.s); | 8936 | Quaternion q = new Quaternion((float)tempq.x, (float)tempq.y, (float)tempq.z, (float)tempq.s); |
8935 | q.Normalize(); | ||
8936 | frame.Rotation = q; | 8937 | frame.Rotation = q; |
8937 | } | 8938 | } |
8938 | 8939 | ||