aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorCharles Krinke2009-03-31 02:33:19 +0000
committerCharles Krinke2009-03-31 02:33:19 +0000
commit54a27f9f5c556e518c2ba18b9a5494d517dfd041 (patch)
tree5da9db44878c217e0c1872da0f963d88575ef8ff /OpenSim/Region/ScriptEngine/Shared
parentUpdate svn properties, add copyright header, formatting cleanup. (diff)
downloadopensim-SC-54a27f9f5c556e518c2ba18b9a5494d517dfd041.zip
opensim-SC-54a27f9f5c556e518c2ba18b9a5494d517dfd041.tar.gz
opensim-SC-54a27f9f5c556e518c2ba18b9a5494d517dfd041.tar.bz2
opensim-SC-54a27f9f5c556e518c2ba18b9a5494d517dfd041.tar.xz
Thank you kindly, MCortez for a patch that:
With some support from HomerH, this patch adds support for Wind Model plugins via the mono.Addin framework. * Adds console & OSSL access to Wind Parameters * Adds plug-in support for custom wind models * Provides two example Wind Model plug-ins Documentation for the wind module is temporarily located at http://code.google.com/p/flotsam/wiki/CoreWindModule [^] -- will move this documentation to http://opensimulator.org [^] after the patch has been committed.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs45
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs5
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs16
3 files changed, 65 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index c87cc44..491a971 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -268,7 +268,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
268 // 268 //
269 // OpenSim functions 269 // OpenSim functions
270 // 270 //
271
272 public int osTerrainSetHeight(int x, int y, double val) 271 public int osTerrainSetHeight(int x, int y, double val)
273 { 272 {
274 CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight"); 273 CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight");
@@ -920,6 +919,50 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
920 } 919 }
921 920
922 921
922 public string osWindActiveModelPluginName()
923 {
924 CheckThreatLevel(ThreatLevel.None, "osWindActiveModelPluginName");
925 m_host.AddScriptLPS(1);
926
927 IWindModule module = World.RequestModuleInterface<IWindModule>();
928 if (module != null)
929 {
930 return module.WindActiveModelPluginName;
931 }
932
933 return String.Empty;
934 }
935
936 public void osWindParamSet(string plugin, string param, float value)
937 {
938 CheckThreatLevel(ThreatLevel.VeryLow, "osWindParamSet");
939 m_host.AddScriptLPS(1);
940
941 IWindModule module = World.RequestModuleInterface<IWindModule>();
942 if (module != null)
943 {
944 try
945 {
946 module.WindParamSet(plugin, param, value);
947 }
948 catch (Exception) { }
949 }
950 }
951
952 public float osWindParamGet(string plugin, string param)
953 {
954 CheckThreatLevel(ThreatLevel.VeryLow, "osWindParamGet");
955 m_host.AddScriptLPS(1);
956
957 IWindModule module = World.RequestModuleInterface<IWindModule>();
958 if (module != null)
959 {
960 return module.WindParamGet(plugin, param);
961 }
962
963 return 0.0f;
964 }
965
923 966
924 967
925 public double osList2Double(LSL_Types.list src, int index) 968 public double osList2Double(LSL_Types.list src, int index)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index a2a0fea..533ed27 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -104,6 +104,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
104 double osSunGetParam(string param); 104 double osSunGetParam(string param);
105 void osSunSetParam(string param, double value); 105 void osSunSetParam(string param, double value);
106 106
107 // Wind Module Functions
108 string osWindActiveModelPluginName();
109 void osWindParamSet(string plugin, string param, float value);
110 float osWindParamGet(string plugin, string param);
111
107 112
108 string osGetScriptEngineName(); 113 string osGetScriptEngineName();
109 string osGetSimulatorVersion(); 114 string osGetSimulatorVersion();
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index fa45836..54ae32a 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -87,6 +87,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
87 m_OSSL_Functions.osSunSetParam(param, value); 87 m_OSSL_Functions.osSunSetParam(param, value);
88 } 88 }
89 89
90 public string osWindActiveModelPluginName()
91 {
92 return m_OSSL_Functions.osWindActiveModelPluginName();
93 }
94
95 void osWindParamSet(string plugin, string param, float value)
96 {
97 m_OSSL_Functions.osWindParamSet(plugin, param, value);
98 }
99
100 float osWindParamGet(string plugin, string param)
101 {
102 return m_OSSL_Functions.osWindParamGet(plugin, param);
103 }
104
105
90 106
91 public double osList2Double(LSL_Types.list src, int index) 107 public double osList2Double(LSL_Types.list src, int index)
92 { 108 {