aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs (renamed from OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs)38
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs27
2 files changed, 46 insertions, 19 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs
index 880ca1b..fe71ed5 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/CM_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs
@@ -54,13 +54,13 @@ using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
54namespace OpenSim.Region.ScriptEngine.Shared.Api 54namespace OpenSim.Region.ScriptEngine.Shared.Api
55{ 55{
56 [Serializable] 56 [Serializable]
57 public class CM_Api : MarshalByRefObject, ICM_Api, IScriptApi 57 public class LS_Api : MarshalByRefObject, ILS_Api, IScriptApi
58 { 58 {
59 internal IScriptEngine m_ScriptEngine; 59 internal IScriptEngine m_ScriptEngine;
60 internal SceneObjectPart m_host; 60 internal SceneObjectPart m_host;
61 internal uint m_localID; 61 internal uint m_localID;
62 internal UUID m_itemID; 62 internal UUID m_itemID;
63 internal bool m_CMFunctionsEnabled = false; 63 internal bool m_LSFunctionsEnabled = false;
64 internal IScriptModuleComms m_comms = null; 64 internal IScriptModuleComms m_comms = null;
65 65
66 public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID) 66 public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID)
@@ -70,12 +70,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
70 m_localID = localID; 70 m_localID = localID;
71 m_itemID = itemID; 71 m_itemID = itemID;
72 72
73 if (m_ScriptEngine.Config.GetBoolean("AllowCareminsterFunctions", false)) 73 if (m_ScriptEngine.Config.GetBoolean("AllowLightShareFunctions", false))
74 m_CMFunctionsEnabled = true; 74 m_LSFunctionsEnabled = true;
75 75
76 m_comms = m_ScriptEngine.World.RequestModuleInterface<IScriptModuleComms>(); 76 m_comms = m_ScriptEngine.World.RequestModuleInterface<IScriptModuleComms>();
77 if (m_comms == null) 77 if (m_comms == null)
78 m_CMFunctionsEnabled = false; 78 m_LSFunctionsEnabled = false;
79 } 79 }
80 80
81 public override Object InitializeLifetimeService() 81 public override Object InitializeLifetimeService()
@@ -100,7 +100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
100 //Dumps an error message on the debug console. 100 //Dumps an error message on the debug console.
101 // 101 //
102 102
103 internal void CMShoutError(string message) 103 internal void LSShoutError(string message)
104 { 104 {
105 if (message.Length > 1023) 105 if (message.Length > 1023)
106 message = message.Substring(0, 1023); 106 message = message.Substring(0, 1023);
@@ -116,11 +116,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
116 /// Get the current Windlight scene 116 /// Get the current Windlight scene
117 /// </summary> 117 /// </summary>
118 /// <returns>List of windlight parameters</returns> 118 /// <returns>List of windlight parameters</returns>
119 public LSL_List cmGetWindlightScene(LSL_List rules) 119 public LSL_List lsGetWindlightScene(LSL_List rules)
120 { 120 {
121 if (!m_CMFunctionsEnabled) 121 if (!m_LSFunctionsEnabled)
122 { 122 {
123 CMShoutError("Careminster functions are not enabled."); 123 LSShoutError("LightShare functions are not enabled.");
124 return new LSL_List(); 124 return new LSL_List();
125 } 125 }
126 m_host.AddScriptLPS(1); 126 m_host.AddScriptLPS(1);
@@ -440,16 +440,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
440 /// </summary> 440 /// </summary>
441 /// <param name="rules"></param> 441 /// <param name="rules"></param>
442 /// <returns>success: true or false</returns> 442 /// <returns>success: true or false</returns>
443 public int cmSetWindlightScene(LSL_List rules) 443 public int lsSetWindlightScene(LSL_List rules)
444 { 444 {
445 if (!m_CMFunctionsEnabled) 445 if (!m_LSFunctionsEnabled)
446 { 446 {
447 CMShoutError("Careminster functions are not enabled."); 447 LSShoutError("LightShare functions are not enabled.");
448 return 0; 448 return 0;
449 } 449 }
450 if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) 450 if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200)
451 { 451 {
452 CMShoutError("cmSetWindlightScene can only be used by estate managers or owners."); 452 LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
453 return 0; 453 return 0;
454 } 454 }
455 int success = 0; 455 int success = 0;
@@ -462,7 +462,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
462 } 462 }
463 else 463 else
464 { 464 {
465 CMShoutError("Windlight module is disabled"); 465 LSShoutError("Windlight module is disabled");
466 return 0; 466 return 0;
467 } 467 }
468 return success; 468 return success;
@@ -472,16 +472,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
472 /// </summary> 472 /// </summary>
473 /// <param name="rules"></param> 473 /// <param name="rules"></param>
474 /// <returns>success: true or false</returns> 474 /// <returns>success: true or false</returns>
475 public int cmSetWindlightSceneTargeted(LSL_List rules, LSL_Key target) 475 public int lsSetWindlightSceneTargeted(LSL_List rules, LSL_Key target)
476 { 476 {
477 if (!m_CMFunctionsEnabled) 477 if (!m_LSFunctionsEnabled)
478 { 478 {
479 CMShoutError("Careminster functions are not enabled."); 479 LSShoutError("LightShare functions are not enabled.");
480 return 0; 480 return 0;
481 } 481 }
482 if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) 482 if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200)
483 { 483 {
484 CMShoutError("cmSetWindlightSceneTargeted can only be used by estate managers or owners."); 484 LSShoutError("lsSetWindlightSceneTargeted can only be used by estate managers or owners.");
485 return 0; 485 return 0;
486 } 486 }
487 int success = 0; 487 int success = 0;
@@ -494,7 +494,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
494 } 494 }
495 else 495 else
496 { 496 {
497 CMShoutError("Windlight module is disabled"); 497 LSShoutError("Windlight module is disabled");
498 return 0; 498 return 0;
499 } 499 }
500 return success; 500 return success;
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index dde664e..cd6d3a3 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -2202,5 +2202,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2202 2202
2203 m_LSL_Api.SetPrimitiveParamsEx(prim, rules); 2203 m_LSL_Api.SetPrimitiveParamsEx(prim, rules);
2204 } 2204 }
2205
2206 /// <summary>
2207 /// Like osGetAgents but returns enough info for a radar
2208 /// </summary>
2209 /// <returns>Strided list of the UUID, position and name of each avatar in the region</returns>
2210 public LSL_List osGetAvatarList()
2211 {
2212 CheckThreatLevel(ThreatLevel.None, "osGetAvatarList");
2213
2214 LSL_List result = new LSL_List();
2215 World.ForEachScenePresence(delegate (ScenePresence avatar)
2216 {
2217 if (avatar != null && avatar.UUID != m_host.OwnerID)
2218 {
2219 if (avatar.IsChildAgent == false)
2220 {
2221 if (avatar.PhysicsActor != null && avatar.PhysicsActor.Position != null)
2222 {
2223 result.Add(avatar.UUID);
2224 result.Add(avatar.PhysicsActor.Position);
2225 result.Add(avatar.Name);
2226 }
2227 }
2228 }
2229 });
2230 return result;
2231 }
2205 } 2232 }
2206} 2233}