diff options
author | UbitUmarov | 2012-06-05 04:43:23 +0100 |
---|---|---|
committer | UbitUmarov | 2012-06-05 04:43:23 +0100 |
commit | 768447e41b358c7685ee85f36224d1bfdfd36fcf (patch) | |
tree | 833f77bd4ac0a0f948b18241ccc24419f517b2ad /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | Fix land collisions to work like SL. (diff) | |
download | opensim-SC-768447e41b358c7685ee85f36224d1bfdfd36fcf.zip opensim-SC-768447e41b358c7685ee85f36224d1bfdfd36fcf.tar.gz opensim-SC-768447e41b358c7685ee85f36224d1bfdfd36fcf.tar.bz2 opensim-SC-768447e41b358c7685ee85f36224d1bfdfd36fcf.tar.xz |
Stop llRezAtRoot() from applying velocity setting impulse in World.RezObject, doing it only in itself, so its applyed after resuming scripts etc. It was giving twice the requested velocity.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ec44da0..e825b74 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3079,7 +3079,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3079 | // need the magnitude later | 3079 | // need the magnitude later |
3080 | // float velmag = (float)Util.GetMagnitude(llvel); | 3080 | // float velmag = (float)Util.GetMagnitude(llvel); |
3081 | 3081 | ||
3082 | SceneObjectGroup new_group = World.RezObject(m_host, inv.Value, llpos, Rot2Quaternion(rot), llvel, param); | 3082 | // rez with zero velocity so we can apply it here after resume scripts etc |
3083 | // SceneObjectGroup new_group = World.RezObject(m_host, inv.Value, llpos, Rot2Quaternion(rot), llvel, param); | ||
3084 | SceneObjectGroup new_group = World.RezObject(m_host, inv.Value, llpos, Rot2Quaternion(rot), Vector3.Zero, param); | ||
3083 | 3085 | ||
3084 | // If either of these are null, then there was an unknown error. | 3086 | // If either of these are null, then there was an unknown error. |
3085 | if (new_group == null) | 3087 | if (new_group == null) |
@@ -3102,7 +3104,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3102 | 3104 | ||
3103 | if (pa != null && pa.IsPhysical && llvel != Vector3.Zero) | 3105 | if (pa != null && pa.IsPhysical && llvel != Vector3.Zero) |
3104 | { | 3106 | { |
3105 | //Recoil. | ||
3106 | llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); | 3107 | llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); |
3107 | } | 3108 | } |
3108 | // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) | 3109 | // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) |