diff options
author | Justin Clark-Casey (justincc) | 2014-09-02 23:35:03 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-09-02 23:39:52 +0100 |
commit | d582db6132ef7bea8b15e7a9f0dd64400d43b517 (patch) | |
tree | a277f69574ae09020245e4fa3a3f58cb59dceacf /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | As per the LL grid, if an avatar is sitting then return it's velocity relativ... (diff) | |
download | opensim-SC-d582db6132ef7bea8b15e7a9f0dd64400d43b517.zip opensim-SC-d582db6132ef7bea8b15e7a9f0dd64400d43b517.tar.gz opensim-SC-d582db6132ef7bea8b15e7a9f0dd64400d43b517.tar.bz2 opensim-SC-d582db6132ef7bea8b15e7a9f0dd64400d43b517.tar.xz |
Fix recent regression from 473c5594 where camera started to judder on moving vehicles.
Other parts of OpenSimulator are relying on SP.Velocity == 0 for vehicles.
So add and use SP.GetWorldVelocity() instead when we need vehicle velocity, along the same lines as existing SP.GetWorldRotation()
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 |
1 files changed, 3 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 5d7fc9d..7c384b2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2560,7 +2560,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2560 | if (m_host.ParentGroup.IsAttachment) | 2560 | if (m_host.ParentGroup.IsAttachment) |
2561 | { | 2561 | { |
2562 | ScenePresence avatar = m_host.ParentGroup.Scene.GetScenePresence(m_host.ParentGroup.AttachedAvatar); | 2562 | ScenePresence avatar = m_host.ParentGroup.Scene.GetScenePresence(m_host.ParentGroup.AttachedAvatar); |
2563 | vel = avatar.Velocity; | 2563 | vel = avatar.GetWorldVelocity(); |
2564 | } | 2564 | } |
2565 | else | 2565 | else |
2566 | { | 2566 | { |
@@ -11221,7 +11221,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
11221 | ret.Add(new LSL_Rotation(av.GetWorldRotation())); | 11221 | ret.Add(new LSL_Rotation(av.GetWorldRotation())); |
11222 | break; | 11222 | break; |
11223 | case ScriptBaseClass.OBJECT_VELOCITY: | 11223 | case ScriptBaseClass.OBJECT_VELOCITY: |
11224 | ret.Add(new LSL_Vector(av.Velocity.X, av.Velocity.Y, av.Velocity.Z)); | 11224 | ret.Add(new LSL_Vector(av.GetWorldVelocity())); |
11225 | break; | 11225 | break; |
11226 | case ScriptBaseClass.OBJECT_OWNER: | 11226 | case ScriptBaseClass.OBJECT_OWNER: |
11227 | ret.Add(new LSL_String(id)); | 11227 | ret.Add(new LSL_String(id)); |
@@ -11342,7 +11342,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
11342 | ScenePresence sp = World.GetScenePresence(obj.ParentGroup.AttachedAvatar); | 11342 | ScenePresence sp = World.GetScenePresence(obj.ParentGroup.AttachedAvatar); |
11343 | 11343 | ||
11344 | if (sp != null) | 11344 | if (sp != null) |
11345 | vel = sp.Velocity; | 11345 | vel = sp.GetWorldVelocity(); |
11346 | } | 11346 | } |
11347 | else | 11347 | else |
11348 | { | 11348 | { |