aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorUbitUmarov2013-01-11 20:25:12 +0000
committerUbitUmarov2013-01-11 20:25:12 +0000
commitfcf39601687b30f088903faaa12d2b4aaa18bf1a (patch)
tree80b847237c67810798d1b8c852b61f543ee290b2 /OpenSim
parent go back bypassing sog updates control (test) (diff)
downloadopensim-SC_OLD-fcf39601687b30f088903faaa12d2b4aaa18bf1a.zip
opensim-SC_OLD-fcf39601687b30f088903faaa12d2b4aaa18bf1a.tar.gz
opensim-SC_OLD-fcf39601687b30f088903faaa12d2b4aaa18bf1a.tar.bz2
opensim-SC_OLD-fcf39601687b30f088903faaa12d2b4aaa18bf1a.tar.xz
make sure keyframe rotations are normalized
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs4
1 files changed, 3 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 0dfcfd6..1e1e574 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -12691,7 +12691,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
12691 if ((data & KeyframeMotion.DataFormat.Rotation) != 0) 12691 if ((data & KeyframeMotion.DataFormat.Rotation) != 0)
12692 { 12692 {
12693 LSL_Types.Quaternion tempq = frames.GetQuaternionItem(idx++); 12693 LSL_Types.Quaternion tempq = frames.GetQuaternionItem(idx++);
12694 frame.Rotation = new Quaternion((float)tempq.x, (float)tempq.y, (float)tempq.z, (float)tempq.s); 12694 Quaternion q = new Quaternion((float)tempq.x, (float)tempq.y, (float)tempq.z, (float)tempq.s);
12695 q.Normalize();
12696 frame.Rotation = q;
12695 } 12697 }
12696 12698
12697 float tempf = (float)frames.GetLSLFloatItem(idx++); 12699 float tempf = (float)frames.GetLSLFloatItem(idx++);