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 --- .../ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 30 ++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs') diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 0514573..7df1173 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -1058,6 +1058,19 @@ namespace OpenSim.Region.ScriptEngine.Common } } + /// + /// Set flexi parameters of a part. + /// + /// FIXME: Much of this code should probably be within the part itself. + /// + /// + /// + /// + /// + /// + /// + /// + /// private void SetFlexi(SceneObjectPart part, bool flexi, int softness, float gravity, float friction, float wind, float tension, LSL_Types.Vector3 Force) { @@ -1097,14 +1110,26 @@ namespace OpenSim.Region.ScriptEngine.Common if (needs_fakedelete) { if (part.ParentGroup != null) - { + { part.ParentGroup.FakeDeleteGroup(); } } + part.ParentGroup.HasGroupChanged = true; part.ScheduleFullUpdate(); } + /// + /// Set a light point on a part + /// + /// FIXME: Much of this code should probably be in SceneObjectGroup + /// + /// + /// + /// + /// + /// + /// private void SetPointLight(SceneObjectPart part, bool light, LSL_Types.Vector3 color, float intensity, float radius, float falloff) { if (part == null) @@ -1125,6 +1150,7 @@ namespace OpenSim.Region.ScriptEngine.Common part.Shape.LightEntry = false; } + part.ParentGroup.HasGroupChanged = true; part.ScheduleFullUpdate(); } @@ -1583,7 +1609,7 @@ namespace OpenSim.Region.ScriptEngine.Common m_host.SoundGain = volume; m_host.SoundFlags = 1; // looping m_host.SoundRadius = 20; // Magic number, 20 seems reasonable. Make configurable? - + m_host.ScheduleFullUpdate(); m_host.SendFullUpdateToAllClients(); } -- cgit v1.1