aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs21
1 files changed, 16 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 8bf9482..59a3618 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6892,7 +6892,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6892 6892
6893 public void llSetLinkPrimitiveParamsFast(int linknumber, LSL_List rules) 6893 public void llSetLinkPrimitiveParamsFast(int linknumber, LSL_List rules)
6894 { 6894 {
6895 llSetLinkPrimitiveParams(linknumber, rules); 6895 m_host.AddScriptLPS(1);
6896
6897 List<SceneObjectPart> parts = GetLinkParts(linknumber);
6898
6899 foreach (SceneObjectPart part in parts)
6900 SetPrimParams(part, rules);
6896 } 6901 }
6897 6902
6898 protected void SetPrimParams(SceneObjectPart part, LSL_List rules) 6903 protected void SetPrimParams(SceneObjectPart part, LSL_List rules)
@@ -8404,6 +8409,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
8404 8409
8405 for (j = 0; j < seplen; j++) 8410 for (j = 0; j < seplen; j++)
8406 { 8411 {
8412 if (separray[j].ToString() == String.Empty)
8413 active[j] = false;
8414
8407 if (active[j]) 8415 if (active[j])
8408 { 8416 {
8409 // scan all of the markers 8417 // scan all of the markers
@@ -8432,6 +8440,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
8432 { 8440 {
8433 for (j = seplen; (j < mlen) && (offset[best] > beginning); j++) 8441 for (j = seplen; (j < mlen) && (offset[best] > beginning); j++)
8434 { 8442 {
8443 if (spcarray[j-seplen].ToString() == String.Empty)
8444 active[j] = false;
8445
8435 if (active[j]) 8446 if (active[j])
8436 { 8447 {
8437 // scan all of the markers 8448 // scan all of the markers
@@ -9090,10 +9101,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9090 // do that one last, it will cause a ParcelPropertiesUpdate 9101 // do that one last, it will cause a ParcelPropertiesUpdate
9091 landObject.SetMediaUrl(url); 9102 landObject.SetMediaUrl(url);
9092 9103
9093 // now send to all (non-child) agents 9104 // now send to all (non-child) agents in the parcel
9094 World.ForEachScenePresence(delegate(ScenePresence sp) 9105 World.ForEachScenePresence(delegate(ScenePresence sp)
9095 { 9106 {
9096 if (!sp.IsChildAgent) 9107 if (!sp.IsChildAgent && (sp.currentParcelUUID == landData.GlobalID))
9097 { 9108 {
9098 sp.ControllingClient.SendParcelMediaUpdate(landData.MediaURL, 9109 sp.ControllingClient.SendParcelMediaUpdate(landData.MediaURL,
9099 landData.MediaID, 9110 landData.MediaID,
@@ -9123,10 +9134,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9123 // the commandList contained a start/stop/... command, too 9134 // the commandList contained a start/stop/... command, too
9124 if (presence == null) 9135 if (presence == null)
9125 { 9136 {
9126 // send to all (non-child) agents 9137 // send to all (non-child) agents in the parcel
9127 World.ForEachScenePresence(delegate(ScenePresence sp) 9138 World.ForEachScenePresence(delegate(ScenePresence sp)
9128 { 9139 {
9129 if (!sp.IsChildAgent) 9140 if (!sp.IsChildAgent && (sp.currentParcelUUID == landData.GlobalID))
9130 { 9141 {
9131 sp.ControllingClient.SendParcelMediaCommand(0x4, // TODO what is this? 9142 sp.ControllingClient.SendParcelMediaCommand(0x4, // TODO what is this?
9132 (ParcelMediaCommandEnum)commandToSend, 9143 (ParcelMediaCommandEnum)commandToSend,