* Purged 'Regions' code pending Agent layer grok.

* Changed so prims aren't loaded until AFTER parcels.
* The region startup flow is still an ungodly rats nest.
afrisby
lbsa71 2007-09-23 23:55:29 +00:00
parent 8dda11d17e
commit b3eeb5a8dc
9 changed files with 16 additions and 125 deletions

View File

@ -147,7 +147,7 @@ namespace OpenSim
Directory.CreateDirectory(Util.logDir());
}
m_log = new LogBase(Path.Combine(Util.logDir(), m_logFilename), "Region", this, m_silent);
m_log = CreateLog();
MainLog.Instance = m_log;
base.StartUp();

View File

@ -70,8 +70,6 @@ namespace OpenSim.Region.ClientStack
Initialize();
ScenePresence.CreateDefaultTextureEntry();
m_httpServer = new BaseHttpServer(m_httpServerPort);
m_log.Verbose("Starting HTTP server");
@ -112,7 +110,6 @@ namespace OpenSim.Region.ClientStack
scene.PhysScene = GetPhysicsScene();
scene.PhysScene.SetTerrain(scene.Terrain.GetHeights1D());
scene.LoadPrimsFromStorage();
//Master Avatar Setup
UserProfileData masterAvatar = m_commsManager.UserServer.SetupMasterUser(scene.RegionInfo.MasterAvatarFirstName, scene.RegionInfo.MasterAvatarLastName, scene.RegionInfo.MasterAvatarSandboxPassword);
@ -128,7 +125,9 @@ namespace OpenSim.Region.ClientStack
scene.RegionInfo.MasterAvatarAssignedUUID = libsecondlife.LLUUID.Zero;
//TODO: Load parcels from storageManager
}
scene.LandManager.resetSimLandObjects();
scene.LoadPrimsFromStorage();
scene.performParcelPrimCountUpdate();
scene.StartTimer();

View File

@ -87,8 +87,8 @@ namespace OpenSim.Region.Environment.LandManagement
/// </summary>
public bool landPrimCountTainted = false;
private Scene m_scene;
private RegionInfo m_regInfo;
private readonly Scene m_scene;
private readonly RegionInfo m_regInfo;
#endregion

View File

@ -1,49 +0,0 @@
using System.Collections.Generic;
using libsecondlife;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Terrain;
using OpenSim.Framework.Interfaces;
using System;
namespace OpenSim.Region.Environment.Regions
{
public class Region
{
// This is a temporary (and real ugly) construct to emulate us really having a separate list
// of region subscribers. It should be removed ASAP, like.
private readonly Scene m_scene;
private Dictionary<LLUUID, RegionSubscription> m_regionSubscriptions
{
get
{
Dictionary<LLUUID, RegionSubscription> subscriptions = new Dictionary<LLUUID, RegionSubscription>( );
foreach( ScenePresence presence in m_scene.GetScenePresences() )
{
subscriptions.Add( presence.UUID, new RegionSubscription( presence.ControllingClient ));
}
return subscriptions;
}
}
public Region( Scene scene )
{
m_scene = scene; // The Scene reference should be removed.
}
internal void Broadcast( Action<IClientAPI> whatToDo )
{
foreach (RegionSubscription subscription in m_regionSubscriptions.Values )
{
whatToDo(subscription.Client);
}
}
internal void Remove(LLUUID agentID)
{
// TODO : Well, remove it!
}
}
}

View File

@ -1,19 +0,0 @@
using OpenSim.Framework.Interfaces;
namespace OpenSim.Region.Environment.Regions
{
public class RegionSubscription
{
private readonly IClientAPI m_client;
public RegionSubscription(IClientAPI client )
{
m_client = client;
}
public IClientAPI Client
{
get { return m_client; }
}
}
}

View File

@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Environment.Regions
{
public class RegionSubscriptionManager
{
private Dictionary<uint, Region> m_regions;
public RegionSubscriptionManager( )
{
m_regions = new Dictionary<uint, Region>( );
}
}
}

