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