diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index ae023b139b..d6748d6dbc 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -5679,7 +5679,31 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { if (v > 128f) v = 128f; + float old = m_host.SitActiveRange; m_host.SitActiveRange = (float)v; + if(old != (float)v) + m_host.ParentGroup.HasGroupChanged = true; + } + + public void osSetLinkSitActiveRange(LSL_Integer linkNumber, LSL_Float v) + { + if (v > 128f) + v = 128f; + + bool changed = false; + InitLSL(); + List parts = m_LSL_Api.GetLinkParts(linkNumber); + for(int i = 0; i < parts.Count; ++i) + { + SceneObjectPart sop = parts[i]; + float old = sop.SitActiveRange; + sop.SitActiveRange = (float)v; + if (old != (float)v) + changed = true; + } + + if (changed) + m_host.ParentGroup.HasGroupChanged = true; } public LSL_Float osGetSitActiveRange() @@ -5690,7 +5714,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void osSetStandTarget(LSL_Vector v) { // todo add limits ? + Vector3 old = m_host.StandOffset; m_host.StandOffset = v; + if(!old.ApproxEquals(v)) + m_host.ParentGroup.HasGroupChanged = true; } public LSL_Vector osGetStandTarget() diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 977c51b09c..ff1da2e6fa 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -561,6 +561,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces LSL_Integer osIsNotValidNumber(LSL_Float v); void osSetSitActiveRange(LSL_Float v); + void osSetLinkSitActiveRange(LSL_Integer linkNumber, LSL_Float v); LSL_Float osGetSitActiveRange(); void osSetStandTarget(vector v); vector osGetStandTarget(); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index f61f0aa93c..292ce062e2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -1427,6 +1427,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase m_OSSL_Functions.osSetSitActiveRange(v); } + public void osSetLinkSitActiveRange(LSL_Integer linkNumber, LSL_Float v) + { + m_OSSL_Functions.osSetLinkSitActiveRange(linkNumber, v); + } + public LSL_Float osGetSitActiveRange() { return m_OSSL_Functions.osGetSitActiveRange(); diff --git a/bin/ScriptSyntax.xml b/bin/ScriptSyntax.xml index 411331b595..db94a90bb4 100644 --- a/bin/ScriptSyntax.xml +++ b/bin/ScriptSyntax.xml @@ -1,4 +1,4 @@ -84b526ce-3ad0-46bb-7a8a-b37be2734c5b +dbf688af-3bd2-5eb3-a7fb-9c3698f16294 llsd-lsl-syntax-version2 controls @@ -1577,7 +1577,7 @@ OS_APIVERSION typeinteger - value10 + value11 OS_ATTACH_MSG_ALL typeinteger @@ -1887,23 +1887,23 @@ PERM_ALL typeinteger - value2147483647 + value0x7fffffff PERM_COPY typeinteger - value32768 + value0x8000 PERM_MODIFY typeinteger - value16384 + value0x4000 PERM_MOVE typeinteger - value524288 + value0x80000 PERM_TRANSFER typeinteger - value8192 + value0x2000 PERMISSION_ATTACH typeinteger @@ -6216,24 +6216,8 @@ returninteger arguments - atypefloat - btypefloat - - - osApproxEquals - - returninteger - arguments - vatypevector - vbtypevector - - - osApproxEquals - - returninteger - arguments - vatypevector - vbtypevector + ratyperotation + rbtyperotation margintypefloat @@ -6246,6 +6230,23 @@ osApproxEquals + + returninteger + arguments + vatypevector + vbtypevector + margintypefloat + + + osApproxEquals + + returninteger + arguments + vatypevector + vbtypevector + + + osApproxEquals returninteger arguments @@ -6258,9 +6259,8 @@ returninteger arguments - ratyperotation - rbtyperotation - margintypefloat + atypefloat + btypefloat osAvatarName2Key @@ -6816,6 +6816,16 @@ returnstring arguments + osGetSitActiveRange + + returnfloat + arguments + + osGetStandTarget + + returnvector + arguments + osGetSunParam returnfloat @@ -7238,13 +7248,13 @@ osRegionNotice arguments + agentIDtypekey msgtypestring osRegionNotice arguments - agentIDtypekey msgtypestring @@ -7416,6 +7426,13 @@ centerOfMasstypevector + osSetLinkSitActiveRange + + arguments + linkNumbertypeinteger + vtypefloat + + osSetOwnerSpeed arguments @@ -7488,6 +7505,16 @@ osSetProjectionParams + + arguments + projectiontypeinteger + texturetypekey + fovtypefloat + focustypefloat + ambtypefloat + + + osSetProjectionParams arguments primtypekey @@ -7509,16 +7536,6 @@ ambtypefloat - osSetProjectionParams - - arguments - projectiontypeinteger - texturetypekey - fovtypefloat - focustypefloat - ambtypefloat - - osSetRegionSunSettings arguments @@ -7533,6 +7550,12 @@ heighttypefloat + osSetSitActiveRange + + arguments + vtypefloat + + osSetSoundRadius arguments @@ -7547,6 +7570,12 @@ SpeedModifiertypefloat + osSetStandTarget + + arguments + vtypevector + + osSetStateEvents arguments @@ -7622,21 +7651,10 @@ arguments srctypestring valuetypestring - starttypeinteger - counttypeinteger ignorecasetypeinteger osStringIndexOf - - returninteger - arguments - srctypestring - valuetypestring - ignorecasetypeinteger - - - osStringLastIndexOf returninteger arguments @@ -7656,6 +7674,17 @@ ignorecasetypeinteger + osStringLastIndexOf + + returninteger + arguments + srctypestring + valuetypestring + starttypeinteger + counttypeinteger + ignorecasetypeinteger + + osStringRemove returnstring @@ -7689,7 +7718,6 @@ arguments srctypestring starttypeinteger - lengthtypeinteger osStringSubString @@ -7698,6 +7726,7 @@ arguments srctypestring starttypeinteger + lengthtypeinteger osSunGetParam @@ -7715,6 +7744,14 @@ osTeleportAgent + + arguments + agenttypestring + positiontypevector + lookattypevector + + + osTeleportAgent arguments agenttypestring @@ -7733,14 +7770,6 @@ lookattypevector - osTeleportAgent - - arguments - agenttypestring - positiontypevector - lookattypevector - - osTeleportObject returninteger