diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 17 |
1 files changed, 13 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 | } |