From 63d2885008b0e5b01dd362c7e932e3c1818efa0a Mon Sep 17 00:00:00 2001 From: idb Date: Sun, 18 Jan 2009 14:46:43 +0000 Subject: Moved applying an impulse to a newly rezzed object to minimise the delay getting the object moving. --- OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 7 ++++++- OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 750b5b9..4db735a 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs @@ -2472,7 +2472,12 @@ namespace OpenSim.Region.Environment.Scenes } group.UpdateGroupRotation(rot); //group.ApplyPhysics(m_physicalPrim); - group.Velocity = vel; + if (group.RootPart.PhysActor != null && group.RootPart.PhysActor.IsPhysical && vel != Vector3.Zero) + { + group.RootPart.ApplyImpulse(vel, false); + group.Velocity = vel; + rootPart.ScheduleFullUpdate(); + } group.CreateScriptInstances(param, true, DefaultScriptEngine, 2); rootPart.ScheduleFullUpdate(); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 8fd1ba3..51393a9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2491,7 +2491,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (new_group.RootPart.PhysActor != null && new_group.RootPart.PhysActor.IsPhysical && llvel != Vector3.Zero) { - new_group.RootPart.ApplyImpulse(llvel, false); //Recoil. llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); } -- cgit v1.1