diff options
author | Adam Frisby | 2007-10-22 21:57:32 +0000 |
---|---|---|
committer | Adam Frisby | 2007-10-22 21:57:32 +0000 |
commit | 5dad0ed7296b4abfe2c934a8404022a4d2189051 (patch) | |
tree | a1151b7ba2e093e947034b40ad10b8614137cf05 | |
parent | * Made EstateSetting static since there's only one instance, and we only need... (diff) | |
download | opensim-SC-5dad0ed7296b4abfe2c934a8404022a4d2189051.zip opensim-SC-5dad0ed7296b4abfe2c934a8404022a4d2189051.tar.gz opensim-SC-5dad0ed7296b4abfe2c934a8404022a4d2189051.tar.bz2 opensim-SC-5dad0ed7296b4abfe2c934a8404022a4d2189051.tar.xz |
* Return of R2162. /Take that SVN!/
17 files changed, 186 insertions, 66 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index 17829b2..9dbd50e 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs | |||
@@ -72,7 +72,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
72 | /// </summary> | 72 | /// </summary> |
73 | public AssetCache(IAssetServer assetServer) | 73 | public AssetCache(IAssetServer assetServer) |
74 | { | 74 | { |
75 | System.Console.WriteLine("Creating Asset cache"); | 75 | OpenSim.Framework.Console.MainLog.Instance.Verbose("ASSETSTORAGE","Creating Asset cache"); |
76 | _assetServer = assetServer; | 76 | _assetServer = assetServer; |
77 | _assetServer.SetReceiver(this); | 77 | _assetServer.SetReceiver(this); |
78 | Assets = new Dictionary<LLUUID, AssetInfo>(); | 78 | Assets = new Dictionary<LLUUID, AssetInfo>(); |
@@ -89,7 +89,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
89 | 89 | ||
90 | public AssetCache(string assetServerDLLName, string assetServerURL, string assetServerKey) | 90 | public AssetCache(string assetServerDLLName, string assetServerURL, string assetServerKey) |
91 | { | 91 | { |
92 | System.Console.WriteLine("Creating Asset cache"); | 92 | OpenSim.Framework.Console.MainLog.Instance.Verbose("ASSETSTORAGE", "Creating Asset cache"); |
93 | _assetServer = this.LoadAssetDll(assetServerDLLName); | 93 | _assetServer = this.LoadAssetDll(assetServerDLLName); |
94 | 94 | ||
95 | 95 | ||
diff --git a/OpenSim/Framework/Communications/Cache/AssetServer.cs b/OpenSim/Framework/Communications/Cache/AssetServer.cs index 22bdc5c..aebda00 100644 --- a/OpenSim/Framework/Communications/Cache/AssetServer.cs +++ b/OpenSim/Framework/Communications/Cache/AssetServer.cs | |||
@@ -51,7 +51,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
51 | yapfile = File.Exists(Path.Combine(Util.dataDir(), "regionassets.yap")); | 51 | yapfile = File.Exists(Path.Combine(Util.dataDir(), "regionassets.yap")); |
52 | 52 | ||
53 | db = Db4oFactory.OpenFile(Path.Combine(Util.dataDir(), "regionassets.yap")); | 53 | db = Db4oFactory.OpenFile(Path.Combine(Util.dataDir(), "regionassets.yap")); |
54 | MainLog.Instance.Verbose("Db4 Asset database creation"); | 54 | MainLog.Instance.Verbose("ASSETS","Db4 Asset database creation"); |
55 | 55 | ||
56 | if (!yapfile) | 56 | if (!yapfile) |
57 | { | 57 | { |
@@ -75,7 +75,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
75 | 75 | ||
76 | if (db != null) | 76 | if (db != null) |
77 | { | 77 | { |
78 | MainLog.Instance.Verbose("Closing local asset server database"); | 78 | MainLog.Instance.Verbose("ASSETSERVER","Closing local asset server database"); |
79 | db.Close(); | 79 | db.Close(); |
80 | } | 80 | } |
81 | } | 81 | } |
diff --git a/OpenSim/Framework/Communications/Cache/AssetServerBase.cs b/OpenSim/Framework/Communications/Cache/AssetServerBase.cs index 08d5b87..a3ec346 100644 --- a/OpenSim/Framework/Communications/Cache/AssetServerBase.cs +++ b/OpenSim/Framework/Communications/Cache/AssetServerBase.cs | |||
@@ -37,7 +37,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
37 | 37 | ||
38 | public AssetServerBase() | 38 | public AssetServerBase() |
39 | { | 39 | { |
40 | System.Console.WriteLine("Starting Db4o asset storage system"); | 40 | OpenSim.Framework.Console.MainLog.Instance.Verbose("ASSETSERVER","Starting Db4o asset storage system"); |
41 | this._assetRequests = new BlockingQueue<ARequest>(); | 41 | this._assetRequests = new BlockingQueue<ARequest>(); |
42 | 42 | ||
43 | this._localAssetServerThread = new Thread( RunRequests ); | 43 | this._localAssetServerThread = new Thread( RunRequests ); |
diff --git a/OpenSim/Framework/Communications/Cache/SQLAssetServer.cs b/OpenSim/Framework/Communications/Cache/SQLAssetServer.cs index 69f83d2..580e5c4 100644 --- a/OpenSim/Framework/Communications/Cache/SQLAssetServer.cs +++ b/OpenSim/Framework/Communications/Cache/SQLAssetServer.cs | |||
@@ -68,7 +68,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
68 | m_assetProviderPlugin = plug; | 68 | m_assetProviderPlugin = plug; |
69 | m_assetProviderPlugin.Initialise(); | 69 | m_assetProviderPlugin.Initialise(); |
70 | 70 | ||
71 | MainLog.Instance.Verbose("AssetStorage: Added " + m_assetProviderPlugin.Name + " " + m_assetProviderPlugin.Version); | 71 | MainLog.Instance.Verbose("AssetStorage","Added " + m_assetProviderPlugin.Name + " " + m_assetProviderPlugin.Version); |
72 | } | 72 | } |
73 | 73 | ||
74 | typeInterface = null; | 74 | typeInterface = null; |
@@ -92,7 +92,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
92 | { | 92 | { |
93 | ARequest req = this._assetRequests.Dequeue(); | 93 | ARequest req = this._assetRequests.Dequeue(); |
94 | 94 | ||
95 | MainLog.Instance.Verbose("Requesting asset: " + req.AssetID); | 95 | MainLog.Instance.Verbose("AssetStorage","Requesting asset: " + req.AssetID); |
96 | 96 | ||
97 | AssetBase asset = null; | 97 | AssetBase asset = null; |
98 | lock (syncLock) | 98 | lock (syncLock) |
diff --git a/OpenSim/Framework/Communications/InventoryServiceBase.cs b/OpenSim/Framework/Communications/InventoryServiceBase.cs index 65eb509..06a1ca8 100644 --- a/OpenSim/Framework/Communications/InventoryServiceBase.cs +++ b/OpenSim/Framework/Communications/InventoryServiceBase.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Framework.Communications | |||
70 | (IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | 70 | (IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); |
71 | plug.Initialise(); | 71 | plug.Initialise(); |
72 | this.m_plugins.Add(plug.getName(), plug); | 72 | this.m_plugins.Add(plug.getName(), plug); |
73 | MainLog.Instance.Verbose("Inventorystorage: Added IInventoryData Interface"); | 73 | MainLog.Instance.Verbose("INVENTORY","Added IInventoryData Interface"); |
74 | } | 74 | } |
75 | } | 75 | } |
76 | } | 76 | } |
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs index 674c746..f4648df 100644 --- a/OpenSim/Framework/Communications/LoginService.cs +++ b/OpenSim/Framework/Communications/LoginService.cs | |||
@@ -66,7 +66,7 @@ namespace OpenSim.Framework.UserManagement | |||
66 | public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) | 66 | public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) |
67 | { | 67 | { |
68 | 68 | ||
69 | MainLog.Instance.Verbose("Attempting login now..."); | 69 | MainLog.Instance.Verbose("LOGIN","Attempting login now..."); |
70 | XmlRpcResponse response = new XmlRpcResponse(); | 70 | XmlRpcResponse response = new XmlRpcResponse(); |
71 | Hashtable requestData = (Hashtable)request.Params[0]; | 71 | Hashtable requestData = (Hashtable)request.Params[0]; |
72 | 72 | ||
diff --git a/OpenSim/Framework/Console/LogBase.cs b/OpenSim/Framework/Console/LogBase.cs index 5a7ce4d..246afa1 100644 --- a/OpenSim/Framework/Console/LogBase.cs +++ b/OpenSim/Framework/Console/LogBase.cs | |||
@@ -170,8 +170,11 @@ namespace OpenSim.Framework.Console | |||
170 | /// <param name="args">WriteLine-style message arguments</param> | 170 | /// <param name="args">WriteLine-style message arguments</param> |
171 | public void Verbose(string format, params object[] args) | 171 | public void Verbose(string format, params object[] args) |
172 | { | 172 | { |
173 | WriteNewLine(ConsoleColor.Gray, format, args); | 173 | if (!m_silent) |
174 | return; | 174 | { |
175 | WriteNewLine(ConsoleColor.Gray, format, args); | ||
176 | return; | ||
177 | } | ||
175 | } | 178 | } |
176 | 179 | ||
177 | /// <summary> | 180 | /// <summary> |
@@ -182,9 +185,12 @@ namespace OpenSim.Framework.Console | |||
182 | /// <param name="args">WriteLine-style message arguments</param> | 185 | /// <param name="args">WriteLine-style message arguments</param> |
183 | public void Verbose(string sender, string format, params object[] args) | 186 | public void Verbose(string sender, string format, params object[] args) |
184 | { | 187 | { |
185 | WritePrefixLine(DeriveColor(sender), sender); | 188 | if (!m_silent) |
186 | WriteNewLine(ConsoleColor.Gray, format, args); | 189 | { |
187 | return; | 190 | WritePrefixLine(DeriveColor(sender), sender); |
191 | WriteNewLine(ConsoleColor.Gray, format, args); | ||
192 | return; | ||
193 | } | ||
188 | } | 194 | } |
189 | 195 | ||
190 | /// <summary> | 196 | /// <summary> |
@@ -234,22 +240,20 @@ namespace OpenSim.Framework.Console | |||
234 | Log.Write(now); | 240 | Log.Write(now); |
235 | Log.WriteLine(format, args); | 241 | Log.WriteLine(format, args); |
236 | Log.Flush(); | 242 | Log.Flush(); |
237 | if (!m_silent) | 243 | |
244 | System.Console.Write(now); | ||
245 | try | ||
238 | { | 246 | { |
239 | System.Console.Write(now); | 247 | if (color != ConsoleColor.White) |
240 | try | 248 | System.Console.ForegroundColor = color; |
241 | { | ||
242 | if (color != ConsoleColor.White) | ||
243 | System.Console.ForegroundColor = color; | ||
244 | 249 | ||
245 | System.Console.WriteLine(format, args); | 250 | System.Console.WriteLine(format, args); |
246 | System.Console.ResetColor(); | 251 | System.Console.ResetColor(); |
247 | } | 252 | } |
248 | catch (ArgumentNullException) | 253 | catch (ArgumentNullException) |
249 | { | 254 | { |
250 | // Some older systems dont support coloured text. | 255 | // Some older systems dont support coloured text. |
251 | System.Console.WriteLine(format, args); | 256 | System.Console.WriteLine(format, args); |
252 | } | ||
253 | } | 257 | } |
254 | return; | 258 | return; |
255 | } | 259 | } |
@@ -265,19 +269,16 @@ namespace OpenSim.Framework.Console | |||
265 | 269 | ||
266 | System.Console.Write("["); | 270 | System.Console.Write("["); |
267 | 271 | ||
268 | if (!m_silent) | 272 | try |
269 | { | 273 | { |
270 | try | 274 | System.Console.ForegroundColor = color; |
271 | { | 275 | System.Console.Write(sender); |
272 | System.Console.ForegroundColor = color; | 276 | System.Console.ResetColor(); |
273 | System.Console.Write(sender); | 277 | } |
274 | System.Console.ResetColor(); | 278 | catch (ArgumentNullException) |
275 | } | 279 | { |
276 | catch (ArgumentNullException) | 280 | // Some older systems dont support coloured text. |
277 | { | 281 | System.Console.WriteLine(sender); |
278 | // Some older systems dont support coloured text. | ||
279 | System.Console.WriteLine(sender); | ||
280 | } | ||
281 | } | 282 | } |
282 | 283 | ||
283 | System.Console.Write("] \t"); | 284 | System.Console.Write("] \t"); |
diff --git a/OpenSim/Framework/General/Types/EstateSettings.cs b/OpenSim/Framework/General/Types/EstateSettings.cs index abdcf6f..2675e52 100644 --- a/OpenSim/Framework/General/Types/EstateSettings.cs +++ b/OpenSim/Framework/General/Types/EstateSettings.cs | |||
@@ -557,8 +557,12 @@ namespace OpenSim.Framework.Types | |||
557 | private ConfigurationMember configMember; | 557 | private ConfigurationMember configMember; |
558 | public EstateSettings() | 558 | public EstateSettings() |
559 | { | 559 | { |
560 | configMember = new ConfigurationMember(Path.Combine(Util.configDir(),"estate_settings.xml"), "ESTATE SETTINGS", this.loadConfigurationOptions, this.handleIncomingConfiguration); | 560 | // Temporary hack to prevent multiple loadings. |
561 | configMember.performConfigurationRetrieve(); | 561 | if (configMember == null) |
562 | { | ||
563 | configMember = new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS", this.loadConfigurationOptions, this.handleIncomingConfiguration); | ||
564 | configMember.performConfigurationRetrieve(); | ||
565 | } | ||
562 | } | 566 | } |
563 | 567 | ||
564 | public void loadConfigurationOptions() | 568 | public void loadConfigurationOptions() |
diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index 6d432fd..179a651 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs | |||
@@ -224,7 +224,7 @@ namespace OpenSim.Framework.Servers | |||
224 | { | 224 | { |
225 | try | 225 | try |
226 | { | 226 | { |
227 | MainLog.Instance.Status("HTTPD", "Spawned main thread OK"); | 227 | MainLog.Instance.Verbose("HTTPD", "Spawned main thread OK"); |
228 | m_httpListener = new HttpListener(); | 228 | m_httpListener = new HttpListener(); |
229 | 229 | ||
230 | m_httpListener.Prefixes.Add("http://+:" + m_port + "/"); | 230 | m_httpListener.Prefixes.Add("http://+:" + m_port + "/"); |
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index d2f5648..9de3831 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -262,8 +262,10 @@ namespace OpenSim | |||
262 | } | 262 | } |
263 | else | 263 | else |
264 | { | 264 | { |
265 | MainLog.Instance.Verbose("No startup command script specified. Moving on..."); | 265 | MainLog.Instance.Verbose("STARTUP","No startup command script specified. Moving on..."); |
266 | } | 266 | } |
267 | |||
268 | MainLog.Instance.Status("STARTUP","Startup complete, serving " + m_udpServers.Count.ToString() + " region(s)"); | ||
267 | } | 269 | } |
268 | 270 | ||
269 | private static void CreateDefaultRegionInfoXml(string fileName) | 271 | private static void CreateDefaultRegionInfoXml(string fileName) |
@@ -361,11 +363,11 @@ namespace OpenSim | |||
361 | RunCommandScript(m_shutdownCommandsFile); | 363 | RunCommandScript(m_shutdownCommandsFile); |
362 | } | 364 | } |
363 | 365 | ||
364 | m_log.Verbose("Closing all threads"); | 366 | m_log.Verbose("SHUTDOWN", "Closing all threads"); |
365 | m_log.Verbose("Killing listener thread"); | 367 | m_log.Verbose("SHUTDOWN", "Killing listener thread"); |
366 | m_log.Verbose("Killing clients"); | 368 | m_log.Verbose("SHUTDOWN", "Killing clients"); |
367 | // IMPLEMENT THIS | 369 | // IMPLEMENT THIS |
368 | m_log.Verbose("Closing console and terminating"); | 370 | m_log.Verbose("SHUTDOWN", "Closing console and terminating"); |
369 | 371 | ||
370 | m_sceneManager.Close(); | 372 | m_sceneManager.Close(); |
371 | 373 | ||
@@ -380,7 +382,7 @@ namespace OpenSim | |||
380 | /// <param name="fileName"></param> | 382 | /// <param name="fileName"></param> |
381 | private void RunCommandScript(string fileName) | 383 | private void RunCommandScript(string fileName) |
382 | { | 384 | { |
383 | MainLog.Instance.Verbose("Running command script (" + fileName + ")"); | 385 | MainLog.Instance.Verbose("COMMANDFILE", "Running " + fileName); |
384 | if (File.Exists(fileName)) | 386 | if (File.Exists(fileName)) |
385 | { | 387 | { |
386 | StreamReader readFile = File.OpenText(fileName); | 388 | StreamReader readFile = File.OpenText(fileName); |
@@ -389,14 +391,14 @@ namespace OpenSim | |||
389 | { | 391 | { |
390 | if (currentCommand != "") | 392 | if (currentCommand != "") |
391 | { | 393 | { |
392 | MainLog.Instance.Verbose("Running '" + currentCommand + "'"); | 394 | MainLog.Instance.Verbose("COMMANDFILE", "Running '" + currentCommand + "'"); |
393 | MainLog.Instance.MainLogRunCommand(currentCommand); | 395 | MainLog.Instance.MainLogRunCommand(currentCommand); |
394 | } | 396 | } |
395 | } | 397 | } |
396 | } | 398 | } |
397 | else | 399 | else |
398 | { | 400 | { |
399 | MainLog.Instance.Error("Command script missing. Can not run commands"); | 401 | MainLog.Instance.Error("COMMANDFILE","Command script missing. Can not run commands"); |
400 | } | 402 | } |
401 | } | 403 | } |
402 | 404 | ||
diff --git a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs index 1a00f2c..e375343 100644 --- a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs +++ b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs | |||
@@ -47,8 +47,8 @@ namespace OpenSim.Region.Environment.Interfaces | |||
47 | 47 | ||
48 | List<SceneObjectGroup> LoadObjects(LLUUID regionUUID); | 48 | List<SceneObjectGroup> LoadObjects(LLUUID regionUUID); |
49 | 49 | ||
50 | void StoreTerrain(double[,] terrain); | 50 | void StoreTerrain(double[,] terrain, LLUUID regionID); |
51 | double[,] LoadTerrain(); | 51 | double[,] LoadTerrain(LLUUID regionID); |
52 | 52 | ||
53 | void StoreParcel(Land Parcel); | 53 | void StoreParcel(Land Parcel); |
54 | void RemoveLandObject(uint ID); | 54 | void RemoveLandObject(uint ID); |
diff --git a/OpenSim/Region/Environment/ModuleLoader.cs b/OpenSim/Region/Environment/ModuleLoader.cs index c579c1d..4fc45a0 100644 --- a/OpenSim/Region/Environment/ModuleLoader.cs +++ b/OpenSim/Region/Environment/ModuleLoader.cs | |||
@@ -168,7 +168,7 @@ namespace OpenSim.Region.Environment | |||
168 | } | 168 | } |
169 | catch( BadImageFormatException e ) | 169 | catch( BadImageFormatException e ) |
170 | { | 170 | { |
171 | m_log.Warn( "MODULES", "The file [{0}] is not a module assembly.", e.FileName ); | 171 | m_log.Verbose( "MODULES", "The file [{0}] is not a module assembly.", e.FileName ); |
172 | } | 172 | } |
173 | } | 173 | } |
174 | 174 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index e2430f8..ee47678 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -370,7 +370,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
370 | phyScene.SetTerrain(Terrain.GetHeights1D()); | 370 | phyScene.SetTerrain(Terrain.GetHeights1D()); |
371 | } | 371 | } |
372 | 372 | ||
373 | storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD()); | 373 | storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD(),RegionInfo.RegionID); |
374 | 374 | ||
375 | float[] terData = Terrain.GetHeights1D(); | 375 | float[] terData = Terrain.GetHeights1D(); |
376 | 376 | ||
@@ -466,7 +466,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
466 | { | 466 | { |
467 | try | 467 | try |
468 | { | 468 | { |
469 | double[,] map = storageManager.DataStore.LoadTerrain(); | 469 | double[,] map = storageManager.DataStore.LoadTerrain(RegionInfo.RegionID); |
470 | if (map == null) | 470 | if (map == null) |
471 | { | 471 | { |
472 | if (string.IsNullOrEmpty(m_regInfo.EstateSettings.terrainFile)) | 472 | if (string.IsNullOrEmpty(m_regInfo.EstateSettings.terrainFile)) |
@@ -474,7 +474,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
474 | MainLog.Instance.Verbose("TERRAIN", "No default terrain. Generating a new terrain."); | 474 | MainLog.Instance.Verbose("TERRAIN", "No default terrain. Generating a new terrain."); |
475 | Terrain.HillsGenerator(); | 475 | Terrain.HillsGenerator(); |
476 | 476 | ||
477 | storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD()); | 477 | storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD(),RegionInfo.RegionID); |
478 | } | 478 | } |
479 | else | 479 | else |
480 | { | 480 | { |
@@ -488,7 +488,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
488 | MainLog.Instance.Verbose("TERRAIN", "No terrain found in database or default. Generating a new terrain."); | 488 | MainLog.Instance.Verbose("TERRAIN", "No terrain found in database or default. Generating a new terrain."); |
489 | Terrain.HillsGenerator(); | 489 | Terrain.HillsGenerator(); |
490 | } | 490 | } |
491 | storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD()); | 491 | storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD(), RegionInfo.RegionID); |
492 | } | 492 | } |
493 | } | 493 | } |
494 | else | 494 | else |
diff --git a/OpenSim/Region/ExtensionsScriptModule/ScriptManager.cs b/OpenSim/Region/ExtensionsScriptModule/ScriptManager.cs index be27a0b..95ab2ca 100644 --- a/OpenSim/Region/ExtensionsScriptModule/ScriptManager.cs +++ b/OpenSim/Region/ExtensionsScriptModule/ScriptManager.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.ExtensionsScriptModule | |||
70 | 70 | ||
71 | public void Initialise(Scene scene, IConfigSource config) | 71 | public void Initialise(Scene scene, IConfigSource config) |
72 | { | 72 | { |
73 | System.Console.WriteLine("Initialising Extensions Scripting Module"); | 73 | OpenSim.Framework.Console.MainLog.Instance.Verbose("SCRIPTMODULE", "Initialising Extensions Scripting Module"); |
74 | m_scene = scene; | 74 | m_scene = scene; |
75 | 75 | ||
76 | m_scene.RegisterModuleInterface<IExtensionScriptModule>(this); | 76 | m_scene.RegisterModuleInterface<IExtensionScriptModule>(this); |
diff --git a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs index 87b6d34..81bc938 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs | |||
@@ -93,7 +93,7 @@ namespace OpenSim.Region.Physics.Manager | |||
93 | IPhysicsPlugin plug = (IPhysicsPlugin)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | 93 | IPhysicsPlugin plug = (IPhysicsPlugin)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); |
94 | plug.Init(); | 94 | plug.Init(); |
95 | this._plugins.Add(plug.GetName(),plug); | 95 | this._plugins.Add(plug.GetName(),plug); |
96 | Console.WriteLine("added physics engine: " + plug.GetName()); | 96 | OpenSim.Framework.Console.MainLog.Instance.Verbose("PHYSICS","Added physics engine: " + plug.GetName()); |
97 | 97 | ||
98 | } | 98 | } |
99 | 99 | ||
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs index 733e4c4..cc0ff7a 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | |||
@@ -43,10 +43,12 @@ namespace OpenSim.DataStore.MonoSqlite | |||
43 | { | 43 | { |
44 | private const string primSelect = "select * from prims"; | 44 | private const string primSelect = "select * from prims"; |
45 | private const string shapeSelect = "select * from primshapes"; | 45 | private const string shapeSelect = "select * from primshapes"; |
46 | private const string terrainSelect = "select * from terrain"; | ||
46 | 47 | ||
47 | private DataSet ds; | 48 | private DataSet ds; |
48 | private SqliteDataAdapter primDa; | 49 | private SqliteDataAdapter primDa; |
49 | private SqliteDataAdapter shapeDa; | 50 | private SqliteDataAdapter shapeDa; |
51 | private SqliteDataAdapter terrainDa; | ||
50 | 52 | ||
51 | /*********************************************************************** | 53 | /*********************************************************************** |
52 | * | 54 | * |
@@ -70,6 +72,8 @@ namespace OpenSim.DataStore.MonoSqlite | |||
70 | shapeDa = new SqliteDataAdapter(shapeSelectCmd); | 72 | shapeDa = new SqliteDataAdapter(shapeSelectCmd); |
71 | // SqliteCommandBuilder shapeCb = new SqliteCommandBuilder(shapeDa); | 73 | // SqliteCommandBuilder shapeCb = new SqliteCommandBuilder(shapeDa); |
72 | 74 | ||
75 | SqliteCommand terrainSelectCmd = new SqliteCommand(terrainSelect, conn); | ||
76 | terrainDa = new SqliteDataAdapter(terrainSelectCmd); | ||
73 | 77 | ||
74 | // We fill the data set, now we've got copies in memory for the information | 78 | // We fill the data set, now we've got copies in memory for the information |
75 | // TODO: see if the linkage actually holds. | 79 | // TODO: see if the linkage actually holds. |
@@ -83,6 +87,10 @@ namespace OpenSim.DataStore.MonoSqlite | |||
83 | 87 | ||
84 | ds.Tables.Add(createShapeTable()); | 88 | ds.Tables.Add(createShapeTable()); |
85 | setupShapeCommands(shapeDa, conn); | 89 | setupShapeCommands(shapeDa, conn); |
90 | |||
91 | ds.Tables.Add(createTerrainTable()); | ||
92 | setupTerrainCommands(terrainDa, conn); | ||
93 | terrainDa.Fill(ds.Tables["terrain"]); | ||
86 | 94 | ||
87 | // WORKAROUND: This is a work around for sqlite on | 95 | // WORKAROUND: This is a work around for sqlite on |
88 | // windows, which gets really unhappy with blob columns | 96 | // windows, which gets really unhappy with blob columns |
@@ -210,14 +218,57 @@ namespace OpenSim.DataStore.MonoSqlite | |||
210 | } | 218 | } |
211 | 219 | ||
212 | 220 | ||
213 | public void StoreTerrain(double[,] ter) | 221 | public void StoreTerrain(double[,] ter, LLUUID regionID) |
214 | { | 222 | { |
223 | int revision = OpenSim.Framework.Utilities.Util.UnixTimeSinceEpoch(); | ||
224 | |||
225 | MainLog.Instance.Verbose("DATASTORE", "Storing terrain revision r" + revision.ToString()); | ||
226 | |||
227 | DataTable terrain = ds.Tables["terrain"]; | ||
228 | |||
229 | DataRow newrow = terrain.NewRow(); | ||
230 | fillTerrainRow(newrow, regionID, revision, ter); | ||
231 | terrain.Rows.Add(newrow); | ||
215 | 232 | ||
233 | Commit(); | ||
216 | } | 234 | } |
217 | 235 | ||
218 | public double[,] LoadTerrain() | 236 | public double[,] LoadTerrain(LLUUID regionID) |
219 | { | 237 | { |
220 | return null; | 238 | double[,] terret = new double[256, 256]; |
239 | terret.Initialize(); | ||
240 | |||
241 | DataTable terrain = ds.Tables["terrain"]; | ||
242 | |||
243 | DataRow[] rows = terrain.Select("RegionUUID = '" + regionID.ToString() + "'","Revision DESC"); | ||
244 | |||
245 | int rev = 0; | ||
246 | |||
247 | if (rows.Length > 0) | ||
248 | { | ||
249 | DataRow row = rows[0]; | ||
250 | |||
251 | byte[] heightmap = (byte[])row["Heightfield"]; | ||
252 | for (int x = 0; x < 256; x++) | ||
253 | { | ||
254 | for (int y = 0; y < 256; y++) | ||
255 | { | ||
256 | terret[x, y] = BitConverter.ToDouble(heightmap, ((x * 256) + y) * 8); | ||
257 | } | ||
258 | } | ||
259 | |||
260 | rev = (int)row["Revision"]; | ||
261 | } | ||
262 | else | ||
263 | { | ||
264 | MainLog.Instance.Verbose("DATASTORE", "No terrain found for region"); | ||
265 | return null; | ||
266 | } | ||
267 | |||
268 | |||
269 | MainLog.Instance.Verbose("DATASTORE", "Loaded terrain revision r" + rev.ToString()); | ||
270 | |||
271 | return terret; | ||
221 | } | 272 | } |
222 | 273 | ||
223 | public void RemoveLandObject(uint id) | 274 | public void RemoveLandObject(uint id) |
@@ -240,6 +291,7 @@ namespace OpenSim.DataStore.MonoSqlite | |||
240 | lock (ds) { | 291 | lock (ds) { |
241 | primDa.Update(ds, "prims"); | 292 | primDa.Update(ds, "prims"); |
242 | shapeDa.Update(ds, "primshapes"); | 293 | shapeDa.Update(ds, "primshapes"); |
294 | terrainDa.Update(ds, "terrain"); | ||
243 | ds.AcceptChanges(); | 295 | ds.AcceptChanges(); |
244 | } | 296 | } |
245 | } | 297 | } |
@@ -263,6 +315,22 @@ namespace OpenSim.DataStore.MonoSqlite | |||
263 | dt.Columns.Add(col); | 315 | dt.Columns.Add(col); |
264 | } | 316 | } |
265 | 317 | ||
318 | private DataTable createTerrainTable() | ||
319 | { | ||
320 | DataTable terrain = new DataTable("terrain"); | ||
321 | |||
322 | createCol(terrain, "RegionUUID", typeof(System.String)); | ||
323 | createCol(terrain, "Revision", typeof(System.Int32)); | ||
324 | createCol(terrain, "Heightfield", typeof(System.Byte[])); | ||
325 | |||
326 | /* // Attempting to work out requirements to get SQLite to actually *save* the data. | ||
327 | createCol(terrain, "PrIndex", typeof(System.String)); | ||
328 | terrain.PrimaryKey = new DataColumn[] { terrain.Columns["PrIndex"] }; | ||
329 | */ | ||
330 | |||
331 | return terrain; | ||
332 | } | ||
333 | |||
266 | private DataTable createPrimTable() | 334 | private DataTable createPrimTable() |
267 | { | 335 | { |
268 | DataTable prims = new DataTable("prims"); | 336 | DataTable prims = new DataTable("prims"); |
@@ -431,6 +499,22 @@ namespace OpenSim.DataStore.MonoSqlite | |||
431 | return prim; | 499 | return prim; |
432 | } | 500 | } |
433 | 501 | ||
502 | private void fillTerrainRow(DataRow row, LLUUID regionUUID, int rev, double[,] val) | ||
503 | { | ||
504 | row["RegionUUID"] = regionUUID; | ||
505 | row["Revision"] = rev; | ||
506 | |||
507 | System.IO.MemoryStream str = new System.IO.MemoryStream(65536 * sizeof(double)); | ||
508 | System.IO.BinaryWriter bw = new System.IO.BinaryWriter(str); | ||
509 | |||
510 | // TODO: COMPATIBILITY - Add byte-order conversions | ||
511 | for (int x = 0; x < 256; x++) | ||
512 | for (int y = 0; y < 256; y++) | ||
513 | bw.Write(val[x, y]); | ||
514 | |||
515 | row["Heightfield"] = str.ToArray(); | ||
516 | } | ||
517 | |||
434 | private void fillPrimRow(DataRow row, SceneObjectPart prim, LLUUID sceneGroupID, LLUUID regionUUID) | 518 | private void fillPrimRow(DataRow row, SceneObjectPart prim, LLUUID sceneGroupID, LLUUID regionUUID) |
435 | { | 519 | { |
436 | row["UUID"] = prim.UUID; | 520 | row["UUID"] = prim.UUID; |
@@ -692,7 +776,7 @@ namespace OpenSim.DataStore.MonoSqlite | |||
692 | subsql += ",\n"; | 776 | subsql += ",\n"; |
693 | } | 777 | } |
694 | subsql += col.ColumnName + " " + sqliteType(col.DataType); | 778 | subsql += col.ColumnName + " " + sqliteType(col.DataType); |
695 | if (col == dt.PrimaryKey[0]) | 779 | if (dt.PrimaryKey.Length > 0 && col == dt.PrimaryKey[0]) |
696 | { | 780 | { |
697 | subsql += " primary key"; | 781 | subsql += " primary key"; |
698 | } | 782 | } |
@@ -746,6 +830,12 @@ namespace OpenSim.DataStore.MonoSqlite | |||
746 | da.DeleteCommand = delete; | 830 | da.DeleteCommand = delete; |
747 | } | 831 | } |
748 | 832 | ||
833 | private void setupTerrainCommands(SqliteDataAdapter da, SqliteConnection conn) | ||
834 | { | ||
835 | da.InsertCommand = createInsertCommand("terrain", ds.Tables["terrain"]); | ||
836 | da.InsertCommand.Connection = conn; | ||
837 | } | ||
838 | |||
749 | private void setupShapeCommands(SqliteDataAdapter da, SqliteConnection conn) | 839 | private void setupShapeCommands(SqliteDataAdapter da, SqliteConnection conn) |
750 | { | 840 | { |
751 | da.InsertCommand = createInsertCommand("primshapes", ds.Tables["primshapes"]); | 841 | da.InsertCommand = createInsertCommand("primshapes", ds.Tables["primshapes"]); |
@@ -764,12 +854,15 @@ namespace OpenSim.DataStore.MonoSqlite | |||
764 | { | 854 | { |
765 | string createPrims = defineTable(createPrimTable()); | 855 | string createPrims = defineTable(createPrimTable()); |
766 | string createShapes = defineTable(createShapeTable()); | 856 | string createShapes = defineTable(createShapeTable()); |
857 | string createTerrain = defineTable(createTerrainTable()); | ||
767 | 858 | ||
768 | SqliteCommand pcmd = new SqliteCommand(createPrims, conn); | 859 | SqliteCommand pcmd = new SqliteCommand(createPrims, conn); |
769 | SqliteCommand scmd = new SqliteCommand(createShapes, conn); | 860 | SqliteCommand scmd = new SqliteCommand(createShapes, conn); |
861 | SqliteCommand tcmd = new SqliteCommand(createTerrain, conn); | ||
770 | conn.Open(); | 862 | conn.Open(); |
771 | pcmd.ExecuteNonQuery(); | 863 | pcmd.ExecuteNonQuery(); |
772 | scmd.ExecuteNonQuery(); | 864 | scmd.ExecuteNonQuery(); |
865 | tcmd.ExecuteNonQuery(); | ||
773 | conn.Close(); | 866 | conn.Close(); |
774 | } | 867 | } |
775 | 868 | ||
@@ -779,12 +872,15 @@ namespace OpenSim.DataStore.MonoSqlite | |||
779 | SqliteDataAdapter pDa = new SqliteDataAdapter(primSelectCmd); | 872 | SqliteDataAdapter pDa = new SqliteDataAdapter(primSelectCmd); |
780 | SqliteCommand shapeSelectCmd = new SqliteCommand(shapeSelect, conn); | 873 | SqliteCommand shapeSelectCmd = new SqliteCommand(shapeSelect, conn); |
781 | SqliteDataAdapter sDa = new SqliteDataAdapter(shapeSelectCmd); | 874 | SqliteDataAdapter sDa = new SqliteDataAdapter(shapeSelectCmd); |
875 | SqliteCommand terrainSelectCmd = new SqliteCommand(terrainSelect, conn); | ||
876 | SqliteDataAdapter tDa = new SqliteDataAdapter(terrainSelectCmd); | ||
782 | 877 | ||
783 | DataSet tmpDS = new DataSet(); | 878 | DataSet tmpDS = new DataSet(); |
784 | try | 879 | try |
785 | { | 880 | { |
786 | pDa.Fill(tmpDS, "prims"); | 881 | pDa.Fill(tmpDS, "prims"); |
787 | sDa.Fill(tmpDS, "primshapes"); | 882 | sDa.Fill(tmpDS, "primshapes"); |
883 | tDa.Fill(tmpDS, "terrain"); | ||
788 | } | 884 | } |
789 | catch (Mono.Data.SqliteClient.SqliteSyntaxException) | 885 | catch (Mono.Data.SqliteClient.SqliteSyntaxException) |
790 | { | 886 | { |
@@ -794,6 +890,7 @@ namespace OpenSim.DataStore.MonoSqlite | |||
794 | 890 | ||
795 | pDa.Fill(tmpDS, "prims"); | 891 | pDa.Fill(tmpDS, "prims"); |
796 | sDa.Fill(tmpDS, "primshapes"); | 892 | sDa.Fill(tmpDS, "primshapes"); |
893 | tDa.Fill(tmpDS, "terrain"); | ||
797 | 894 | ||
798 | foreach (DataColumn col in createPrimTable().Columns) | 895 | foreach (DataColumn col in createPrimTable().Columns) |
799 | { | 896 | { |
@@ -811,6 +908,14 @@ namespace OpenSim.DataStore.MonoSqlite | |||
811 | return false; | 908 | return false; |
812 | } | 909 | } |
813 | } | 910 | } |
911 | foreach (DataColumn col in createTerrainTable().Columns) | ||
912 | { | ||
913 | if (!tmpDS.Tables["terrain"].Columns.Contains(col.ColumnName)) | ||
914 | { | ||
915 | MainLog.Instance.Verbose("DATASTORE", "Missing require column:" + col.ColumnName); | ||
916 | return false; | ||
917 | } | ||
918 | } | ||
814 | return true; | 919 | return true; |
815 | } | 920 | } |
816 | 921 | ||
@@ -834,6 +939,14 @@ namespace OpenSim.DataStore.MonoSqlite | |||
834 | { | 939 | { |
835 | return DbType.Double; | 940 | return DbType.Double; |
836 | } | 941 | } |
942 | else if (type == typeof(System.Byte)) | ||
943 | { | ||
944 | return DbType.Byte; | ||
945 | } | ||
946 | else if (type == typeof(System.Double)) | ||
947 | { | ||
948 | return DbType.Double; | ||
949 | } | ||
837 | else if (type == typeof(System.Byte[])) | 950 | else if (type == typeof(System.Byte[])) |
838 | { | 951 | { |
839 | return DbType.Binary; | 952 | return DbType.Binary; |
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs index 91b1914..f726ea2 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs | |||
@@ -61,12 +61,12 @@ namespace OpenSim.DataStore.NullStorage | |||
61 | return new List<SceneObjectGroup>(); | 61 | return new List<SceneObjectGroup>(); |
62 | } | 62 | } |
63 | 63 | ||
64 | public void StoreTerrain(double[,] ter) | 64 | public void StoreTerrain(double[,] ter, LLUUID regionID) |
65 | { | 65 | { |
66 | 66 | ||
67 | } | 67 | } |
68 | 68 | ||
69 | public double[,] LoadTerrain() | 69 | public double[,] LoadTerrain(LLUUID regionID) |
70 | { | 70 | { |
71 | return null; | 71 | return null; |
72 | } | 72 | } |