aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2008-09-13 19:51:56 +0000
committerMelanie Thielker2008-09-13 19:51:56 +0000
commit8830b8b72cd53af8ed0383ab3247e23dab87776e (patch)
tree01eae3b0950712996f461224e46e1da28fd05ebd /OpenSim/Region
parentUpdate avatar-position while avatar is sitting and the prim is moved (#2159). (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs15
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs3
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;
33using System.Text; 33using System.Text;
34using System.Threading; 34using System.Threading;
35using System.Timers; 35using System.Timers;
36using System.Xml;
36using OpenMetaverse; 37using OpenMetaverse;
37using OpenMetaverse.Packets; 38using OpenMetaverse.Packets;
38using log4net; 39using 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)