View File

@ -49,7 +49,6 @@ using OpenSim.Region.Environment.Types;
using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Terrain;
using Timer = System.Timers.Timer;
using OpenSim.Region.Environment.Regions;
namespace OpenSim.Region.Environment.Scenes
{
@ -64,8 +63,6 @@ namespace OpenSim.Region.Environment.Scenes
/// publicized so it can be accessed from SceneObjectGroup.
protected float timeStep = 0.1f;
private Regions.Region m_region;
private Random Rand = new Random();
private uint _primCount = 702000;
private readonly Mutex _primAllocateMutex = new Mutex(false);
@ -162,8 +159,6 @@ namespace OpenSim.Region.Environment.Scenes
{
updateLock = new Mutex(false);
m_region = new Regions.Region(this);
m_moduleLoader = moduleLoader;
authenticateHandler = authen;
commsManager = commsMan;
@ -373,7 +368,10 @@ namespace OpenSim.Region.Environment.Scenes
/// <returns></returns>
internal void Broadcast(Action<IClientAPI> whatToDo)
{
m_region.Broadcast(whatToDo);
ForEachScenePresence( delegate( ScenePresence presence )
{
whatToDo(presence.ControllingClient);
});
}
/// <summary>
///
@ -458,7 +456,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary>
/// Loads the World's objects
/// </summary>
public void LoadPrimsFromStorage()
public virtual void LoadPrimsFromStorage()
{
MainLog.Instance.Verbose("Loading objects from datastore");
List<SceneObjectGroup> PrimsFromDB = storageManager.DataStore.LoadObjects(m_regInfo.SimUUID);
@ -790,11 +788,6 @@ namespace OpenSim.Region.Environment.Scenes
m_scenePresences.Remove(agentID);
}
lock (m_region)
{
m_region.Remove(agentID);
}
lock (Entities)
{
Entities.Remove(agentID);
@ -1135,7 +1128,7 @@ namespace OpenSim.Region.Environment.Scenes
}
public void SendUrlToUser(LLUUID avatarID, string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned,
string message, string url)
string message, string url)
{
if (m_scenePresences.ContainsKey(avatarID))
{

View File

@ -35,7 +35,6 @@ using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Types;
using OpenSim.Framework.Utilities;
using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Environment.Regions;
namespace OpenSim.Region.Environment.Scenes
{
@ -214,13 +213,6 @@ namespace OpenSim.Region.Environment.Scenes
set { m_isChildAgent = value; }
}
private RegionSubscription m_regionSubscription;
public RegionSubscription RegionSubscription
{
get { return m_regionSubscription; }
}
#endregion
#region Constructor(s)
@ -234,8 +226,6 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="regionDat"></param>
public ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo)
{
m_regionSubscription = new RegionSubscription( client );
m_scene = world;
m_uuid = client.AgentId;
@ -881,7 +871,7 @@ namespace OpenSim.Region.Environment.Scenes
}
}
public static void CreateDefaultTextureEntry()
static ScenePresence()
{
LLObject.TextureEntry textu = new LLObject.TextureEntry(new LLUUID("C228D1CF-4B5D-4BA8-84F4-899A0796AA97"));
textu.CreateFace(0).TextureID = new LLUUID("00000000-0000-1111-9999-000000000012");

View File

@ -1,23 +1,16 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using libsecondlife;
using OpenSim.Framework;
using OpenSim.Framework.Communications.Caches;
using OpenSim.Framework.Console;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Types;
using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Capabilities;
using OpenSim.Region.ClientStack;
using OpenSim.Region.Communications.Local;
using OpenSim.Framework.Communications.Caches;
using System.Timers;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Framework.Data;
using OpenSim.Region.Environment;
using System.IO;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Physics.Manager;
namespace SimpleApp
{