From 0b6f8a02a7d0927031bf812429770d6ecc5f483a Mon Sep 17 00:00:00 2001
From: jhurliman
Date: Wed, 7 Mar 2007 05:09:18 +0000
Subject: * Updating libsecondlife.dll to the latest version with a working
LayerData function * Reformatting some source files * Adding a try/catch
sanity check around a phoning home check to osgrid.org * Updating the MSVC
project file * Converted LayerData generation to use the functions built in
to libsecondlife * Removing unused BitPack.cs and TerrainDecoder.cs files *
Added a basic terrain generator (hills algorithm)
---
src/Config.cs | 259 ++++++++++++++++++++++++++++++----------------------------
1 file changed, 135 insertions(+), 124 deletions(-)
(limited to 'src/Config.cs')
diff --git a/src/Config.cs b/src/Config.cs
index 90753ef..9bb9296 100644
--- a/src/Config.cs
+++ b/src/Config.cs
@@ -36,128 +36,139 @@ using OpenSim.world;
namespace OpenSim
{
- ///
- /// This class handles connection to the underlying database used for configuration of the region.
- /// Region content is also stored by this class. The main entry point is InitConfig() which attempts to locate
- /// opensim.yap in the current working directory. If opensim.yap can not be found, default settings are loaded from
- /// what is hardcoded here and then saved into opensim.yap for future startups.
- ///
- public class SimConfig
- {
- public string RegionName;
-
- public uint RegionLocX;
- public uint RegionLocY;
- public ulong RegionHandle;
-
- public int IPListenPort;
- public string IPListenAddr;
-
- public bool sandbox;
- public string AssetURL="";
- public string AssetSendKey="";
-
- public string GridURL="";
- public string GridSendKey="";
-
- private IObjectContainer db;
-
- public void LoadDefaults() {
- string tempstring;
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadDefaults() - Please press enter to retain default or enter new settings");
-
- this.RegionName=OpenSim_Main.localcons.CmdPrompt("Name [OpenSim test]: ","OpenSim test");
- this.RegionLocX=(uint)Convert.ToInt32(OpenSim_Main.localcons.CmdPrompt("Grid Location X [997]: ","997"));
- this.RegionLocY=(uint)Convert.ToInt32(OpenSim_Main.localcons.CmdPrompt("Grid Location Y [996]: ","996"));
- this.IPListenPort=Convert.ToInt32(OpenSim_Main.localcons.CmdPrompt("UDP port for client connections [9000]: ","9000"));
- this.IPListenAddr=OpenSim_Main.localcons.CmdPrompt("IP Address to listen on for client connections [127.0.0.1]: ","127.0.0.1");
-
-
- tempstring=OpenSim_Main.localcons.CmdPrompt("Run in sandbox or grid mode? [sandbox]: ","sandbox", "sandbox", "grid");
- if(tempstring=="grid"){
- this.sandbox = false;
- } else if(tempstring=="sandbox"){
- this.sandbox=true;
- }
-
- if(!this.sandbox) {
- this.AssetURL=OpenSim_Main.localcons.CmdPrompt("Asset server URL: ");
- this.AssetSendKey=OpenSim_Main.localcons.CmdPrompt("Asset server key: ");
- this.GridURL=OpenSim_Main.localcons.CmdPrompt("Grid server URL: ");
- this.GridSendKey=OpenSim_Main.localcons.CmdPrompt("Grid server key: ");
- }
- this.RegionHandle = Helpers.UIntsToLong((RegionLocX*256), (RegionLocY*256));
- }
-
- public void InitConfig() {
- try {
- db = Db4oFactory.OpenFile("opensim.yap");
- IObjectSet result = db.Get(typeof(SimConfig));
- if(result.Count==1) {
- OpenSim_Main.localcons.WriteLine("Config.cs:InitConfig() - Found a SimConfig object in the local database, loading");
- foreach (SimConfig cfg in result) {
- this.sandbox = cfg.sandbox;
- this.RegionName = cfg.RegionName;
- this.RegionLocX = cfg.RegionLocX;
- this.RegionLocY = cfg.RegionLocY;
- this.RegionHandle = Helpers.UIntsToLong((RegionLocX*256), (RegionLocY*256));
- this.IPListenPort = cfg.IPListenPort;
- this.IPListenAddr = cfg.IPListenAddr;
- this.AssetURL = cfg.AssetURL;
- this.AssetSendKey = cfg.AssetSendKey;
- this.GridURL = cfg.GridURL;
- this.GridSendKey = cfg.GridSendKey;
- }
- } else {
- OpenSim_Main.localcons.WriteLine("Config.cs:InitConfig() - Could not find object in database, loading precompiled defaults");
- LoadDefaults();
- OpenSim_Main.localcons.WriteLine("Writing out default settings to local database");
- db.Set(this);
- }
- } catch(Exception e) {
- db.Close();
- OpenSim_Main.localcons.WriteLine("Config.cs:InitConfig() - Exception occured");
- OpenSim_Main.localcons.WriteLine(e.ToString());
- }
- OpenSim_Main.localcons.WriteLine("Sim settings loaded:");
- OpenSim_Main.localcons.WriteLine("Name: " + this.RegionName);
- OpenSim_Main.localcons.WriteLine("Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]");
- OpenSim_Main.localcons.WriteLine("Region Handle: " + this.RegionHandle.ToString());
- OpenSim_Main.localcons.WriteLine("Listening on IP: " + this.IPListenAddr + ":" + this.IPListenPort);
- OpenSim_Main.localcons.WriteLine("Sandbox Mode? " + this.sandbox.ToString());
- OpenSim_Main.localcons.WriteLine("Asset URL: " + this.AssetURL);
- OpenSim_Main.localcons.WriteLine("Asset key: " + this.AssetSendKey);
- OpenSim_Main.localcons.WriteLine("Grid URL: " + this.GridURL);
- OpenSim_Main.localcons.WriteLine("Grid key: " + this.GridSendKey);
- }
-
- public World LoadWorld() {
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Loading world....");
- World blank = new World();
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Looking for a heightmap in local DB");
- IObjectSet world_result = db.Get(new float[65536]);
- if(world_result.Count>0) {
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Found a heightmap in local database, loading");
- blank.LandMap=(float[])world_result.Next();
- } else {
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - No heightmap found, generating new one");
- for(int i =0; i < 65536; i++) {
- blank.LandMap[i] = 21.4989f;
- }
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Saving heightmap to local database");
- db.Set(blank.LandMap);
- db.Commit();
- }
- return blank;
- }
-
- public void LoadFromGrid() {
- OpenSim_Main.localcons.WriteLine("Config.cs:LoadFromGrid() - dummy function, DOING ABSOLUTELY NOTHING AT ALL!!!");
- // TODO: Make this crap work
- }
-
- public void Shutdown() {
- db.Close();
- }
- }
+ ///
+ /// This class handles connection to the underlying database used for configuration of the region.
+ /// Region content is also stored by this class. The main entry point is InitConfig() which attempts to locate
+ /// opensim.yap in the current working directory. If opensim.yap can not be found, default settings are loaded from
+ /// what is hardcoded here and then saved into opensim.yap for future startups.
+ ///
+ public class SimConfig
+ {
+ public string RegionName;
+
+ public uint RegionLocX;
+ public uint RegionLocY;
+ public ulong RegionHandle;
+
+ public int IPListenPort;
+ public string IPListenAddr;
+
+ public bool sandbox = true;
+ public string AssetURL = String.Empty;
+ public string AssetSendKey = String.Empty;
+
+ public string GridURL = String.Empty;
+ public string GridSendKey = String.Empty;
+
+ private IObjectContainer db;
+
+ public void LoadDefaults()
+ {
+ string tempstring;
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadDefaults() - Please press enter to retain default or enter new settings");
+
+ this.RegionName = OpenSim_Main.localcons.CmdPrompt("Name [OpenSim test]: ", "OpenSim test");
+ this.RegionLocX = (uint)Convert.ToInt32(OpenSim_Main.localcons.CmdPrompt("Grid Location X [997]: ", "997"));
+ this.RegionLocY = (uint)Convert.ToInt32(OpenSim_Main.localcons.CmdPrompt("Grid Location Y [996]: ", "996"));
+ this.IPListenPort = Convert.ToInt32(OpenSim_Main.localcons.CmdPrompt("UDP port for client connections [9000]: ", "9000"));
+ this.IPListenAddr = OpenSim_Main.localcons.CmdPrompt("IP Address to listen on for client connections [127.0.0.1]: ", "127.0.0.1");
+
+ tempstring = OpenSim_Main.localcons.CmdPrompt("Run in sandbox or grid mode? [sandbox]: ", "sandbox", "sandbox", "grid");
+ this.sandbox = tempstring.Equals("sandbox");
+
+ if (!this.sandbox)
+ {
+ this.AssetURL = OpenSim_Main.localcons.CmdPrompt("Asset server URL: ");
+ this.AssetSendKey = OpenSim_Main.localcons.CmdPrompt("Asset server key: ");
+ this.GridURL = OpenSim_Main.localcons.CmdPrompt("Grid server URL: ");
+ this.GridSendKey = OpenSim_Main.localcons.CmdPrompt("Grid server key: ");
+ }
+ this.RegionHandle = Helpers.UIntsToLong((RegionLocX * 256), (RegionLocY * 256));
+ }
+
+ public void InitConfig()
+ {
+ try
+ {
+ db = Db4oFactory.OpenFile("opensim.yap");
+ IObjectSet result = db.Get(typeof(SimConfig));
+ if (result.Count == 1)
+ {
+ OpenSim_Main.localcons.WriteLine("Config.cs:InitConfig() - Found a SimConfig object in the local database, loading");
+ foreach (SimConfig cfg in result)
+ {
+ this.sandbox = cfg.sandbox;
+ this.RegionName = cfg.RegionName;
+ this.RegionLocX = cfg.RegionLocX;
+ this.RegionLocY = cfg.RegionLocY;
+ this.RegionHandle = Helpers.UIntsToLong((RegionLocX * 256), (RegionLocY * 256));
+ this.IPListenPort = cfg.IPListenPort;
+ this.IPListenAddr = cfg.IPListenAddr;
+ this.AssetURL = cfg.AssetURL;
+ this.AssetSendKey = cfg.AssetSendKey;
+ this.GridURL = cfg.GridURL;
+ this.GridSendKey = cfg.GridSendKey;
+ }
+ }
+ else
+ {
+ OpenSim_Main.localcons.WriteLine("Config.cs:InitConfig() - Could not find object in database, loading precompiled defaults");
+ LoadDefaults();
+ OpenSim_Main.localcons.WriteLine("Writing out default settings to local database");
+ db.Set(this);
+ }
+ }
+ catch (Exception e)
+ {
+ db.Close();
+ OpenSim_Main.localcons.WriteLine("Config.cs:InitConfig() - Exception occured");
+ OpenSim_Main.localcons.WriteLine(e.ToString());
+ }
+ OpenSim_Main.localcons.WriteLine("Sim settings loaded:");
+ OpenSim_Main.localcons.WriteLine("Name: " + this.RegionName);
+ OpenSim_Main.localcons.WriteLine("Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]");
+ OpenSim_Main.localcons.WriteLine("Region Handle: " + this.RegionHandle.ToString());
+ OpenSim_Main.localcons.WriteLine("Listening on IP: " + this.IPListenAddr + ":" + this.IPListenPort);
+ OpenSim_Main.localcons.WriteLine("Sandbox Mode? " + this.sandbox.ToString());
+ OpenSim_Main.localcons.WriteLine("Asset URL: " + this.AssetURL);
+ OpenSim_Main.localcons.WriteLine("Asset key: " + this.AssetSendKey);
+ OpenSim_Main.localcons.WriteLine("Grid URL: " + this.GridURL);
+ OpenSim_Main.localcons.WriteLine("Grid key: " + this.GridSendKey);
+ }
+
+ public World LoadWorld()
+ {
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Loading world....");
+ World blank = new World();
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Looking for a heightmap in local DB");
+ IObjectSet world_result = db.Get(new float[65536]);
+ if (world_result.Count > 0)
+ {
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Found a heightmap in local database, loading");
+ blank.LandMap = (float[])world_result.Next();
+ }
+ else
+ {
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - No heightmap found, generating new one");
+ HeightmapGenHills hills = new HeightmapGenHills();
+ blank.LandMap = hills.GenerateHeightmap(200, 4.0f, 80.0f, false);
+
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadWorld() - Saving heightmap to local database");
+ db.Set(blank.LandMap);
+ db.Commit();
+ }
+ return blank;
+ }
+
+ public void LoadFromGrid()
+ {
+ OpenSim_Main.localcons.WriteLine("Config.cs:LoadFromGrid() - dummy function, DOING ABSOLUTELY NOTHING AT ALL!!!");
+ // TODO: Make this crap work
+ }
+
+ public void Shutdown()
+ {
+ db.Close();
+ }
+ }
}
--
cgit v1.1