diff options
author | Melanie Thielker | 2008-09-13 19:51:56 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-09-13 19:51:56 +0000 |
commit | 8830b8b72cd53af8ed0383ab3247e23dab87776e (patch) | |
tree | 01eae3b0950712996f461224e46e1da28fd05ebd /OpenSim/Region | |
parent | Update avatar-position while avatar is sitting and the prim is moved (#2159). (diff) | |
download | opensim-SC-8830b8b72cd53af8ed0383ab3247e23dab87776e.zip opensim-SC-8830b8b72cd53af8ed0383ab3247e23dab87776e.tar.gz opensim-SC-8830b8b72cd53af8ed0383ab3247e23dab87776e.tar.bz2 opensim-SC-8830b8b72cd53af8ed0383ab3247e23dab87776e.tar.xz |
Mantis #2018
Read animation data from avataranimations.xml to allow default animations
to be started and stopped by name from scripts.
Diffstat (limited to 'OpenSim/Region')
3 files changed, 15 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 57a995c..ee18a94 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -33,6 +33,7 @@ using System.Reflection; | |||
33 | using System.Text; | 33 | using System.Text; |
34 | using System.Threading; | 34 | using System.Threading; |
35 | using System.Timers; | 35 | using System.Timers; |
36 | using System.Xml; | ||
36 | using OpenMetaverse; | 37 | using OpenMetaverse; |
37 | using OpenMetaverse.Packets; | 38 | using OpenMetaverse.Packets; |
38 | using log4net; | 39 | using log4net; |
@@ -3478,6 +3479,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3478 | 3479 | ||
3479 | private void InitDefaultAnimations() | 3480 | private void InitDefaultAnimations() |
3480 | { | 3481 | { |
3482 | using (XmlTextReader reader = new XmlTextReader("data/avataranimations.xml")) | ||
3483 | { | ||
3484 | XmlDocument doc = new XmlDocument(); | ||
3485 | doc.Load(reader); | ||
3486 | foreach (XmlNode nod in doc.DocumentElement.ChildNodes) | ||
3487 | { | ||
3488 | if (nod.Attributes["name"] != null) | ||
3489 | { | ||
3490 | string name = (string)nod.Attributes["name"].Value.ToLower(); | ||
3491 | string id = (string)nod.InnerText; | ||
3492 | m_defaultAnimations.Add(name, id); | ||
3493 | } | ||
3494 | } | ||
3495 | } | ||
3481 | } | 3496 | } |
3482 | 3497 | ||
3483 | public UUID GetDefaultAnimation(string name) | 3498 | public UUID GetDefaultAnimation(string name) |
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 23b66d1..1ec88f8 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -2660,9 +2660,6 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2660 | animID=InventoryKey(anim); | 2660 | animID=InventoryKey(anim); |
2661 | } | 2661 | } |
2662 | 2662 | ||
2663 | if (animID == UUID.Zero) | ||
2664 | return; | ||
2665 | |||
2666 | ScenePresence presence = World.GetScenePresence(m_host.TaskInventory[invItemID].PermsGranter); | 2663 | ScenePresence presence = World.GetScenePresence(m_host.TaskInventory[invItemID].PermsGranter); |
2667 | 2664 | ||
2668 | if (presence != null) | 2665 | if (presence != null) |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 7d1f6ea..a5eeaad 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2497,9 +2497,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2497 | animID=InventoryKey(anim); | 2497 | animID=InventoryKey(anim); |
2498 | } | 2498 | } |
2499 | 2499 | ||
2500 | if (animID == UUID.Zero) | ||
2501 | return; | ||
2502 | |||
2503 | ScenePresence presence = World.GetScenePresence(m_host.TaskInventory[invItemID].PermsGranter); | 2500 | ScenePresence presence = World.GetScenePresence(m_host.TaskInventory[invItemID].PermsGranter); |
2504 | 2501 | ||
2505 | if (presence != null) | 2502 | if (presence != null) |