From 98d81485e724b26d9ad35b9b7cd24c98808b9a81 Mon Sep 17 00:00:00 2001 From: MW Date: Wed, 28 Mar 2007 13:08:27 +0000 Subject: [PATCH] RIP OpenSimRoot. (removed) Merged most of the bug fixes etc in from LLdemo branch. Added the textures from that branch. --- .../Local/LocalAssetServer.cs | 122 ++++++++++++------ .../BasicPhysicsPlugin/BasicPhysicsPlugin.cs | 5 + OpenSim.Physics/Manager/PhysicsScene.cs | 9 ++ OpenSim.Physics/OdePlugin/OdePlugin.cs | 5 + OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs | 50 +++++-- OpenSim.RegionServer/Assets/AssetCache.cs | 6 +- OpenSim.RegionServer/CAPS/IXmlRPCHandler.cs | 11 ++ OpenSim.RegionServer/CAPS/SimHttp.cs | 29 ++++- .../OpenSim.RegionServer.csproj | 50 +++---- .../OpenSim.RegionServer.dll.build | 3 +- OpenSim.RegionServer/OpenSimApplication.cs | 16 --- OpenSim.RegionServer/OpenSimMain.cs | 99 +++++++------- OpenSim.RegionServer/OpenSimNetworkHandler.cs | 16 +++ OpenSim.RegionServer/OpenSimRoot.cs | 48 ------- OpenSim.RegionServer/SimClient.cs | 6 +- .../UserServer/LoginServer.cs | 2 +- OpenSim.RegionServer/world/Avatar.cs | 54 ++++++-- OpenSim.RegionServer/world/Entity.cs | 5 + OpenSim.RegionServer/world/Primitive.cs | 45 +++++-- OpenSim.RegionServer/world/World.cs | 100 +++++++++----- OpenSim/RegionServer.cs | 4 +- Servers/OpenSim.Servers.dll.build | 1 - bin/PhysX-wrapper.dll | Bin 57344 -> 57344 bytes bin/PhysX_Wrapper_Dotnet.dll | Bin 8192 -> 8704 bytes bin/assets/bricks.jp2 | Bin 0 -> 32865 bytes bin/assets/granite.jp2 | Bin 0 -> 32897 bytes bin/assets/hardwood.jp2 | Bin 0 -> 32876 bytes bin/assets/plywood.jp2 | Bin 0 -> 32794 bytes bin/assets/rocks.jp2 | Bin 0 -> 32731 bytes 29 files changed, 438 insertions(+), 248 deletions(-) create mode 100644 OpenSim.RegionServer/CAPS/IXmlRPCHandler.cs delete mode 100644 OpenSim.RegionServer/OpenSimApplication.cs create mode 100644 OpenSim.RegionServer/OpenSimNetworkHandler.cs delete mode 100644 OpenSim.RegionServer/OpenSimRoot.cs create mode 100644 bin/assets/bricks.jp2 create mode 100644 bin/assets/granite.jp2 create mode 100644 bin/assets/hardwood.jp2 create mode 100644 bin/assets/plywood.jp2 create mode 100644 bin/assets/rocks.jp2 diff --git a/OpenSim.GridInterfaces/Local/LocalAssetServer.cs b/OpenSim.GridInterfaces/Local/LocalAssetServer.cs index 6cd954a037..fc0ba4a04a 100644 --- a/OpenSim.GridInterfaces/Local/LocalAssetServer.cs +++ b/OpenSim.GridInterfaces/Local/LocalAssetServer.cs @@ -137,52 +137,92 @@ namespace OpenSim.GridInterfaces.Local private void SetUpAssetDatabase() { - Console.WriteLine("setting up Asset database"); + try + { - AssetBase Image = new AssetBase(); - Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000001"); - Image.Name = "test Texture"; - this.LoadAsset(Image, true, "testpic2.jp2"); - AssetStorage store = new AssetStorage(); - store.Data = Image.Data; - store.Name = Image.Name; - store.UUID = Image.FullID; - db.Set(store); - db.Commit(); + Console.WriteLine("setting up Asset database"); - Image = new AssetBase(); - Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000002"); - Image.Name = "test Texture2"; - this.LoadAsset(Image, true, "map_base.jp2"); - store = new AssetStorage(); - store.Data = Image.Data; - store.Name = Image.Name; - store.UUID = Image.FullID; - db.Set(store); - db.Commit(); + AssetBase Image = new AssetBase(); + Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000001"); + Image.Name = "Bricks"; + this.LoadAsset(Image, true, "bricks.jp2"); + AssetStorage store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); - Image = new AssetBase(); - Image.FullID = new LLUUID("00000000-0000-0000-5005-000000000005"); - Image.Name = "Prim Base Texture"; - this.LoadAsset(Image, true, "testpic2.jp2"); - store = new AssetStorage(); - store.Data = Image.Data; - store.Name = Image.Name; - store.UUID = Image.FullID; - db.Set(store); - db.Commit(); + Image = new AssetBase(); + Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000002"); + Image.Name = "Plywood"; + this.LoadAsset(Image, true, "plywood.jp2"); + store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); - Image = new AssetBase(); - Image.FullID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"); - Image.Name = "Shape"; - this.LoadAsset(Image, false, "base_shape.dat"); - store = new AssetStorage(); - store.Data = Image.Data; - store.Name = Image.Name; - store.UUID = Image.FullID; - db.Set(store); - db.Commit(); + Image = new AssetBase(); + Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000003"); + Image.Name = "Rocks"; + this.LoadAsset(Image, true, "rocks.jp2"); + store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); + Image = new AssetBase(); + Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000004"); + Image.Name = "Granite"; + this.LoadAsset(Image, true, "granite.jp2"); + store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); + + Image = new AssetBase(); + Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000005"); + Image.Name = "Hardwood"; + this.LoadAsset(Image, true, "hardwood.jp2"); + store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); + + Image = new AssetBase(); + Image.FullID = new LLUUID("00000000-0000-0000-5005-000000000005"); + Image.Name = "Prim Base Texture"; + this.LoadAsset(Image, true, "plywood.jp2"); + store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); + + Image = new AssetBase(); + Image.FullID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"); + Image.Name = "Shape"; + this.LoadAsset(Image, false, "base_shape.dat"); + store = new AssetStorage(); + store.Data = Image.Data; + store.Name = Image.Name; + store.UUID = Image.FullID; + db.Set(store); + db.Commit(); + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } } diff --git a/OpenSim.Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim.Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index deff80349c..62b6ffc605 100644 --- a/OpenSim.Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim.Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs @@ -149,6 +149,11 @@ namespace OpenSim.Physics.BasicPhysicsPlugin { this._heightMap = heightMap; } + + public override void DeleteTerrain() + { + + } } public class BasicActor : PhysicsActor diff --git a/OpenSim.Physics/Manager/PhysicsScene.cs b/OpenSim.Physics/Manager/PhysicsScene.cs index 632b9cd75b..0b3dfd2d7d 100644 --- a/OpenSim.Physics/Manager/PhysicsScene.cs +++ b/OpenSim.Physics/Manager/PhysicsScene.cs @@ -50,6 +50,8 @@ namespace OpenSim.Physics.Manager public abstract void GetResults(); public abstract void SetTerrain(float[] heightMap); + + public abstract void DeleteTerrain(); public abstract bool IsThreaded { @@ -76,6 +78,8 @@ namespace OpenSim.Physics.Manager public override void Simulate(float timeStep) { m_workIndicator = (m_workIndicator + 1) % 10; + + //OpenSim.Framework.Console.MainConsole.Instance.SetStatus(m_workIndicator.ToString()); } public override void GetResults() @@ -88,6 +92,11 @@ namespace OpenSim.Physics.Manager OpenSim.Framework.Console.MainConsole.Instance.WriteLine("NullPhysicsScene : SetTerrain({0} items)", heightMap.Length); } + public override void DeleteTerrain() + { + + } + public override bool IsThreaded { get { return false; } diff --git a/OpenSim.Physics/OdePlugin/OdePlugin.cs b/OpenSim.Physics/OdePlugin/OdePlugin.cs index 8e34a6b72d..7b0d64a420 100644 --- a/OpenSim.Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim.Physics/OdePlugin/OdePlugin.cs @@ -170,6 +170,11 @@ namespace OpenSim.Physics.OdePlugin d.GeomHeightfieldDataBuildDouble(HeightmapData,_heightmap,1,256,256,256,256,1.0f,0.0f,2.0f,0); LandGeom=d.CreateHeightfield(space, HeightmapData, 0); } + + public override void DeleteTerrain() + { + + } } public class OdeCharacter : PhysicsActor diff --git a/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs index 043c2f1ec0..10e92fe6ed 100644 --- a/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs @@ -98,7 +98,7 @@ namespace OpenSim.Physics.PhysXPlugin { private List _characters = new List(); private List _prims = new List(); - private float[] _heightMap; + private float[] _heightMap = null; private NxPhysicsSDK mySdk; private NxScene scene; @@ -138,18 +138,25 @@ namespace OpenSim.Physics.PhysXPlugin } public override void Simulate(float timeStep) { - foreach (PhysXCharacter actor in _characters) - { - actor.Move(timeStep); - } - scene.Simulate(timeStep); - scene.FetchResults(); - scene.UpdateControllers(); - - foreach (PhysXCharacter actor in _characters) - { - actor.UpdatePosition(); - } + try + { + foreach (PhysXCharacter actor in _characters) + { + actor.Move(timeStep); + } + scene.Simulate(timeStep); + scene.FetchResults(); + scene.UpdateControllers(); + + foreach (PhysXCharacter actor in _characters) + { + actor.UpdatePosition(); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } } @@ -168,10 +175,20 @@ namespace OpenSim.Physics.PhysXPlugin public override void SetTerrain(float[] heightMap) { + if (this._heightMap != null) + { + Console.WriteLine("PhysX - deleting old terrain"); + this.scene.DeleteTerrain(); + } this._heightMap = heightMap; this.scene.AddTerrain(heightMap); } - } + + public override void DeleteTerrain() + { + this.scene.DeleteTerrain(); + } + } public class PhysXCharacter : PhysicsActor { @@ -211,6 +228,11 @@ namespace OpenSim.Physics.PhysXPlugin set { _position = value; + Vec3 ps = new Vec3(); + ps.X = value.X; + ps.Y = value.Y; + ps.Z = value.Z; + this._character.Position = ps; } } diff --git a/OpenSim.RegionServer/Assets/AssetCache.cs b/OpenSim.RegionServer/Assets/AssetCache.cs index 3c28e1c6c0..244f562098 100644 --- a/OpenSim.RegionServer/Assets/AssetCache.cs +++ b/OpenSim.RegionServer/Assets/AssetCache.cs @@ -55,7 +55,7 @@ namespace OpenSim.Assets private IAssetServer _assetServer; private Thread _assetCacheThread; - private LLUUID[] textureList = new LLUUID[2]; + private LLUUID[] textureList = new LLUUID[5]; /// /// @@ -100,6 +100,10 @@ namespace OpenSim.Assets //hack: so we can give each user a set of textures textureList[0] = new LLUUID("00000000-0000-0000-9999-000000000001"); textureList[1] = new LLUUID("00000000-0000-0000-9999-000000000002"); + textureList[2] = new LLUUID("00000000-0000-0000-9999-000000000003"); + textureList[3] = new LLUUID("00000000-0000-0000-9999-000000000004"); + textureList[4] = new LLUUID("00000000-0000-0000-9999-000000000005"); + for (int i = 0; i < textureList.Length; i++) { this._assetServer.RequestAsset(textureList[i], true); diff --git a/OpenSim.RegionServer/CAPS/IXmlRPCHandler.cs b/OpenSim.RegionServer/CAPS/IXmlRPCHandler.cs new file mode 100644 index 0000000000..c3cbbcc85e --- /dev/null +++ b/OpenSim.RegionServer/CAPS/IXmlRPCHandler.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.CAPS +{ + public interface IXmlRPCHandler + { + string HandleRPC(string requestBody); + } +} diff --git a/OpenSim.RegionServer/CAPS/SimHttp.cs b/OpenSim.RegionServer/CAPS/SimHttp.cs index 92bbc6f3b3..bfba635e45 100644 --- a/OpenSim.RegionServer/CAPS/SimHttp.cs +++ b/OpenSim.RegionServer/CAPS/SimHttp.cs @@ -50,6 +50,7 @@ namespace OpenSim.CAPS private Thread m_workerThread; private HttpListener m_httpListener; private Dictionary m_restHandlers = new Dictionary(); + private Dictionary RPCHandlers = new Dictionary(); private IGridServer m_gridServer; private int m_port; @@ -96,8 +97,22 @@ namespace OpenSim.CAPS //must already have a handler for that path so return false return false; } + + public bool AddXmlRPCHandler(string method, IXmlRPCHandler handler) + { + if (!this.RPCHandlers.ContainsKey(method)) + { + this.RPCHandlers.Add(method, handler); + return true; + } + + //must already have a handler for that path so return false + return false; + } + protected virtual string ParseXMLRPC(string requestBody) { + string responseString = ""; try { XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody); @@ -115,17 +130,23 @@ namespace OpenSim.CAPS agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); if (m_gridServer.GetName() == "Remote") { - - ((RemoteGridBase)m_gridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data); + ((RemoteGridBase) m_gridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data); } - return ""; + responseString = ""; + break; + default: + if (this.RPCHandlers.ContainsKey(request.MethodName)) + { + //responseString = this.RPCHandlers[request.MethodName] + } + break; } } catch (Exception e) { Console.WriteLine(e.ToString()); } - return ""; + return responseString; } protected virtual string ParseREST(string requestBody, string requestURL, string requestMethod) diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.csproj b/OpenSim.RegionServer/OpenSim.RegionServer.csproj index 1ce2837aa8..d9d5f1a67f 100644 --- a/OpenSim.RegionServer/OpenSim.RegionServer.csproj +++ b/OpenSim.RegionServer/OpenSim.RegionServer.csproj @@ -1,4 +1,4 @@ - + Local 8.0.50727 @@ -6,7 +6,8 @@ {ADD974E2-994C-4998-864E-4B54D8AD5F00} Debug AnyCPU - + + OpenSim.RegionServer @@ -15,9 +16,11 @@ IE50 false Library - + + OpenSim.RegionServer - + + @@ -28,7 +31,8 @@ TRACE;DEBUG - + + True 4096 False @@ -37,7 +41,8 @@ False False 4 - + + False @@ -46,7 +51,8 @@ TRACE - + + False 4096 True @@ -55,26 +61,28 @@ False False 4 - + + - + System.dll False - + + System.Xml.dll False - + ..\bin\libsecondlife.dll False - + ..\bin\Axiom.MathLib.dll False - + ..\bin\Db4objects.Db4o.dll False @@ -84,46 +92,44 @@ OpenSim.Framework {BD7866A4-04BA-47F0-905F-B2359118F5B2} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Framework.Console {4B0A7290-36C2-4C74-B9B4-07775B031CF2} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Physics.Manager {2EAB18A1-8187-4C79-9947-A671F9C007D9} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Servers {B9D6A5F0-3BD2-4161-8AF1-90C03295D4EE} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False Code + Code Code - + Code Code - - Code - Code @@ -195,4 +201,4 @@ - + \ No newline at end of file diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build index 04e86bcc6b..b67db54f89 100644 --- a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build +++ b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build @@ -14,8 +14,8 @@ - + @@ -25,6 +25,7 @@ + diff --git a/OpenSim.RegionServer/OpenSimApplication.cs b/OpenSim.RegionServer/OpenSimApplication.cs deleted file mode 100644 index abfdf45812..0000000000 --- a/OpenSim.RegionServer/OpenSimApplication.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Net; -using System.Net.Sockets; - -namespace OpenSim -{ - public abstract class OpenSimApplication - { - public abstract void StartUp(); - public abstract void Shutdown(); - public abstract void SendPacketTo(byte[] buffer, int size, SocketFlags flags, uint circuitcode);// EndPoint packetSender); - public abstract void RemoveClientCircuit(uint circuitcode); - } -} diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs index 497b80173e..ed3e732d31 100644 --- a/OpenSim.RegionServer/OpenSimMain.cs +++ b/OpenSim.RegionServer/OpenSimMain.cs @@ -48,10 +48,19 @@ using OpenSim.Physics.Manager; namespace OpenSim { - public class OpenSimMain : OpenSimApplication, conscmd_callback + public class OpenSimMain : OpenSimNetworkHandler, conscmd_callback { - private Dictionary clientCircuits = new Dictionary(); private PhysicsManager physManager; + private World LocalWorld; + private Grid GridServers; + private SimConfig Cfg; + private SimCAPSHTTPServer HttpServer; + private AssetCache AssetCache; + private InventoryCache InventoryCache; + //public Dictionary ClientThreads = new Dictionary(); + private Dictionary ClientThreads = new Dictionary(); + private Dictionary clientCircuits = new Dictionary(); + private DateTime startuptime; public Socket Server; private IPEndPoint ServerIncoming; @@ -79,68 +88,68 @@ namespace OpenSim OpenSim.Framework.Console.MainConsole.Instance = m_console; } - public override void StartUp() + public virtual void StartUp() { - OpenSimRoot.Instance.GridServers = new Grid(); + GridServers = new Grid(); if ( m_sandbox ) { - OpenSimRoot.Instance.GridServers.AssetDll = "OpenSim.GridInterfaces.Local.dll"; - OpenSimRoot.Instance.GridServers.GridDll = "OpenSim.GridInterfaces.Local.dll"; + GridServers.AssetDll = "OpenSim.GridInterfaces.Local.dll"; + GridServers.GridDll = "OpenSim.GridInterfaces.Local.dll"; m_console.WriteLine("Starting in Sandbox mode"); } else { - OpenSimRoot.Instance.GridServers.AssetDll = "OpenSim.GridInterfaces.Remote.dll"; - OpenSimRoot.Instance.GridServers.GridDll = "OpenSim.GridInterfaces.Remote.dll"; + GridServers.AssetDll = "OpenSim.GridInterfaces.Remote.dll"; + GridServers.GridDll = "OpenSim.GridInterfaces.Remote.dll"; m_console.WriteLine("Starting in Grid mode"); } - OpenSimRoot.Instance.GridServers.Initialise(); + GridServers.Initialise(); - OpenSimRoot.Instance.startuptime = DateTime.Now; + startuptime = DateTime.Now; - OpenSimRoot.Instance.AssetCache = new AssetCache(OpenSimRoot.Instance.GridServers.AssetServer); - OpenSimRoot.Instance.InventoryCache = new InventoryCache(); + AssetCache = new AssetCache(GridServers.AssetServer); + InventoryCache = new InventoryCache(); // We check our local database first, then the grid for config options m_console.WriteLine("Main.cs:Startup() - Loading configuration"); - OpenSimRoot.Instance.Cfg = this.LoadConfigDll(this.ConfigDll); - OpenSimRoot.Instance.Cfg.InitConfig(this.m_sandbox); + Cfg = this.LoadConfigDll(this.ConfigDll); + Cfg.InitConfig(this.m_sandbox); m_console.WriteLine("Main.cs:Startup() - Contacting gridserver"); - OpenSimRoot.Instance.Cfg.LoadFromGrid(); + Cfg.LoadFromGrid(); - m_console.WriteLine("Main.cs:Startup() - We are " + OpenSimRoot.Instance.Cfg.RegionName + " at " + OpenSimRoot.Instance.Cfg.RegionLocX.ToString() + "," + OpenSimRoot.Instance.Cfg.RegionLocY.ToString()); + m_console.WriteLine("Main.cs:Startup() - We are " + Cfg.RegionName + " at " + Cfg.RegionLocX.ToString() + "," + Cfg.RegionLocY.ToString()); m_console.WriteLine("Initialising world"); - OpenSimRoot.Instance.LocalWorld = new World(OpenSimRoot.Instance.ClientThreads, OpenSimRoot.Instance.Cfg.RegionHandle, OpenSimRoot.Instance.Cfg.RegionName, OpenSimRoot.Instance.Cfg); - OpenSimRoot.Instance.LocalWorld.LandMap = OpenSimRoot.Instance.Cfg.LoadWorld(); + LocalWorld = new World(ClientThreads, Cfg.RegionHandle, Cfg.RegionName, Cfg); + LocalWorld.LandMap = Cfg.LoadWorld(); this.physManager = new OpenSim.Physics.Manager.PhysicsManager(); this.physManager.LoadPlugins(); m_console.WriteLine("Main.cs:Startup() - Starting up messaging system"); - OpenSimRoot.Instance.LocalWorld.PhysScene = this.physManager.GetPhysicsScene(this.m_physicsEngine); //should be reading from the config file what physics engine to use - OpenSimRoot.Instance.LocalWorld.PhysScene.SetTerrain(OpenSimRoot.Instance.LocalWorld.LandMap); + LocalWorld.PhysScene = this.physManager.GetPhysicsScene(this.m_physicsEngine); //should be reading from the config file what physics engine to use + LocalWorld.PhysScene.SetTerrain(LocalWorld.LandMap); - OpenSimRoot.Instance.GridServers.AssetServer.SetServerInfo(OpenSimRoot.Instance.Cfg.AssetURL, OpenSimRoot.Instance.Cfg.AssetSendKey); - OpenSimRoot.Instance.GridServers.GridServer.SetServerInfo(OpenSimRoot.Instance.Cfg.GridURL, OpenSimRoot.Instance.Cfg.GridSendKey, OpenSimRoot.Instance.Cfg.GridRecvKey); + GridServers.AssetServer.SetServerInfo(Cfg.AssetURL, Cfg.AssetSendKey); + GridServers.GridServer.SetServerInfo(Cfg.GridURL, Cfg.GridSendKey, Cfg.GridRecvKey); - OpenSimRoot.Instance.LocalWorld.LoadStorageDLL("OpenSim.Storage.LocalStorageDb4o.dll"); //all these dll names shouldn't be hard coded. - OpenSimRoot.Instance.LocalWorld.LoadPrimsFromStorage(); + LocalWorld.LoadStorageDLL("OpenSim.Storage.LocalStorageDb4o.dll"); //all these dll names shouldn't be hard coded. + LocalWorld.LoadPrimsFromStorage(); if ( m_sandbox) { - OpenSimRoot.Instance.AssetCache.LoadDefaultTextureSet(); + AssetCache.LoadDefaultTextureSet(); } m_console.WriteLine("Main.cs:Startup() - Starting CAPS HTTP server"); - OpenSimRoot.Instance.HttpServer = new SimCAPSHTTPServer(OpenSimRoot.Instance.GridServers.GridServer, OpenSimRoot.Instance.Cfg.IPListenPort); - OpenSimRoot.Instance.HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin", OpenSimRoot.Instance.LocalWorld)); + HttpServer = new SimCAPSHTTPServer(GridServers.GridServer, Cfg.IPListenPort); + HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin", LocalWorld)); if ( m_loginserver && m_sandbox) { - LoginServer loginServer = new LoginServer(OpenSimRoot.Instance.GridServers.GridServer, OpenSimRoot.Instance.Cfg.IPListenAddr, OpenSimRoot.Instance.Cfg.IPListenPort); + LoginServer loginServer = new LoginServer(GridServers.GridServer, Cfg.IPListenAddr, Cfg.IPListenPort); loginServer.Startup(); } @@ -194,15 +203,15 @@ namespace OpenSim // do we already have a circuit for this endpoint if(this.clientCircuits.ContainsKey(epSender)) { - OpenSimRoot.Instance.ClientThreads[this.clientCircuits[epSender]].InPacket(packet); + ClientThreads[this.clientCircuits[epSender]].InPacket(packet); } else if (packet.Type == PacketType.UseCircuitCode) { // new client UseCircuitCodePacket useCircuit = (UseCircuitCodePacket)packet; this.clientCircuits.Add(epSender, useCircuit.CircuitCode.Code); - SimClient newuser = new SimClient(epSender, useCircuit, OpenSimRoot.Instance.LocalWorld, OpenSimRoot.Instance.ClientThreads, OpenSimRoot.Instance.AssetCache, OpenSimRoot.Instance.GridServers.GridServer, OpenSimRoot.Instance.Application, OpenSimRoot.Instance.InventoryCache, OpenSimRoot.Instance.Sandbox); + SimClient newuser = new SimClient(epSender, useCircuit, LocalWorld, ClientThreads, AssetCache, GridServers.GridServer, this, InventoryCache, m_sandbox); //OpenSimRoot.Instance.ClientThreads.Add(epSender, newuser); - OpenSimRoot.Instance.ClientThreads.Add(useCircuit.CircuitCode.Code, newuser); + ClientThreads.Add(useCircuit.CircuitCode.Code, newuser); } else { // invalid client @@ -214,9 +223,9 @@ namespace OpenSim private void MainServerListener() { m_console.WriteLine("Main.cs:MainServerListener() - New thread started"); - m_console.WriteLine("Main.cs:MainServerListener() - Opening UDP socket on " + OpenSimRoot.Instance.Cfg.IPListenAddr + ":" + OpenSimRoot.Instance.Cfg.IPListenPort); + m_console.WriteLine("Main.cs:MainServerListener() - Opening UDP socket on " + Cfg.IPListenAddr + ":" + Cfg.IPListenPort); - ServerIncoming = new IPEndPoint(IPAddress.Any, OpenSimRoot.Instance.Cfg.IPListenPort); + ServerIncoming = new IPEndPoint(IPAddress.Any, Cfg.IPListenPort); Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); Server.Bind(ServerIncoming); @@ -231,7 +240,7 @@ namespace OpenSim } - public override void SendPacketTo(byte[] buffer, int size, SocketFlags flags, uint circuitcode )//EndPoint packetSender) + public virtual void SendPacketTo(byte[] buffer, int size, SocketFlags flags, uint circuitcode )//EndPoint packetSender) { // find the endpoint for this circuit EndPoint sendto = null; @@ -250,7 +259,7 @@ namespace OpenSim } } - public override void RemoveClientCircuit(uint circuitcode) + public virtual void RemoveClientCircuit(uint circuitcode) { foreach (KeyValuePair p in this.clientCircuits) { @@ -262,22 +271,22 @@ namespace OpenSim } } - public override void Shutdown() + public virtual void Shutdown() { m_console.WriteLine("Main.cs:Shutdown() - Closing all threads"); m_console.WriteLine("Main.cs:Shutdown() - Killing listener thread"); m_console.WriteLine("Main.cs:Shutdown() - Killing clients"); // IMPLEMENT THIS m_console.WriteLine("Main.cs:Shutdown() - Closing console and terminating"); - OpenSimRoot.Instance.LocalWorld.Close(); - OpenSimRoot.Instance.GridServers.Close(); + LocalWorld.Close(); + GridServers.Close(); m_console.Close(); Environment.Exit(0); } void Timer1Tick(object sender, System.EventArgs e) { - OpenSimRoot.Instance.LocalWorld.Update(); + LocalWorld.Update(); } public void RunCmd(string command, string[] cmdparams) @@ -295,7 +304,7 @@ namespace OpenSim break; case "regenerate": - OpenSimRoot.Instance.LocalWorld.RegenerateTerrain(); + LocalWorld.RegenerateTerrain(); break; case "shutdown": @@ -309,17 +318,17 @@ namespace OpenSim switch (ShowWhat) { case "uptime": - m_console.WriteLine("OpenSim has been running since " + OpenSimRoot.Instance.startuptime.ToString()); - m_console.WriteLine("That is " + (DateTime.Now - OpenSimRoot.Instance.startuptime).ToString()); + m_console.WriteLine("OpenSim has been running since " + startuptime.ToString()); + m_console.WriteLine("That is " + (DateTime.Now - startuptime).ToString()); break; case "users": OpenSim.world.Avatar TempAv; m_console.WriteLine(String.Format("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16}{5,-16}", "Firstname", "Lastname", "Agent ID", "Session ID", "Circuit", "IP")); - foreach (libsecondlife.LLUUID UUID in OpenSimRoot.Instance.LocalWorld.Entities.Keys) + foreach (libsecondlife.LLUUID UUID in LocalWorld.Entities.Keys) { - if (OpenSimRoot.Instance.LocalWorld.Entities[UUID].ToString() == "OpenSim.world.Avatar") + if (LocalWorld.Entities[UUID].ToString() == "OpenSim.world.Avatar") { - TempAv = (OpenSim.world.Avatar)OpenSimRoot.Instance.LocalWorld.Entities[UUID]; + TempAv = (OpenSim.world.Avatar)LocalWorld.Entities[UUID]; m_console.WriteLine(String.Format("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16},{5,-16}", TempAv.firstname, TempAv.lastname, UUID, TempAv.ControllingClient.SessionID, TempAv.ControllingClient.CircuitCode, TempAv.ControllingClient.userEP.ToString())); } } diff --git a/OpenSim.RegionServer/OpenSimNetworkHandler.cs b/OpenSim.RegionServer/OpenSimNetworkHandler.cs new file mode 100644 index 0000000000..4ed201eb09 --- /dev/null +++ b/OpenSim.RegionServer/OpenSimNetworkHandler.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Net; +using System.Net.Sockets; + +namespace OpenSim +{ + public interface OpenSimNetworkHandler + { + //public abstract void StartUp(); + // public abstract void Shutdown(); + void SendPacketTo(byte[] buffer, int size, SocketFlags flags, uint circuitcode);// EndPoint packetSender); + void RemoveClientCircuit(uint circuitcode); + } +} diff --git a/OpenSim.RegionServer/OpenSimRoot.cs b/OpenSim.RegionServer/OpenSimRoot.cs deleted file mode 100644 index 1f96c4d5e3..0000000000 --- a/OpenSim.RegionServer/OpenSimRoot.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Net; -//using System.Net.Sockets; -using libsecondlife; -using libsecondlife.Packets; -using OpenSim.world; -using OpenSim.Framework.Interfaces; -using OpenSim.UserServer; -using OpenSim.Assets; -using OpenSim.CAPS; -using OpenSim.Framework.Console; -using OpenSim.Physics.Manager; - -namespace OpenSim -{ - public sealed class OpenSimRoot - { - private static OpenSimRoot instance = new OpenSimRoot(); - - public static OpenSimRoot Instance - { - get - { - return instance; - } - } - - private OpenSimRoot() - { - - } - - public World LocalWorld; - public Grid GridServers; - public SimConfig Cfg; - public SimCAPSHTTPServer HttpServer; - public AssetCache AssetCache; - public InventoryCache InventoryCache; - //public Dictionary ClientThreads = new Dictionary(); - public Dictionary ClientThreads = new Dictionary(); - public DateTime startuptime; - public OpenSimApplication Application; - public bool Sandbox = false; - - } -} diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs index 698053d048..e013b6353a 100644 --- a/OpenSim.RegionServer/SimClient.cs +++ b/OpenSim.RegionServer/SimClient.cs @@ -75,7 +75,7 @@ namespace OpenSim private Dictionary m_clientThreads; private AssetCache m_assetCache; private IGridServer m_gridServer; - private OpenSimApplication m_application; + private OpenSimNetworkHandler m_application; private InventoryCache m_inventoryCache; private bool m_sandboxMode; @@ -188,7 +188,7 @@ namespace OpenSim { if (ent.localid == multipleupdate.ObjectData[i].ObjectLocalID) { - ent.rotation = new Axiom.MathLib.Quaternion(rot.W, rot.X, rot.Y, rot.W); + ent.rotation = new Axiom.MathLib.Quaternion(rot.W, rot.X, rot.Y, rot.Z); ((OpenSim.world.Primitive)ent).UpdateFlag = true; } } @@ -576,7 +576,7 @@ namespace OpenSim this.PacketQueue.Enqueue(item); } - public SimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, World world, Dictionary clientThreads, AssetCache assetCache, IGridServer gridServer, OpenSimApplication application, InventoryCache inventoryCache, bool sandboxMode) + public SimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, World world, Dictionary clientThreads, AssetCache assetCache, IGridServer gridServer, OpenSimNetworkHandler application, InventoryCache inventoryCache, bool sandboxMode) { m_world = world; m_clientThreads = clientThreads; diff --git a/OpenSim.RegionServer/UserServer/LoginServer.cs b/OpenSim.RegionServer/UserServer/LoginServer.cs index 47af8a88b8..0bbe0b04c7 100644 --- a/OpenSim.RegionServer/UserServer/LoginServer.cs +++ b/OpenSim.RegionServer/UserServer/LoginServer.cs @@ -309,7 +309,7 @@ namespace OpenSim.UserServer Hashtable Inventory2 = (Hashtable)InventoryList[1]; LLUUID BaseFolderID = LLUUID.Random(); LLUUID InventoryFolderID = LLUUID.Random(); - Inventory2["name"] = "Base"; + Inventory2["name"] = "Textures"; Inventory2["folder_id"] = BaseFolderID.ToStringHyphenated(); Inventory2["type_default"] = 0; Inventory1["folder_id"] = InventoryFolderID.ToStringHyphenated(); diff --git a/OpenSim.RegionServer/world/Avatar.cs b/OpenSim.RegionServer/world/Avatar.cs index 2ae99926ed..7b7937887a 100644 --- a/OpenSim.RegionServer/world/Avatar.cs +++ b/OpenSim.RegionServer/world/Avatar.cs @@ -41,10 +41,10 @@ namespace OpenSim.world m_clientThreads = clientThreads; m_regionName = regionName; m_regionHandle = regionHandle; - + OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Avatar.cs - Loading details from grid (DUMMY)"); ControllingClient = TheClient; - localid = 8880000 + (m_world._localNumber++); + localid = 8880000 + (this.m_world._localNumber++); position = new LLVector3(100.0f, 100.0f, 30.0f); position.Z = m_world.LandMap[(int)position.Y * 256 + (int)position.X] + 1; visualParams = new byte[218]; @@ -61,7 +61,7 @@ namespace OpenSim.world this.Wearables[0].ItemID = LLUUID.Random(); this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); - + } public PhysicsActor PhysActor @@ -82,7 +82,10 @@ namespace OpenSim.world { NewForce force = this.forcesList[i]; PhysicsVector phyVector = new PhysicsVector(force.X, force.Y, force.Z); - this._physActor.Velocity = phyVector; + lock (m_world.LockPhysicsEngine) + { + this._physActor.Velocity = phyVector; + } this.updateflag = true; this.velocity = new LLVector3(force.X, force.Y, force.Z); //shouldn't really be doing this // but as we are setting the velocity (rather than using real forces) at the moment it is okay. @@ -181,7 +184,7 @@ namespace OpenSim.world AgentMovementCompletePacket mov = new AgentMovementCompletePacket(); mov.AgentData.SessionID = this.ControllingClient.SessionID; mov.AgentData.AgentID = this.ControllingClient.AgentID; - mov.Data.RegionHandle = m_regionHandle; + mov.Data.RegionHandle = this.m_regionHandle; // TODO - dynamicalise this stuff mov.Data.Timestamp = 1172750370; mov.Data.Position = new LLVector3(100f, 100f, 23f); @@ -475,7 +478,12 @@ namespace OpenSim.world ani.AnimationList[0] = new AvatarAnimationPacket.AnimationListBlock(); ani.AnimationList[0].AnimID = this.current_anim; ani.AnimationList[0].AnimSequenceID = this.anim_seq; - ControllingClient.OutPacket(ani); + + //ControllingClient.OutPacket(ani); + foreach (SimClient client in m_clientThreads.Values) + { + client.OutPacket(ani); + } } //should be moved somewhere else @@ -522,7 +530,11 @@ namespace OpenSim.world ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock(); dat.TextureEntry = new byte[0];// AvatarTemplate.TextureEntry; - libsecondlife.LLVector3 pos2 = new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z); + libsecondlife.LLVector3 pos2 = new LLVector3(0, 0, 0); + lock (m_world.LockPhysicsEngine) + { + pos2 = new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z); + } uint ID = this.localid; @@ -542,8 +554,11 @@ namespace OpenSim.world ushort InternVelocityX; ushort InternVelocityY; ushort InternVelocityZ; - - Axiom.MathLib.Vector3 internDirec = new Axiom.MathLib.Vector3(this._physActor.Velocity.X, this._physActor.Velocity.Y, this._physActor.Velocity.Z); + Axiom.MathLib.Vector3 internDirec = new Axiom.MathLib.Vector3(0, 0, 0); + lock (m_world.LockPhysicsEngine) + { + internDirec = new Axiom.MathLib.Vector3(this._physActor.Velocity.X, this._physActor.Velocity.Y, this._physActor.Velocity.Z); + } internDirec = internDirec / 128.0f; internDirec.x += 1; internDirec.y += 1; @@ -596,6 +611,27 @@ namespace OpenSim.world Avatar.Animations = new AvatarAnimations(); Avatar.Animations.LoadAnims(); } + + public override void LandRenegerated() + { + position = new LLVector3(100.0f, 100.0f, 30.0f); + position.Z = this.m_world.LandMap[(int)position.Y * 256 + (int)position.X] + 50; + if (this._physActor != null) + { + try + { + lock (this.m_world.LockPhysicsEngine) + { + + this._physActor.Position = new PhysicsVector(position.X, position.Y, position.Z); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + } } public class NewForce diff --git a/OpenSim.RegionServer/world/Entity.cs b/OpenSim.RegionServer/world/Entity.cs index 780f3a0449..567c0b72c4 100644 --- a/OpenSim.RegionServer/world/Entity.cs +++ b/OpenSim.RegionServer/world/Entity.cs @@ -63,5 +63,10 @@ namespace OpenSim.world { } + + public virtual void LandRenegerated() + { + + } } } diff --git a/OpenSim.RegionServer/world/Primitive.cs b/OpenSim.RegionServer/world/Primitive.cs index a185f0bc70..ca764a7d49 100644 --- a/OpenSim.RegionServer/world/Primitive.cs +++ b/OpenSim.RegionServer/world/Primitive.cs @@ -12,6 +12,7 @@ namespace OpenSim.world { public class Primitive : Entity { + //private static object physicsLock = new object(); protected float mesh_cutbegin; protected float mesh_cutend; protected PrimData primData; @@ -21,7 +22,8 @@ namespace OpenSim.world private ObjectUpdatePacket OurPacket; private PhysicsActor _physActor; private bool physicsEnabled = false; - private bool physicstest = false; //just added for testing + private bool physicstest = false; + private LLVector3 positionLastFrame = new LLVector3(0, 0, 0); private Dictionary m_clientThreads; private ulong m_regionHandle; private World m_world; @@ -72,7 +74,7 @@ namespace OpenSim.world { mesh_cutbegin = 0.0f; mesh_cutend = 1.0f; - + m_clientThreads = clientThreads; m_regionHandle = regionHandle; m_world = world; @@ -97,13 +99,30 @@ namespace OpenSim.world this.position = pos; if (this._physActor != null) // && this.physicsEnabled) { - this._physActor.Position = new PhysicsVector(pos.X, pos.Y, pos.Z); + try + { + lock (m_world.LockPhysicsEngine) + { + this._physActor.Position = new PhysicsVector(pos.X, pos.Y, pos.Z); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } } this.updateFlag = true; } public override void update() { + LLVector3 pos2 = new LLVector3(0, 0, 0); + if (this._physActor != null && this.physicsEnabled) + { + + PhysicsVector pPos = this._physActor.Position; + pos2 = new LLVector3(pPos.X, pPos.Y, pPos.Z); + } if (this.newPrimFlag) { foreach (SimClient client in m_clientThreads.Values) @@ -137,15 +156,19 @@ namespace OpenSim.world { if (this._physActor != null && this.physicsEnabled) { - ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket(); - terse.RegionData.RegionHandle = m_regionHandle; // FIXME - terse.RegionData.TimeDilation = 64096; - terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; - terse.ObjectData[0] = this.CreateImprovedBlock(); - foreach (SimClient client in m_clientThreads.Values) + if (pos2 != this.positionLastFrame) { - client.OutPacket(terse); + ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket(); + terse.RegionData.RegionHandle = m_regionHandle; // FIXME + terse.RegionData.TimeDilation = 64096; + terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; + terse.ObjectData[0] = this.CreateImprovedBlock(); + foreach (SimClient client in m_clientThreads.Values) + { + client.OutPacket(terse); + } } + this.positionLastFrame = pos2; } } @@ -487,7 +510,7 @@ namespace OpenSim.world this.primData.LocalID = this.localid; this.primData.Position = this.position; this.primData.Rotation = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w); - m_world.localStorage.StorePrim(this.primData); + this.m_world.localStorage.StorePrim(this.primData); } } diff --git a/OpenSim.RegionServer/world/World.cs b/OpenSim.RegionServer/world/World.cs index 0d126e6b87..3c131b29b9 100644 --- a/OpenSim.RegionServer/world/World.cs +++ b/OpenSim.RegionServer/world/World.cs @@ -14,6 +14,7 @@ namespace OpenSim.world { public class World : ILocalStorageReceiver { + public object LockPhysicsEngine = new object(); public Dictionary Entities; public float[] LandMap; public ScriptEngine Scripts; @@ -25,19 +26,19 @@ namespace OpenSim.world private Random Rand = new Random(); private uint _primCount = 702000; private int storageCount; - private Dictionary m_clientThreads; - private ulong m_regionHandle; - private string m_regionName; - private SimConfig m_cfg; + private Dictionary m_clientThreads; + private ulong m_regionHandle; + private string m_regionName; + private SimConfig m_cfg; - public World(Dictionary clientThreads, ulong regionHandle, string regionName, SimConfig cfg) - { + public World(Dictionary clientThreads, ulong regionHandle, string regionName, SimConfig cfg) + { m_clientThreads = clientThreads; m_regionHandle = regionHandle; m_regionName = regionName; m_cfg = cfg; - - OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs - creating new entitities instance"); + + OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs - creating new entitities instance"); Entities = new Dictionary(); OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs - creating LandMap"); @@ -73,8 +74,11 @@ namespace OpenSim.world { Entities[UUID].addForces(); } - - this.phyScene.Simulate(timeStep); + + lock (this.LockPhysicsEngine) + { + this.phyScene.Simulate(timeStep); + } foreach (libsecondlife.LLUUID UUID in Entities.Keys) { @@ -118,18 +122,49 @@ namespace OpenSim.world this.localStorage = store; return(store == null); } + + public void RegenerateTerrain() + { + HeightmapGenHills hills = new HeightmapGenHills(); + this.LandMap = hills.GenerateHeightmap(200, 4.0f, 80.0f, false); + lock (this.LockPhysicsEngine) + { + this.phyScene.SetTerrain(this.LandMap); + } + m_cfg.SaveMap(this.LandMap); + + foreach (SimClient client in m_clientThreads.Values) + { + this.SendLayerData(client); + } + + foreach (libsecondlife.LLUUID UUID in Entities.Keys) + { + Entities[UUID].LandRenegerated(); + } + } + + public void RegenerateTerrain(float[] newMap) + { + + this.LandMap = newMap; + lock (this.LockPhysicsEngine) + { + this.phyScene.SetTerrain(this.LandMap); + } + m_cfg.SaveMap(this.LandMap); + + foreach (SimClient client in m_clientThreads.Values) + { + this.SendLayerData(client); + } + + foreach (libsecondlife.LLUUID UUID in Entities.Keys) + { + Entities[UUID].LandRenegerated(); + } + } - public void RegenerateTerrain() - { - HeightmapGenHills hills = new HeightmapGenHills(); - this.LandMap = hills.GenerateHeightmap(200, 4.0f, 80.0f, false); - this.phyScene.SetTerrain(this.LandMap); - m_cfg.SaveMap(this.LandMap); - - foreach(SimClient client in m_clientThreads.Values) { - this.SendLayerData(client); - } - } public void LoadPrimsFromStorage() { OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs: LoadPrimsFromStorage() - Loading primitives"); @@ -143,7 +178,7 @@ namespace OpenSim.world _primCount = prim.LocalID + 1; } OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs: PrimFromStorage() - Reloading prim (localId "+ prim.LocalID+ " ) from storage"); - Primitive nPrim = new Primitive(m_clientThreads, m_regionHandle, this); + Primitive nPrim = new Primitive(m_clientThreads, m_regionHandle, this); nPrim.CreateFromStorage(prim); this.Entities.Add(nPrim.uuid, nPrim); } @@ -182,27 +217,34 @@ namespace OpenSim.world } } - public void AddViewerAgent(SimClient AgentClient) { + public void AddViewerAgent(SimClient AgentClient) + { OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Creating new avatar for remote viewer agent"); - Avatar NewAvatar = new Avatar(AgentClient, this, m_regionName, m_clientThreads, m_regionHandle ); + Avatar NewAvatar = new Avatar(AgentClient, this, m_regionName, m_clientThreads, m_regionHandle); OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world"); OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake "); NewAvatar.SendRegionHandshake(this); PhysicsVector pVec = new PhysicsVector(NewAvatar.position.X, NewAvatar.position.Y, NewAvatar.position.Z); - NewAvatar.PhysActor = this.phyScene.AddAvatar(pVec); + lock (this.LockPhysicsEngine) + { + NewAvatar.PhysActor = this.phyScene.AddAvatar(pVec); + } this.Entities.Add(AgentClient.AgentID, NewAvatar); } public void AddNewPrim(ObjectAddPacket addPacket, SimClient AgentClient) { OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs: AddNewPrim() - Creating new prim"); - Primitive prim = new Primitive(m_clientThreads, m_regionHandle, this ); + Primitive prim = new Primitive(m_clientThreads, m_regionHandle, this); prim.CreateFromPacket(addPacket, AgentClient.AgentID, this._primCount); PhysicsVector pVec = new PhysicsVector(prim.position.X, prim.position.Y, prim.position.Z); PhysicsVector pSize = new PhysicsVector( 0.255f, 0.255f, 0.255f); if(OpenSim.world.Avatar.PhysicsEngineFlying) { - prim.PhysActor = this.phyScene.AddPrim(pVec, pSize ); + lock (this.LockPhysicsEngine) + { + prim.PhysActor = this.phyScene.AddPrim(pVec, pSize); + } } //prim.PhysicsEnabled = true; this.Entities.Add(prim.uuid, prim); @@ -243,9 +285,9 @@ namespace OpenSim.world } foreach( libsecondlife.LLUUID uuid in DeRezEnts ) { - lock (this.Entities) + lock (Entities) { - this.Entities.Remove(uuid); + Entities.Remove(uuid); } } diff --git a/OpenSim/RegionServer.cs b/OpenSim/RegionServer.cs index 30eec3b86a..0244116757 100644 --- a/OpenSim/RegionServer.cs +++ b/OpenSim/RegionServer.cs @@ -42,8 +42,8 @@ namespace OpenSim } OpenSimMain sim = new OpenSimMain( sandBoxMode, startLoginServer, physicsEngine ); - OpenSimRoot.Instance.Application = sim; - OpenSimRoot.Instance.Sandbox = sandBoxMode; + // OpenSimRoot.Instance.Application = sim; + sim.m_sandbox = sandBoxMode; OpenSim.world.Avatar.PhysicsEngineFlying = allowFlying; sim.StartUp(); diff --git a/Servers/OpenSim.Servers.dll.build b/Servers/OpenSim.Servers.dll.build index f3845fb166..8600ab573a 100644 --- a/Servers/OpenSim.Servers.dll.build +++ b/Servers/OpenSim.Servers.dll.build @@ -12,7 +12,6 @@ - diff --git a/bin/PhysX-wrapper.dll b/bin/PhysX-wrapper.dll index d7a4002d4af6d3debfad487ffe06a1d813d15a8e..130b8d98c70a48e00c326791d612a0143cce5ed7 100644 GIT binary patch delta 5787 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 diff --git a/bin/PhysX_Wrapper_Dotnet.dll b/bin/PhysX_Wrapper_Dotnet.dll index 700286fdac1c81c18a05ae0a552f976b05c32508..c66bf3ab1994bab261e876972ad54e83159c15fc 100644 GIT binary patch delta 2780 zcmZWrYiwLc75--K-D|I3@hk4y>(uLPY;SDG58}p7N{}r(36`D4&eEhQN*&`YWCJ+S zdZDRWXB}F#NkysMk$6Q44Jv~0sOq{Rm8bxfs1gvNNDx{?YN~(`l_2ngN5}*5&AGQ` z8&Fo|6>dlHdk1BW#i|gfqrvly5A`j4drw(OAF#_B z`hf?Wg~qCq13(G+psjL;P0Q)ix5ZK~dUU$v;1SypRn`SQ)O_VdlCo>VV)rp#GPEl+9 z8dTauc1$~x-K_Vw%I>Q@t5rkDacJi!+c|=-;?G{!&?>mB51^*y;r`^RLog(ww@WZ*IJYT?*i1NgR@Z*3b)By98 zto41pYCG9j!1`4wXFDITox&~#Y(kCDHx&2B9j1>T3;yP?5Id&E^VqYh!5)TO;5?@u zl+T49`nsAx>B_(>Dh0chzVD_wEZgm~Iz64o+Vy8piKJgXavG1L8rfhnS$zsMcr{?N zdLFg76}R=-{VCEq^sn>TbNY*j;`2T$JgZNWy%n$*85u==lSCH&KtGRq^aSju`USEv zpW#hiiZwP&x?k4k^4M*?2wCc!IHS&a$O;PEOeWQY?ImkoNt1DY2)?L6QsZ0z-_U@) z?EDOENcrWZ`wf^2re>Sy#KnNwCOYvJ8T)?{|8%bKoW-Qd3EXt%<*o7OUEnUtht_B7 z-K*HRQgFyUk9)`zzQ9k0!dC^)5H-HOqAPq;^zR8Sir2HpLTMgWQP;5Xj>PBOV1RWf_-?;|ultF7-A|Vv zSu3Obo_zZbDKIK_zwo%|e$G9jThtJH4n8^K)#5bX<)Ju@7r3WZ?-txFI3PGII4-zP za8fW$yoN`Jf5!=8DL*I{PhrISHx@AA-NsjFc^7Ai-D;6IraDlC+= zMIRI#5lo8xqxdYnQ^*lNiIXahUZqvBs#X!zpqlxYzC{hHQME@oTuql<77&4?evJ5Y z=MwQ(&gDR-H^+U@d@(`{zniGhz#$4TqUMys)Z2-Vc~D`TCxa@+Ws!|IrYw)+S&>aR zC$a^vi(HQ@BHM6N!xa3r^SEhW6;w#S$CmC{l~$!gsZXV{sgI;GnaT9D z8Ly~bS}Y$`o^Lj{DlSKM9ZgLq)1MwY^vKKu6TW?5DtjbjE>(6r$yC;KSJs%as;7MzGKO$)U^4@>S@ze6DuEl_`AP6`{0|~ zUb+69? zL@m2d4kc@wHhgaD{#Qm``_~%_XTmd%>4{`3dxCqOU4i?o9$RRv(fxf(zmD`N6RUmR zl+_(C-ZH$KmmLMlr7zW$s#QJw3U%<6=tD1huxV*2I{be|Q@m#Loq@bPz8L0Z&fY~2 O^et7~{a3ZnRq$V$v%RMP delta 2461 zcmZWrYiv|S6#i!Jqr2M&eZO|0+ipu23Z+n_MP6+w)LMy!%1fyQ0fkDSw2+9{?ji(` z#Ks+-PDOGv%4+ble0P#rNgRfzhPS8pnBV? z6(P5JhI(jas=Ic%s~iCSbgi9+>m!W8whoh^#os5BKwD6bx^moRpC&17BE?4}+D zYYL2~nqGIM+8-XP)8*++(3_p8UD-a`ZtXO}W$Mp_397>n)o) z*RFr1izZCe8cu7GSJrh))$M2;S5cFiIJDyM^ zVERlO&zVmUu3>!}<3Yx=jQxziGkPo?U&8pTHQlPhO4?c*`>amO#wo^|Rwr5hWlXkp z<_^Z~jOQ7z5>gZD9dBhM2VRkid8nWbvgvR%TfodqOwg)YiCIV{W?~N=tckmXHvT~| z>CIAGmdPktzA!Eko?<-Bc!u$DyNPp#n@2VHHb&MIQa9KMzj%@=opV`O)KWGSIld|} zmsq{aYD6-lq~$M~976?6*H3j66cPj}1fM#o{d z!|;Z^79+caA~dj{V-DDK{sM=Y936(Ak}jbq7(BsrCuqBXXc|mcd`wSJjLGYgc3Jdzs)#67!lAy;ct_9VSOUwRK{AyM#lM!OBq)% zt|h#MErfTmjWC&Rw8pnEVEu&{4EsLbC(8|dL|7(H5LL+8lGY}a zFXKmbKchlbX3mK3%iJYZan3pw%PB~e_P5;w7q>Q?di}m<)i0lasV?MfSB<%~>1G&d znMN2=+DTSWiridvFt?ws+2Hq$?qnA|LHZ5}()Z1Rmim_SZJuweSl^uewb!DrHEfur z-pkvR-tT^>=w9z?Js2y@ww=$H_>}x=p;7`piB~%6>3_Qb$@qalvKTQ5)pV;h>c7f( hd}QPQj4H8U>f?d*`SY2#!ugm&RXi;?AYv5>{{irge+K{n diff --git a/bin/assets/bricks.jp2 b/bin/assets/bricks.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..09c65abd53f48b63b9f2404c4bec2be1b13bef64 GIT binary patch literal 32865 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 V>FwTl5Ntc$+=TA?^2mUI|Ji9P*xvvE literal 0 HcmV?d00001 diff --git a/bin/assets/hardwood.jp2 b/bin/assets/hardwood.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..8ae695ea4949139e7ca8c4437efb28f782110bd2 GIT binary patch literal 32876 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 z°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 CdEWE@ literal 0 HcmV?d00001