From 9bf67201c31d531e0480e67d8a96472d0a5b0c76 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 27 Jun 2008 16:36:19 +0000 Subject: * Remove responsibilty for signalling scene object change from SceneObjectPart.SendFullUpdate() * This means that we will no longer pointlessly repersist all the prims in the scene when OpenSim first starts up * This also means that force-update on the console will not trigger repersistence. * Also, in other places persistence is no longer done where it wasn't actually necessary * I think I changed the code for all instances correctly, but it's not possible that I missed some and some things which did persist properly have stopped * Please patch or mantis if this is the case --- .../Shared/Api/Implementation/LSL_Api.cs | 28 ++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 477c6a8..fea3fc2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -911,6 +911,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } + /// <summary> + /// Set flexi parameters of a part. + /// + /// FIXME: Much of this code should probably be within the part itself. + /// </summary> + /// <param name="part"></param> + /// <param name="flexi"></param> + /// <param name="softness"></param> + /// <param name="gravity"></param> + /// <param name="friction"></param> + /// <param name="wind"></param> + /// <param name="tension"></param> + /// <param name="Force"></param> private void SetFlexi(SceneObjectPart part, bool flexi, int softness, float gravity, float friction, float wind, float tension, LSL_Types.Vector3 Force) { @@ -955,9 +968,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } + part.ParentGroup.HasGroupChanged = true; part.ScheduleFullUpdate(); } + /// <summary> + /// Set a light point on a part + /// + /// FIXME: Much of this code should probably be in SceneObjectGroup + /// </summary> + /// <param name="part"></param> + /// <param name="light"></param> + /// <param name="color"></param> + /// <param name="intensity"></param> + /// <param name="radius"></param> + /// <param name="falloff"></param> private void SetPointLight(SceneObjectPart part, bool light, LSL_Types.Vector3 color, float intensity, float radius, float falloff) { if (part == null) @@ -978,11 +1003,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.Shape.LightEntry = false; } + part.ParentGroup.HasGroupChanged = true; part.ScheduleFullUpdate(); } - - public LSL_Types.Vector3 llGetColor(int face) { m_host.AddScriptLPS(1); -- cgit v1.1