aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
authorAdam Frisby2008-03-30 09:03:38 +0000
committerAdam Frisby2008-03-30 09:03:38 +0000
commitfadd19f3140107d7c09e7a82a97dfb490146ccb9 (patch)
tree3ce4581ef1af79d451f0b24ce50128f09482f386 /OpenSim/Region/Environment/Scenes
parentThis update has good news and bad news, first the bad. (diff)
downloadopensim-SC_OLD-fadd19f3140107d7c09e7a82a97dfb490146ccb9.zip
opensim-SC_OLD-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.gz
opensim-SC_OLD-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.bz2
opensim-SC_OLD-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/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs25
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneManager.cs8
2 files changed, 25 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 819815b..2f277f9 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -40,10 +40,8 @@ using OpenSim.Framework.Communications;
40using OpenSim.Framework.Communications.Cache; 40using OpenSim.Framework.Communications.Cache;
41using OpenSim.Framework.Servers; 41using OpenSim.Framework.Servers;
42using OpenSim.Region.Environment.Interfaces; 42using OpenSim.Region.Environment.Interfaces;
43using OpenSim.Region.Environment.Modules;
44using OpenSim.Region.Environment.Scenes.Scripting; 43using OpenSim.Region.Environment.Scenes.Scripting;
45using OpenSim.Region.Physics.Manager; 44using OpenSim.Region.Physics.Manager;
46using OpenSim.Region.Terrain;
47using Caps = OpenSim.Region.Capabilities.Caps; 45using Caps = OpenSim.Region.Capabilities.Caps;
48using Image = System.Drawing.Image; 46using Image = System.Drawing.Image;
49using Timer = System.Timers.Timer; 47using Timer = System.Timers.Timer;
@@ -75,7 +73,6 @@ namespace OpenSim.Region.Environment.Scenes
75 private readonly Mutex _primAllocateMutex = new Mutex(false); 73 private readonly Mutex _primAllocateMutex = new Mutex(false);
76 74
77 private int m_timePhase = 24; 75 private int m_timePhase = 24;
78 private int m_timeUpdateCount;
79 76
80 private readonly Mutex updateLock; 77 private readonly Mutex updateLock;
81 public bool m_physicalPrim; 78 public bool m_physicalPrim;
@@ -104,6 +101,7 @@ namespace OpenSim.Region.Environment.Scenes
104 protected Dictionary<string, IRegionModule> Modules = new Dictionary<string, IRegionModule>(); 101 protected Dictionary<string, IRegionModule> Modules = new Dictionary<string, IRegionModule>();
105 public Dictionary<Type, object> ModuleInterfaces = new Dictionary<Type, object>(); 102 public Dictionary<Type, object> ModuleInterfaces = new Dictionary<Type, object>();
106 protected Dictionary<string, object> ModuleAPIMethods = new Dictionary<string, object>(); 103 protected Dictionary<string, object> ModuleAPIMethods = new Dictionary<string, object>();
104 public Dictionary<string, ICommander> m_moduleCommanders = new Dictionary<string, ICommander>();
107 105
108 //API module interfaces 106 //API module interfaces
109 107
@@ -1949,6 +1947,27 @@ namespace OpenSim.Region.Environment.Scenes
1949 } 1947 }
1950 } 1948 }
1951 1949
1950 public void RegisterModuleCommander(string name, ICommander commander)
1951 {
1952 lock (m_moduleCommanders)
1953 {
1954 m_moduleCommanders.Add(name, commander);
1955 }
1956 }
1957
1958 public ICommander GetCommander(string name)
1959 {
1960 lock (m_moduleCommanders)
1961 {
1962 return m_moduleCommanders[name];
1963 }
1964 }
1965
1966 public Dictionary<string, ICommander> GetCommanders()
1967 {
1968 return m_moduleCommanders;
1969 }
1970
1952 /// <summary> 1971 /// <summary>
1953 /// 1972 ///
1954 /// </summary> 1973 /// </summary>
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index ec72207..62994df 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -175,16 +175,14 @@ namespace OpenSim.Region.Environment.Scenes
175 CurrentOrFirstScene.LoadPrimsFromXml2(filename); 175 CurrentOrFirstScene.LoadPrimsFromXml2(filename);
176 } 176 }
177 177
178 [Obsolete("TODO: Remove this warning by 0.7")]
178 public bool RunTerrainCmdOnCurrentScene(string[] cmdparams, ref string result) 179 public bool RunTerrainCmdOnCurrentScene(string[] cmdparams, ref string result)
179 { 180 {
180 m_log.Warn("Old terrain commands format has been deprecated."); 181 m_log.Warn("DEPRECIATED: The terrain engine has been replaced with a new terrain plugin module. Please type 'plugin terrain help' for new commands.");
181 m_log.Warn("Please enter 'script terrain' rather than 'terrain'.");
182 m_log.Warn("FOR EXAMPLE: script terrain fill 25");
183
184 return false; 182 return false;
185 } 183 }
186 184
187 public void SendCommandToCurrentSceneScripts(string[] cmdparams) 185 public void SendCommandToPluginModules(string[] cmdparams)
188 { 186 {
189 ForEachCurrentScene(delegate(Scene scene) { scene.SendCommandToPlugins(cmdparams); }); 187 ForEachCurrentScene(delegate(Scene scene) { scene.SendCommandToPlugins(cmdparams); });
190 } 188 }