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')
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