From 5376d0a97bb367c354d96b0bd7a78a2ae6225280 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 9 Sep 2014 03:31:04 +0200 Subject: Also check standard anim names --- .../Shared/Api/Implementation/LSL_Api.cs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/ScriptEngine') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f4809a7..29e526d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -13510,11 +13510,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null) return; - UUID animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation); - if (animID == UUID.Zero) + UUID animID; + if (animState == anim) { - llShout(ScriptBaseClass.DEBUG_CHANNEL, "Animation not found"); - return; + animID = UUID.Zero; + } + else if (MovementAnimationsForLSL.ContainsKey(anim)) + { + animID = DefaultAvatarAnimations.AnimsUUID[MovementAnimationsForLSL[anim]]; + } + else + { + animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation); + if (animID == UUID.Zero) + { + llShout(ScriptBaseClass.DEBUG_CHANNEL, "Animation not found"); + return; + } } presence.SetAnimationOverride(state, animID); -- cgit v1.1 From 347c5b3070f7ce6ecc2a617e09fd02e4616061ba Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 9 Sep 2014 05:20:53 +0200 Subject: Add perms check --- OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'OpenSim/Region/ScriptEngine') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 29e526d..1536959 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -13497,7 +13497,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } if (m_item.PermsGranter == UUID.Zero) + { + llShout(ScriptBaseClass.DEBUG_CHANNEL, "No permission to override animations"); return; + } if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_OVERRIDE_ANIMATIONS) == 0) { -- cgit v1.1