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