aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorUbitUmarov2012-06-05 04:43:23 +0100
committerUbitUmarov2012-06-05 04:43:23 +0100
commit768447e41b358c7685ee85f36224d1bfdfd36fcf (patch)
tree833f77bd4ac0a0f948b18241ccc24419f517b2ad /OpenSim/Region/ScriptEngine/Shared
parentFix land collisions to work like SL. (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs5
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)