aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs17
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs1
2 files changed, 14 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index b8e9878..fe8d358 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -7014,10 +7014,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7014 { 7014 {
7015 m_host.AddScriptLPS(1); 7015 m_host.AddScriptLPS(1);
7016 7016
7017 List<SceneObjectPart> parts = GetLinkParts(linknumber); 7017 setLinkPrimParams(linknumber, rules);
7018
7019 foreach (SceneObjectPart part in parts)
7020 SetPrimParams(part, rules);
7021 7018
7022 ScriptSleep(200); 7019 ScriptSleep(200);
7023 } 7020 }
@@ -7026,6 +7023,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7026 { 7023 {
7027 m_host.AddScriptLPS(1); 7024 m_host.AddScriptLPS(1);
7028 7025
7026 setLinkPrimParams(linknumber, rules);
7027 }
7028
7029 protected void setLinkPrimParams(int linknumber, LSL_List rules)
7030 {
7029 List<SceneObjectPart> parts = GetLinkParts(linknumber); 7031 List<SceneObjectPart> parts = GetLinkParts(linknumber);
7030 7032
7031 foreach (SceneObjectPart part in parts) 7033 foreach (SceneObjectPart part in parts)
@@ -7395,6 +7397,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7395 LSL_Rotation lr = rules.GetQuaternionItem(idx++); 7397 LSL_Rotation lr = rules.GetQuaternionItem(idx++);
7396 SetRot(part, Rot2Quaternion(lr)); 7398 SetRot(part, Rot2Quaternion(lr));
7397 break; 7399 break;
7400 case (int)ScriptBaseClass.PRIM_LINK_TARGET:
7401 if (remain < 3) // setting to 3 on the basis that parsing any usage of PRIM_LINK_TARGET that has nothing following it is pointless.
7402 return;
7403 LSL_Integer new_linknumber = rules.GetLSLIntegerItem(idx++);
7404 LSL_List new_rules = rules.GetSublist(idx, -1);
7405 setLinkPrimParams((int)new_linknumber, new_rules);
7406 return;
7398 } 7407 }
7399 } 7408 }
7400 } 7409 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 4b008a4..50c18a8 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -321,6 +321,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
321 public const int PRIM_NAME = 27; 321 public const int PRIM_NAME = 27;
322 public const int PRIM_DESC = 28; 322 public const int PRIM_DESC = 28;
323 public const int PRIM_ROT_LOCAL = 29; 323 public const int PRIM_ROT_LOCAL = 29;
324 public const int PRIM_LINK_TARGET = 34;
324 public const int PRIM_TEXGEN_DEFAULT = 0; 325 public const int PRIM_TEXGEN_DEFAULT = 0;
325 public const int PRIM_TEXGEN_PLANAR = 1; 326 public const int PRIM_TEXGEN_PLANAR = 1;
326 327