mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 14:16:07 +08:00
* 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
This commit is contained in:
@@ -1058,6 +1058,19 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
}
|
||||
}
|
||||
|
||||
/// <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)
|
||||
{
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
/// <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)
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user