diff options
author | Adam Frisby | 2008-03-30 09:03:38 +0000 |
---|---|---|
committer | Adam Frisby | 2008-03-30 09:03:38 +0000 |
commit | fadd19f3140107d7c09e7a82a97dfb490146ccb9 (patch) | |
tree | 3ce4581ef1af79d451f0b24ce50128f09482f386 /OpenSim/Region/ScriptEngine | |
parent | This update has good news and bad news, first the bad. (diff) | |
download | opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.zip opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.gz opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.bz2 opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.xz |
**Big ass update warning**
* Renamed plugin console message, to send a message to a plugin, use either "plugin <message>", or any unrecognised message will be sent ("plugin" sends explicitly) This replaces the old "script <message>".
* Terrain commands - "terrain <command>" now works again. "Script terrain <command>" does not. Many of the commands have now been reimplemented, eg load-tile. However some have new syntax.
* New console command handler, you can now use things like "terrain help" or "terrain save help". See TerrainModule.cs for an example of how to use the new "Commander" class.
* Commander class - advanced processing of console input and also enables a script API to be generated from registered console commands.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
4 files changed, 37 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs index 9cb1d12..c878e7c 100644 --- a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs | |||
@@ -146,6 +146,12 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
146 | // | 146 | // |
147 | // They are only forwarders to LSL_BuiltIn_Commands.cs | 147 | // They are only forwarders to LSL_BuiltIn_Commands.cs |
148 | // | 148 | // |
149 | |||
150 | public OpenSim.Region.Environment.Interfaces.ICommander GetCommander(string name) | ||
151 | { | ||
152 | return m_LSL_Functions.GetCommander(name); | ||
153 | } | ||
154 | |||
149 | public double llSin(double f) | 155 | public double llSin(double f) |
150 | { | 156 | { |
151 | return m_LSL_Functions.llSin(f); | 157 | return m_LSL_Functions.llSin(f); |
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index c02d869..749761e 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -105,6 +105,12 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
105 | get { return m_ScriptEngine.World; } | 105 | get { return m_ScriptEngine.World; } |
106 | } | 106 | } |
107 | 107 | ||
108 | // Extension commands use this: | ||
109 | public ICommander GetCommander(string name) | ||
110 | { | ||
111 | return World.GetCommander(name); | ||
112 | } | ||
113 | |||
108 | //These are the implementations of the various ll-functions used by the LSL scripts. | 114 | //These are the implementations of the various ll-functions used by the LSL scripts. |
109 | //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 | 115 | //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 |
110 | public double llSin(double f) | 116 | public double llSin(double f) |
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs index baa07ba..9708941 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs | |||
@@ -35,6 +35,8 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
35 | 35 | ||
36 | string State { get; set; } | 36 | string State { get; set; } |
37 | 37 | ||
38 | OpenSim.Region.Environment.Interfaces.ICommander GetCommander(string name); | ||
39 | |||
38 | double llSin(double f); | 40 | double llSin(double f); |
39 | double llCos(double f); | 41 | double llCos(double f); |
40 | double llTan(double f); | 42 | double llTan(double f); |
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs index fefa7ac..fada7aa 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs | |||
@@ -268,6 +268,24 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | |||
268 | l = enumCompileType.cs; | 268 | l = enumCompileType.cs; |
269 | } | 269 | } |
270 | 270 | ||
271 | // Insert additional assemblies here | ||
272 | |||
273 | //ADAM: Disabled for the moment until it's working right. | ||
274 | bool enableCommanderLSL = false; | ||
275 | |||
276 | if (enableCommanderLSL == true && l == enumCompileType.cs) | ||
277 | { | ||
278 | foreach (KeyValuePair<string, | ||
279 | OpenSim.Region.Environment.Interfaces.ICommander> com | ||
280 | in m_scriptEngine.World.GetCommanders()) | ||
281 | { | ||
282 | compileScript = com.Value.GenerateRuntimeAPI() + compileScript; | ||
283 | } | ||
284 | } | ||
285 | |||
286 | // End of insert | ||
287 | |||
288 | |||
271 | switch (l) | 289 | switch (l) |
272 | { | 290 | { |
273 | case enumCompileType.cs: | 291 | case enumCompileType.cs: |
@@ -280,6 +298,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | |||
280 | compileScript = CreateJSCompilerScript(compileScript); | 298 | compileScript = CreateJSCompilerScript(compileScript); |
281 | break; | 299 | break; |
282 | } | 300 | } |
301 | |||
302 | Console.WriteLine("\n\n\n"); | ||
303 | Console.WriteLine(compileScript); | ||
304 | Console.WriteLine("\n\n\n"); | ||
305 | |||
283 | return CompileFromDotNetText(compileScript, l); | 306 | return CompileFromDotNetText(compileScript, l); |
284 | } | 307 | } |
285 | 308 | ||