aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-15 21:18:08 +0000
committerMelanie Thielker2008-08-15 21:18:08 +0000
commitc1fa7592c751005cde427fc0f4bf7b683d0eefe5 (patch)
treed4a9cbc892f5646d0afc2ce8aefccfe007e3cd4f
parentPlumb the user flags all the way through to the profile. userFlags in (diff)
downloadopensim-SC-c1fa7592c751005cde427fc0f4bf7b683d0eefe5.zip
opensim-SC-c1fa7592c751005cde427fc0f4bf7b683d0eefe5.tar.gz
opensim-SC-c1fa7592c751005cde427fc0f4bf7b683d0eefe5.tar.bz2
opensim-SC-c1fa7592c751005cde427fc0f4bf7b683d0eefe5.tar.xz
Pantis #1957
Thank you, Leaf, for a patch that implements llGetAnimationList() XEngine implementation added by myself.
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs9
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs14
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs14
3 files changed, 31 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index b4cf70a..b22643f 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -39,6 +39,7 @@ using OpenSim.Framework.Communications.Cache;
39using OpenSim.Region.Environment.Types; 39using OpenSim.Region.Environment.Types;
40using OpenSim.Region.Physics.Manager; 40using OpenSim.Region.Physics.Manager;
41 41
42
42namespace OpenSim.Region.Environment.Scenes 43namespace OpenSim.Region.Environment.Scenes
43{ 44{
44 enum ScriptControlled : int 45 enum ScriptControlled : int
@@ -1346,6 +1347,14 @@ namespace OpenSim.Region.Environment.Scenes
1346 1347
1347 RemoveAnimation(animID); 1348 RemoveAnimation(animID);
1348 } 1349 }
1350
1351 public LLUUID[] GetAnimationArray()
1352 {
1353 LLUUID[] animIDs;
1354 int[] sequenceNums;
1355 m_animations.GetArrays( out animIDs, out sequenceNums );
1356 return animIDs;
1357 }
1349 1358
1350 public void HandleStartAnim(IClientAPI remoteClient, LLUUID animID) 1359 public void HandleStartAnim(IClientAPI remoteClient, LLUUID animID)
1351 { 1360 {
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index f6cc7f0..32e9085 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -5698,11 +5698,19 @@ namespace OpenSim.Region.ScriptEngine.Common
5698 return (double)Math.Log(val); 5698 return (double)Math.Log(val);
5699 } 5699 }
5700 5700
5701 public LSL_Types.list llGetAnimationList(string id) 5701 public LSL_Types.list llGetAnimationList( string id )
5702 { 5702 {
5703 m_host.AddScriptLPS(1); 5703 m_host.AddScriptLPS(1);
5704 NotImplemented("llGetAnimationList"); 5704
5705 return new LSL_Types.list(); 5705 LSL_Types.list l = new LSL_Types.list();
5706 ScenePresence av = World.GetScenePresence(id);
5707 if( av == null )
5708 return l;
5709 LLUUID[] anims;
5710 anims = av.GetAnimationArray();
5711 foreach( LLUUID foo in anims )
5712 l.Add( foo.ToString() );
5713 return l;
5706 } 5714 }
5707 5715
5708 public void llSetParcelMusicURL(string url) 5716 public void llSetParcelMusicURL(string url)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 09377a1..15793e4 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -5502,11 +5502,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5502 return (double)Math.Log(val); 5502 return (double)Math.Log(val);
5503 } 5503 }
5504 5504
5505 public LSL_Types.list llGetAnimationList(string id) 5505 public LSL_Types.list llGetAnimationList( string id )
5506 { 5506 {
5507 m_host.AddScriptLPS(1); 5507 m_host.AddScriptLPS(1);
5508 NotImplemented("llGetAnimationList"); 5508
5509 return new LSL_Types.list(); 5509 LSL_Types.list l = new LSL_Types.list();
5510 ScenePresence av = World.GetScenePresence(id);
5511 if( av == null )
5512 return l;
5513 LLUUID[] anims;
5514 anims = av.GetAnimationArray();
5515 foreach( LLUUID foo in anims )
5516 l.Add( foo.ToString() );
5517 return l;
5510 } 5518 }
5511 5519
5512 public void llSetParcelMusicURL(string url) 5520 public void llSetParcelMusicURL(string url)