From 76987fb64715a699a133b9e0f8a858a2e8ebe98d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 25 Jan 2020 15:51:36 +0000 Subject: [PATCH] ... osSetLinkStandTarget --- .../Shared/Api/Implementation/OSSL_Api.cs | 22 +++++++ .../Shared/Api/Interface/IOSSL_Api.cs | 1 + .../Shared/Api/Runtime/OSSL_Stub.cs | 5 ++ bin/ScriptSyntax.xml | 65 ++++++++++--------- 4 files changed, 64 insertions(+), 29 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index d6adddd0cd..6fe9a1040d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -5734,6 +5734,28 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ParentGroup.HasGroupChanged = true; } + public void osSetLinkStandTarget(LSL_Integer linkNumber, LSL_Vector v) + { + // todo add limits ? + SceneObjectPart target = null; + if (linkNumber == ScriptBaseClass.LINK_THIS) + target = m_host; + else if (linkNumber < 0) + return; + else if (linkNumber < 2) + target = m_host.ParentGroup.RootPart; + else + target = m_host.ParentGroup.GetLinkNumPart(linkNumber); + + if (target == null) + return; + + Vector3 old = target.StandOffset; + target.StandOffset = v; + if (!old.ApproxEquals(v)) + m_host.ParentGroup.HasGroupChanged = true; + } + public LSL_Vector osGetStandTarget() { return m_host.StandOffset; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index c25057e276..7150f78bdd 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -565,6 +565,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces LSL_Float osGetSitActiveRange(); LSL_Float osGetLinkSitActiveRange(LSL_Integer linkNumber); void osSetStandTarget(vector v); + void osSetLinkStandTarget(LSL_Integer linkNumber, vector v); vector osGetStandTarget(); vector osGetLinkStandTarget(LSL_Integer linkNumber); } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index b4a7f0675f..b3ef21fd62 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -1447,6 +1447,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase m_OSSL_Functions.osSetStandTarget(v); } + public void osSetLinkStandTarget(LSL_Integer linkNumber, vector v) + { + m_OSSL_Functions.osSetLinkStandTarget(linkNumber, v); + } + public vector osGetStandTarget() { return m_OSSL_Functions.osGetStandTarget(); diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 6cedabc730..8a735dd800 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -b4567055-13fa-534f-59d1-52b4e6a52f7f +28491a28-0c57-0a0d-c221-a7fc30debc18 llsd-lsl-syntax-version2 controls @@ -7447,6 +7447,13 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f vtypefloat + osSetLinkStandTarget + + arguments + linkNumbertypeinteger + vtypevector + + osSetOwnerSpeed arguments @@ -7665,8 +7672,6 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger @@ -7676,15 +7681,8 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f arguments srctypestring valuetypestring - ignorecasetypeinteger - - - osStringLastIndexOf - - returninteger - arguments - srctypestring - valuetypestring + starttypeinteger + counttypeinteger ignorecasetypeinteger @@ -7699,6 +7697,15 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f ignorecasetypeinteger + osStringLastIndexOf + + returninteger + arguments + srctypestring + valuetypestring + ignorecasetypeinteger + + osStringRemove returnstring @@ -7758,6 +7765,15 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f osTeleportAgent + + arguments + agenttypestring + regionNametypestring + positiontypevector + lookattypevector + + + osTeleportAgent arguments agenttypestring @@ -7775,15 +7791,6 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f lookattypevector - osTeleportAgent - - arguments - agenttypestring - regionNametypestring - positiontypevector - lookattypevector - - osTeleportObject returninteger @@ -7795,6 +7802,14 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f osTeleportOwner + + arguments + regionNametypestring + positiontypevector + lookattypevector + + + osTeleportOwner arguments positiontypevector @@ -7810,14 +7825,6 @@ b4567055-13fa-534f-59d1-52b4e6a52f7f lookattypevector - osTeleportOwner - - arguments - regionNametypestring - positiontypevector - lookattypevector - - osTerrainFlush arguments