[Simian]
* Sim to sim caps for establishing child agents * Still working out a bug in the libomv event queue, committing what is done for now git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2485 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
@@ -59,6 +59,8 @@ namespace Simian
|
||||
IPAddress address;
|
||||
IConfig httpConfig;
|
||||
|
||||
#region Config Parsing
|
||||
|
||||
try
|
||||
{
|
||||
// Load the extension list (and ordering) from our config file
|
||||
@@ -73,6 +75,8 @@ namespace Simian
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion Config Parsing
|
||||
|
||||
#region HTTP Server
|
||||
|
||||
int port = httpConfig.GetInt("ListenPort");
|
||||
@@ -177,6 +181,11 @@ namespace Simian
|
||||
|
||||
for (int i = 0; i < configFiles.Length; i++)
|
||||
{
|
||||
// TODO: Support non-SceneManager scenes?
|
||||
ISceneProvider scene = new SceneManager();
|
||||
|
||||
#region Config Parsing
|
||||
|
||||
IniConfigSource source = new IniConfigSource(configFiles[i]);
|
||||
IConfig regionConfig = source.Configs["Region"];
|
||||
|
||||
@@ -196,6 +205,8 @@ namespace Simian
|
||||
continue;
|
||||
}
|
||||
|
||||
#endregion Config Parsing
|
||||
|
||||
#region IPEndPoint Assignment
|
||||
|
||||
IPEndPoint endpoint;
|
||||
@@ -241,14 +252,16 @@ namespace Simian
|
||||
continue;
|
||||
}
|
||||
|
||||
RegionInfo info = new RegionInfo();
|
||||
info.Handle = Utils.UIntsToLong(256 * regionX, 256 * regionY);
|
||||
info.HttpServer = HttpUri;
|
||||
info.IPAndPort = endpoint;
|
||||
info.Name = name;
|
||||
info.Online = true;
|
||||
RegionInfo regionInfo = new RegionInfo();
|
||||
regionInfo.Handle = Utils.UIntsToLong(256 * regionX, 256 * regionY);
|
||||
regionInfo.HttpServer = HttpUri;
|
||||
regionInfo.IPAndPort = endpoint;
|
||||
regionInfo.Name = name;
|
||||
regionInfo.Online = true;
|
||||
// Create a capability for other regions to initiate a client connection to this region
|
||||
regionInfo.EnableClientCap = Capabilities.CreateCapability(scene.EnableClientCapHandler, false, null);
|
||||
|
||||
if (!Grid.TryRegisterGridSpace(info, regionCert, out info.ID))
|
||||
if (!Grid.TryRegisterGridSpace(regionInfo, regionCert, out regionInfo.ID))
|
||||
{
|
||||
Logger.Log("Failed to register grid space for region " + name, Helpers.LogLevel.Error);
|
||||
continue;
|
||||
@@ -256,9 +269,7 @@ namespace Simian
|
||||
|
||||
#endregion Grid Registration
|
||||
|
||||
// TODO: Support non-SceneManager scenes?
|
||||
ISceneProvider scene = new SceneManager();
|
||||
scene.Start(this, name, endpoint, info.ID, regionX, regionY, defaultTerrain, staticObjectLimit, physicalObjectLimit);
|
||||
scene.Start(this, regionInfo, regionCert, defaultTerrain, staticObjectLimit, physicalObjectLimit);
|
||||
Scenes.Add(scene);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user