From 7daa3955bc3a1918e40962851f9e8d38597a245e Mon Sep 17 00:00:00 2001
From: gareth
Date: Thu, 22 Mar 2007 10:11:15 +0000
Subject: brought zircon branch into trunk
---
src/AssemblyInfo.cs | 21 -
src/Assets/AssetCache.cs | 436 ------------------
src/CAPS/SimHttp.cs | 165 -------
src/Config.cs | 79 ----
src/Config/SimConfig/AssemblyInfo.cs | 21 -
src/Config/SimConfig/Db4SimConfig.cs | 177 --------
src/Config/SimConfig/SimConfig.csproj | 52 ---
src/Config/default.build | 53 ---
src/GridInterfaces/AssemblyInfo.cs | 21 -
src/GridInterfaces/GridInterfaces.csproj | 40 --
src/GridInterfaces/IAssetServer.cs | 82 ----
src/GridInterfaces/IGridServer.cs | 145 ------
src/GridInterfaces/ILocalStorage.cs | 86 ----
src/GridInterfaces/default.build | 50 ---
src/GridServers/LoginServer.cs | 350 ---------------
src/HeightMapGenHills.cs | 149 -------
src/LocalServers/LocalGridServers/AssemblyInfo.cs | 21 -
src/LocalServers/LocalGridServers/LocalGrid.cs | 211 ---------
.../LocalGridServers/LocalGridServers.csproj | 48 --
src/LocalServers/default.build | 51 ---
src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs | 21 -
.../Db4LocalStorage/Db4LocalStorage.cs | 139 ------
.../Db4LocalStorage/Db4LocalStorage.csproj | 52 ---
src/LocalStorage/default.build | 53 ---
src/Main.cs | 338 --------------
src/OpenSim.Framework/AssemblyInfo.cs | 21 -
src/OpenSim.Framework/LoginService.cs | 15 -
src/OpenSim.Framework/OpenSim.Framework.csproj | 49 ---
src/OpenSim.Framework/Properties/AssemblyInfo.cs | 35 --
src/OpenSim.Framework/default.build | 50 ---
src/OpenSimClient.cs | 471 --------------------
src/OpenSimConsole.cs | 211 ---------
src/Properties/AssemblyInfo.cs | 33 --
.../RemoteGridServers/AssemblyInfo.cs | 21 -
src/RemoteServers/RemoteGridServers/RemoteGrid.cs | 279 ------------
.../RemoteGridServers/RemoteGridServers.csproj | 48 --
src/RemoteServers/default.build | 51 ---
src/Second-server.csproj | 110 -----
src/ServerConsole/ServerConsole/AssemblyInfo.cs | 21 -
src/ServerConsole/ServerConsole/ServerConsole.cs | 87 ----
.../ServerConsole/ServerConsole.csproj | 34 --
src/ServerConsole/default.build | 48 --
src/Util.cs | 99 -----
src/VersionInfo.cs | 37 --
src/VersionInfo.cs.template | 37 --
src/opensim.sln | 80 ----
src/physics/AssemblyInfo.cs | 21 -
src/physics/PhysicsManager.cs | 285 ------------
src/physics/PhysicsManager.csproj | 40 --
.../RealPhysX/RealPhysXplugin/AssemblyInfo.cs | 31 --
src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs | 361 ---------------
.../RealPhysXplugin/RealPhysXplugin.csproj | 46 --
src/physics/default.build | 49 ---
src/physics/plugins/AssemblyInfo.cs | 21 -
src/physics/plugins/BasicPhysicsplugin.csproj | 51 ---
src/physics/plugins/PhysXplugin.cs | 227 ----------
src/physics/plugins/default.build | 51 ---
src/types/Mesh.cs | 28 --
src/types/Triangle.cs | 28 --
src/world/Avatar.cs | 487 ---------------------
src/world/Entity.cs | 67 ---
src/world/Primitive.cs | 429 ------------------
src/world/ScriptEngine.cs | 18 -
src/world/SurfacePatch.cs | 22 -
src/world/World.cs | 208 ---------
src/world/scripting/IScript.cs | 16 -
66 files changed, 7184 deletions(-)
delete mode 100644 src/AssemblyInfo.cs
delete mode 100644 src/Assets/AssetCache.cs
delete mode 100644 src/CAPS/SimHttp.cs
delete mode 100644 src/Config.cs
delete mode 100644 src/Config/SimConfig/AssemblyInfo.cs
delete mode 100644 src/Config/SimConfig/Db4SimConfig.cs
delete mode 100644 src/Config/SimConfig/SimConfig.csproj
delete mode 100644 src/Config/default.build
delete mode 100644 src/GridInterfaces/AssemblyInfo.cs
delete mode 100644 src/GridInterfaces/GridInterfaces.csproj
delete mode 100644 src/GridInterfaces/IAssetServer.cs
delete mode 100644 src/GridInterfaces/IGridServer.cs
delete mode 100644 src/GridInterfaces/ILocalStorage.cs
delete mode 100644 src/GridInterfaces/default.build
delete mode 100644 src/GridServers/LoginServer.cs
delete mode 100644 src/HeightMapGenHills.cs
delete mode 100644 src/LocalServers/LocalGridServers/AssemblyInfo.cs
delete mode 100644 src/LocalServers/LocalGridServers/LocalGrid.cs
delete mode 100644 src/LocalServers/LocalGridServers/LocalGridServers.csproj
delete mode 100644 src/LocalServers/default.build
delete mode 100644 src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs
delete mode 100644 src/LocalStorage/Db4LocalStorage/Db4LocalStorage.cs
delete mode 100644 src/LocalStorage/Db4LocalStorage/Db4LocalStorage.csproj
delete mode 100644 src/LocalStorage/default.build
delete mode 100644 src/Main.cs
delete mode 100644 src/OpenSim.Framework/AssemblyInfo.cs
delete mode 100644 src/OpenSim.Framework/LoginService.cs
delete mode 100644 src/OpenSim.Framework/OpenSim.Framework.csproj
delete mode 100644 src/OpenSim.Framework/Properties/AssemblyInfo.cs
delete mode 100644 src/OpenSim.Framework/default.build
delete mode 100644 src/OpenSimClient.cs
delete mode 100644 src/OpenSimConsole.cs
delete mode 100644 src/Properties/AssemblyInfo.cs
delete mode 100644 src/RemoteServers/RemoteGridServers/AssemblyInfo.cs
delete mode 100644 src/RemoteServers/RemoteGridServers/RemoteGrid.cs
delete mode 100644 src/RemoteServers/RemoteGridServers/RemoteGridServers.csproj
delete mode 100644 src/RemoteServers/default.build
delete mode 100644 src/Second-server.csproj
delete mode 100644 src/ServerConsole/ServerConsole/AssemblyInfo.cs
delete mode 100644 src/ServerConsole/ServerConsole/ServerConsole.cs
delete mode 100644 src/ServerConsole/ServerConsole/ServerConsole.csproj
delete mode 100644 src/ServerConsole/default.build
delete mode 100644 src/Util.cs
delete mode 100644 src/VersionInfo.cs
delete mode 100644 src/VersionInfo.cs.template
delete mode 100644 src/opensim.sln
delete mode 100644 src/physics/AssemblyInfo.cs
delete mode 100644 src/physics/PhysicsManager.cs
delete mode 100644 src/physics/PhysicsManager.csproj
delete mode 100644 src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs
delete mode 100644 src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs
delete mode 100644 src/physics/RealPhysX/RealPhysXplugin/RealPhysXplugin.csproj
delete mode 100644 src/physics/default.build
delete mode 100644 src/physics/plugins/AssemblyInfo.cs
delete mode 100644 src/physics/plugins/BasicPhysicsplugin.csproj
delete mode 100644 src/physics/plugins/PhysXplugin.cs
delete mode 100644 src/physics/plugins/default.build
delete mode 100644 src/types/Mesh.cs
delete mode 100644 src/types/Triangle.cs
delete mode 100644 src/world/Avatar.cs
delete mode 100644 src/world/Entity.cs
delete mode 100644 src/world/Primitive.cs
delete mode 100644 src/world/ScriptEngine.cs
delete mode 100644 src/world/SurfacePatch.cs
delete mode 100644 src/world/World.cs
delete mode 100644 src/world/scripting/IScript.cs
(limited to 'src')
diff --git a/src/AssemblyInfo.cs b/src/AssemblyInfo.cs
deleted file mode 100644
index b88eb75..0000000
--- a/src/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.0.0.1")]
-[assembly: AssemblyTitleAttribute("opensim")]
-[assembly: AssemblyDescriptionAttribute("The C# implementation of the simulator portion of OGS")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/Assets/AssetCache.cs b/src/Assets/AssetCache.cs
deleted file mode 100644
index d35b482..0000000
--- a/src/Assets/AssetCache.cs
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using libsecondlife;
-using libsecondlife.Packets;
-using OpenSim;
-using OpenSim.GridServers;
-
-namespace OpenSim.Assets
-{
- ///
- /// Manages local cache of assets and their sending to viewers.
- ///
- public class AssetCache : IAssetReceiver
- {
- public Dictionary Assets;
- public Dictionary Textures;
-
- public List AssetRequests = new List(); //assets ready to be sent to viewers
- public List TextureRequests = new List(); //textures ready to be sent
-
- public Dictionary RequestedAssets = new Dictionary(); //Assets requested from the asset server
- public Dictionary RequestedTextures = new Dictionary(); //Textures requested from the asset server
-
- private IAssetServer _assetServer;
- private Thread _assetCacheThread;
-
- ///
- ///
- ///
- public AssetCache( IAssetServer assetServer)
- {
- _assetServer = assetServer;
- _assetServer.SetReceiver(this);
- Assets = new Dictionary ();
- Textures = new Dictionary ();
- this._assetCacheThread = new Thread( new ThreadStart(RunAssetManager));
- this._assetCacheThread.IsBackground = true;
- this._assetCacheThread.Start();
- }
-
- ///
- ///
- ///
- private void RunAssetManager()
- {
- this.ProcessAssetQueue();
- this.ProcessTextureQueue();
- Thread.Sleep(100);
- }
-
- ///
- ///
- ///
- private void ProcessTextureQueue()
- {
- if(this.TextureRequests.Count == 0)
- {
- //no requests waiting
- return;
- }
- int num;
-
- if(this.TextureRequests.Count < 5)
- {
- //lower than 5 so do all of them
- num = this.TextureRequests.Count;
- }
- else
- {
- num=5;
- }
- AssetRequest req;
- for(int i = 0; i < num; i++)
- {
- req=(AssetRequest)this.TextureRequests[i];
-
- if(req.PacketCounter == 0)
- {
- //first time for this request so send imagedata packet
- if(req.NumPackets == 1)
- {
- //only one packet so send whole file
- ImageDataPacket im = new ImageDataPacket();
- im.ImageID.Packets = 1;
- im.ImageID.ID = req.ImageInfo.FullID;
- im.ImageID.Size = (uint)req.ImageInfo.Data.Length;
- im.ImageData.Data = req.ImageInfo.Data;
- im.ImageID.Codec = 2;
- req.RequestUser.OutPacket(im);
- req.PacketCounter++;
- //req.ImageInfo.l= time;
- //System.Console.WriteLine("sent texture: "+req.image_info.FullID);
- }
- else
- {
- //more than one packet so split file up
- ImageDataPacket im = new ImageDataPacket();
- im.ImageID.Packets = (ushort)req.NumPackets;
- im.ImageID.ID = req.ImageInfo.FullID;
- im.ImageID.Size = (uint)req.ImageInfo.Data.Length;
- im.ImageData.Data = new byte[600];
- Array.Copy(req.ImageInfo.Data, 0, im.ImageData.Data, 0, 600);
- im.ImageID.Codec = 2;
- req.RequestUser.OutPacket(im);
- req.PacketCounter++;
- //req.ImageInfo.last_used = time;
- //System.Console.WriteLine("sent first packet of texture:
- }
- }
- else
- {
- //send imagepacket
- //more than one packet so split file up
- ImagePacketPacket im = new ImagePacketPacket();
- im.ImageID.Packet = (ushort)req.PacketCounter;
- im.ImageID.ID = req.ImageInfo.FullID;
- int size = req.ImageInfo.Data.Length - 600 - 1000*(req.PacketCounter - 1);
- if(size > 1000) size = 1000;
- im.ImageData.Data = new byte[size];
- Array.Copy(req.ImageInfo.Data, 600 + 1000*(req.PacketCounter - 1), im.ImageData.Data, 0, size);
- req.RequestUser.OutPacket(im);
- req.PacketCounter++;
- //req.ImageInfo.last_used = time;
- //System.Console.WriteLine("sent a packet of texture: "+req.image_info.FullID);
- }
- }
-
- //remove requests that have been completed
- int count = 0;
- for(int i = 0; i < num; i++)
- {
- req=(AssetRequest)this.TextureRequests[count];
- if(req.PacketCounter == req.NumPackets)
- {
- this.TextureRequests.Remove(req);
- }
- else
- {
- count++;
- }
- }
-
- }
- public void AssetReceived(AssetBase asset, bool IsTexture)
- {
- //check if it is a texture or not
- //then add to the correct cache list
- //then check for waiting requests for this asset/texture (in the Requested lists)
- //and move those requests into the Requests list.
- if(IsTexture)
- {
- TextureImage image = new TextureImage(asset);
- this.Textures.Add(image.FullID, image);
- if(this.RequestedTextures.ContainsKey(image.FullID))
- {
- AssetRequest req = this.RequestedTextures[image.FullID];
- req.ImageInfo = image;
- this.RequestedTextures.Remove(image.FullID);
- this.TextureRequests.Add(req);
- }
- }
- else
- {
- AssetInfo assetInf = new AssetInfo(asset);
- this.Assets.Add(assetInf.FullID, assetInf);
- if(this.RequestedAssets.ContainsKey(assetInf.FullID))
- {
- AssetRequest req = this.RequestedAssets[assetInf.FullID];
- req.AssetInf = assetInf;
- this.RequestedAssets.Remove(assetInf.FullID);
- this.AssetRequests.Add(req);
- }
- }
- }
-
- public void AssetNotFound(AssetBase asset)
- {
- //the asset server had no knowledge of requested asset
-
- }
-
- #region Assets
- ///
- ///
- ///
- ///
- ///
- public void AddAssetRequest(OpenSimClient userInfo, TransferRequestPacket transferRequest)
- {
- LLUUID requestID = new LLUUID(transferRequest.TransferInfo.Params, 0);
- //check to see if asset is in local cache, if not we need to request it from asset server.
- if(!this.Assets.ContainsKey(requestID))
- {
- //not found asset
- // so request from asset server
- AssetRequest request = new AssetRequest();
- request.RequestUser = userInfo;
- request.RequestAssetID = requestID;
- request.TransferRequestID = transferRequest.TransferInfo.TransferID;
- this.RequestedAssets.Add(requestID,request);
- this._assetServer.RequestAsset(requestID, false);
- return;
- }
- //it is in our cache
- AssetInfo asset = this.Assets[requestID];
-
- //work out how many packets it should be sent in
- // and add to the AssetRequests list
- AssetRequest req = new AssetRequest();
- req.RequestUser = userInfo;
- req.RequestAssetID = requestID;
- req.TransferRequestID = transferRequest.TransferInfo.TransferID;
- req.AssetInf = asset;
-
- if(asset.Data.LongLength>600)
- {
- //over 600 bytes so split up file
- req.NumPackets = 1 + (int)(asset.Data.Length-600+999)/1000;
- }
- else
- {
- req.NumPackets = 1;
- }
-
- this.AssetRequests.Add(req);
- }
-
- ///
- ///
- ///
- private void ProcessAssetQueue()
- {
- if(this.AssetRequests.Count == 0)
- {
- //no requests waiting
- return;
- }
- int num;
-
- if(this.AssetRequests.Count < 5)
- {
- //lower than 5 so do all of them
- num = this.AssetRequests.Count;
- }
- else
- {
- num=5;
- }
- AssetRequest req;
- for(int i = 0; i < num; i++)
- {
- req=(AssetRequest)this.AssetRequests[i];
-
- TransferInfoPacket Transfer = new TransferInfoPacket();
- Transfer.TransferInfo.ChannelType = 2;
- Transfer.TransferInfo.Status = 0;
- Transfer.TransferInfo.TargetType = 0;
- Transfer.TransferInfo.Params = req.RequestAssetID.GetBytes();
- Transfer.TransferInfo.Size = (int)req.AssetInf.Data.Length;
- Transfer.TransferInfo.TransferID = req.TransferRequestID;
- req.RequestUser.OutPacket(Transfer);
-
- if(req.NumPackets == 1)
- {
- TransferPacketPacket TransferPacket = new TransferPacketPacket();
- TransferPacket.TransferData.Packet = 0;
- TransferPacket.TransferData.ChannelType = 2;
- TransferPacket.TransferData.TransferID=req.TransferRequestID;
- TransferPacket.TransferData.Data = req.AssetInf.Data;
- TransferPacket.TransferData.Status = 1;
- req.RequestUser.OutPacket(TransferPacket);
- }
- else
- {
- //more than one packet so split file up , for now it can't be bigger than 2000 bytes
- TransferPacketPacket TransferPacket = new TransferPacketPacket();
- TransferPacket.TransferData.Packet = 0;
- TransferPacket.TransferData.ChannelType = 2;
- TransferPacket.TransferData.TransferID=req.TransferRequestID;
- byte[] chunk = new byte[1000];
- Array.Copy(req.AssetInf.Data,chunk,1000);
- TransferPacket.TransferData.Data = chunk;
- TransferPacket.TransferData.Status = 0;
- req.RequestUser.OutPacket(TransferPacket);
-
- TransferPacket = new TransferPacketPacket();
- TransferPacket.TransferData.Packet = 1;
- TransferPacket.TransferData.ChannelType = 2;
- TransferPacket.TransferData.TransferID = req.TransferRequestID;
- byte[] chunk1 = new byte[(req.AssetInf.Data.Length-1000)];
- Array.Copy(req.AssetInf.Data, 1000, chunk1, 0, chunk1.Length);
- TransferPacket.TransferData.Data = chunk1;
- TransferPacket.TransferData.Status = 1;
- req.RequestUser.OutPacket(TransferPacket);
- }
-
- }
-
- //remove requests that have been completed
- for(int i = 0; i < num; i++)
- {
- this.AssetRequests.RemoveAt(0);
- }
-
- }
-
- #endregion
-
- #region Textures
- ///
- ///
- ///
- ///
- ///
- public void AddTextureRequest(OpenSimClient userInfo, LLUUID imageID)
- {
- //check to see if texture is in local cache, if not request from asset server
- if(!this.Textures.ContainsKey(imageID))
- {
- //not is cache so request from asset server
- AssetRequest request = new AssetRequest();
- request.RequestUser = userInfo;
- request.RequestAssetID = imageID;
- request.IsTextureRequest = true;
- this.RequestedTextures.Add(imageID, request);
- this._assetServer.RequestAsset(imageID, true);
- return;
- }
- TextureImage imag = this.Textures[imageID];
- AssetRequest req = new AssetRequest();
- req.RequestUser = userInfo;
- req.RequestAssetID = imageID;
- req.IsTextureRequest = true;
- req.ImageInfo = imag;
-
- if(imag.Data.LongLength>600)
- {
- //over 600 bytes so split up file
- req.NumPackets = 1 + (int)(imag.Data.Length-600+999)/1000;
- }
- else
- {
- req.NumPackets = 1;
- }
-
- this.TextureRequests.Add(req);
- }
- #endregion
-
- }
-
- public class AssetRequest
- {
- public OpenSimClient RequestUser;
- public LLUUID RequestAssetID;
- public AssetInfo AssetInf;
- public TextureImage ImageInfo;
- public LLUUID TransferRequestID;
- public long DataPointer = 0;
- public int NumPackets = 0;
- public int PacketCounter = 0;
- public bool IsTextureRequest;
- //public bool AssetInCache;
- //public int TimeRequested;
-
- public AssetRequest()
- {
-
- }
- }
-
- public class AssetInfo : AssetBase
- {
- public AssetInfo()
- {
-
- }
-
- public AssetInfo(AssetBase aBase)
- {
- Data= aBase.Data;
- FullID = aBase.FullID;
- Type = aBase.Type;
- InvType = aBase.InvType;
- Name= aBase.Name;
- Description = aBase.Description;
- }
- }
-
- public class TextureImage : AssetBase
- {
- public TextureImage()
- {
-
- }
-
- public TextureImage(AssetBase aBase)
- {
- Data= aBase.Data;
- FullID = aBase.FullID;
- Type = aBase.Type;
- InvType = aBase.InvType;
- Name= aBase.Name;
- Description = aBase.Description;
- }
- }
-
-}
diff --git a/src/CAPS/SimHttp.cs b/src/CAPS/SimHttp.cs
deleted file mode 100644
index c0373de..0000000
--- a/src/CAPS/SimHttp.cs
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-Copyright (c) OpenSimCAPS project, http://osgrid.org/
-
-
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-using System.Text;
-using Nwc.XmlRpc;
-using System.Threading;
-using System.Text.RegularExpressions;
-using System.Net;
-using System.IO;
-using System.Collections;
-using System.Collections.Generic;
-using libsecondlife;
-using ServerConsole;
-using OpenSim.GridServers;
-
-namespace OpenSim
-{
- // Dummy HTTP server, does nothing useful for now
-
- public class SimCAPSHTTPServer {
- public Thread HTTPD;
- public HttpListener Listener;
-
- public SimCAPSHTTPServer() {
- ServerConsole.MainConsole.Instance.WriteLine("Starting up HTTP Server");
- HTTPD = new Thread(new ThreadStart(StartHTTP));
- HTTPD.Start();
- }
-
- public void StartHTTP() {
- try
- {
- ServerConsole.MainConsole.Instance.WriteLine("SimHttp.cs:StartHTTP() - Spawned main thread OK");
- Listener = new HttpListener();
-
- Listener.Prefixes.Add("http://+:" + OpenSim_Main.cfg.IPListenPort + "/");
- Listener.Start();
-
- HttpListenerContext context;
- while(true) {
- context = Listener.GetContext();
- ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context);
- }
- }
- catch (Exception e)
- {
- ServerConsole.MainConsole.Instance.WriteLine(e.Message);
- }
- }
-
- static string ParseXMLRPC(string requestBody) {
- try
- {
- XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody);
-
- Hashtable requestData = (Hashtable)request.Params[0];
- switch(request.MethodName) {
- case "expect_user":
- GridServers.agentcircuitdata agent_data = new GridServers.agentcircuitdata();
- agent_data.SessionID = new LLUUID((string)requestData["session_id"]);
- agent_data.SecureSessionID = new LLUUID((string)requestData["secure_session_id"]);
- agent_data.firstname = (string)requestData["firstname"];
- agent_data.lastname = (string)requestData["lastname"];
- agent_data.AgentID = new LLUUID((string)requestData["agent_id"]);
- agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]);
- if (OpenSim_Main.gridServers.GridServer.GetName() == "Remote")
- {
- ((RemoteGridBase) OpenSim_Main.gridServers.GridServer).agentcircuits.Add((uint)agent_data.circuitcode,agent_data);
- }
- return "";
- break;
- }
- }
- catch(Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- return "";
- }
-
- static string ParseREST(string requestBody, string requestURL) {
- return "";
- }
-
- static string ParseLLSDXML(string requestBody) {
- // dummy function for now - IMPLEMENT ME!
- return "";
- }
-
- static void HandleRequest(Object stateinfo) {
- HttpListenerContext context=(HttpListenerContext)stateinfo;
-
- HttpListenerRequest request = context.Request;
- HttpListenerResponse response = context.Response;
-
- response.KeepAlive=false;
- response.SendChunked=false;
-
- System.IO.Stream body = request.InputStream;
- System.Text.Encoding encoding = System.Text.Encoding.UTF8;
- System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
-
- string requestBody = reader.ReadToEnd();
- body.Close();
- reader.Close();
-
- string responseString="";
- switch(request.ContentType) {
- case "text/xml":
- // must be XML-RPC, so pass to the XML-RPC parser
-
- responseString=ParseXMLRPC(requestBody);
- response.AddHeader("Content-type","text/xml");
- break;
-
- case "application/xml":
- // probably LLSD we hope, otherwise it should be ignored by the parser
- responseString=ParseLLSDXML(requestBody);
- response.AddHeader("Content-type","application/xml");
- break;
-
- case null:
- // must be REST or invalid crap, so pass to the REST parser
- responseString=ParseREST(request.Url.OriginalString,requestBody);
- break;
- }
-
- byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
- System.IO.Stream output = response.OutputStream;
- response.SendChunked=false;
- response.ContentLength64=buffer.Length;
- output.Write(buffer,0,buffer.Length);
- output.Close();
- }
- }
-
-
-}
diff --git a/src/Config.cs b/src/Config.cs
deleted file mode 100644
index 1c0a6cc..0000000
--- a/src/Config.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-Copyright (c) OpenSim project, http://osgrid.org/
-
-* Copyright (c) ,
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using libsecondlife;
-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 abstract class SimConfig
- {
- public string RegionName;
-
- public uint RegionLocX;
- public uint RegionLocY;
- public ulong RegionHandle;
-
- public int IPListenPort;
- public string IPListenAddr;
-
- public string AssetURL;
- public string AssetSendKey;
-
- public string GridURL;
- public string GridSendKey;
- public string GridRecvKey;
- public string UserURL;
- public string UserSendKey;
- public string UserRecvKey;
-
-
- public abstract void InitConfig();
- public abstract void LoadFromGrid();
- public abstract World LoadWorld();
- public abstract void SaveMap();
-
- }
-
- public interface ISimConfig
- {
- SimConfig GetConfigObject();
- }
-}
diff --git a/src/Config/SimConfig/AssemblyInfo.cs b/src/Config/SimConfig/AssemblyInfo.cs
deleted file mode 100644
index 7fabd63..0000000
--- a/src/Config/SimConfig/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-simconfig")]
-[assembly: AssemblyDescriptionAttribute("The default configuration handler")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/Config/SimConfig/Db4SimConfig.cs b/src/Config/SimConfig/Db4SimConfig.cs
deleted file mode 100644
index 1b696fe..0000000
--- a/src/Config/SimConfig/Db4SimConfig.cs
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using OpenSim;
-using OpenSim.world;
-using Db4objects.Db4o;
-
-namespace Db40SimConfig
-{
- public class Db40ConfigPlugin: ISimConfig
- {
- public SimConfig GetConfigObject()
- {
- ServerConsole.MainConsole.Instance.WriteLine("Loading Db40Config dll");
- return ( new DbSimConfig());
- }
- }
-
- public class DbSimConfig :SimConfig
- {
- private IObjectContainer db;
-
- public void LoadDefaults() {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadDefaults() - Please press enter to retain default or enter new settings");
-
- this.RegionName=ServerConsole.MainConsole.Instance.CmdPrompt("Name [OpenSim test]: ","OpenSim test");
- this.RegionLocX=(uint)Convert.ToInt32(ServerConsole.MainConsole.Instance.CmdPrompt("Grid Location X [997]: ","997"));
- this.RegionLocY=(uint)Convert.ToInt32(ServerConsole.MainConsole.Instance.CmdPrompt("Grid Location Y [996]: ","996"));
- this.IPListenPort=Convert.ToInt32(ServerConsole.MainConsole.Instance.CmdPrompt("UDP port for client connections [9000]: ","9000"));
- this.IPListenAddr=ServerConsole.MainConsole.Instance.CmdPrompt("IP Address to listen on for client connections [127.0.0.1]: ","127.0.0.1");
-
- if(!OpenSim_Main.sim.sandbox)
- {
- this.AssetURL=ServerConsole.MainConsole.Instance.CmdPrompt("Asset server URL: ");
- this.AssetSendKey=ServerConsole.MainConsole.Instance.CmdPrompt("Asset server key: ");
- this.GridURL=ServerConsole.MainConsole.Instance.CmdPrompt("Grid server URL: ");
- this.GridSendKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to send to grid server: ");
- this.GridRecvKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to expect from grid server: ");
- this.UserURL=ServerConsole.MainConsole.Instance.CmdPrompt("User server URL: ");
- this.UserSendKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to send to user server: ");
- this.UserRecvKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to expect from user server: ");
- }
- this.RegionHandle = Util.UIntsToLong((RegionLocX*256), (RegionLocY*256));
- }
-
- public override void InitConfig() {
- try {
- db = Db4oFactory.OpenFile("opensim.yap");
- IObjectSet result = db.Get(typeof(DbSimConfig));
- if(result.Count==1) {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:InitConfig() - Found a SimConfig object in the local database, loading");
- foreach (DbSimConfig cfg in result) {
- this.RegionName = cfg.RegionName;
- this.RegionLocX = cfg.RegionLocX;
- this.RegionLocY = cfg.RegionLocY;
- this.RegionHandle = Util.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 {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:InitConfig() - Could not find object in database, loading precompiled defaults");
- LoadDefaults();
- ServerConsole.MainConsole.Instance.WriteLine("Writing out default settings to local database");
- db.Set(this);
- }
- } catch(Exception e) {
- db.Close();
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:InitConfig() - Exception occured");
- ServerConsole.MainConsole.Instance.WriteLine(e.ToString());
- }
-
- ServerConsole.MainConsole.Instance.WriteLine("Sim settings loaded:");
- ServerConsole.MainConsole.Instance.WriteLine("Name: " + this.RegionName);
- ServerConsole.MainConsole.Instance.WriteLine("Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]");
- ServerConsole.MainConsole.Instance.WriteLine("Region Handle: " + this.RegionHandle.ToString());
- ServerConsole.MainConsole.Instance.WriteLine("Listening on IP: " + this.IPListenAddr + ":" + this.IPListenPort);
- ServerConsole.MainConsole.Instance.WriteLine("Sandbox Mode? " + OpenSim_Main.sim.sandbox.ToString());
- ServerConsole.MainConsole.Instance.WriteLine("Asset URL: " + this.AssetURL);
- ServerConsole.MainConsole.Instance.WriteLine("Asset key: " + this.AssetSendKey);
- ServerConsole.MainConsole.Instance.WriteLine("Grid URL: " + this.GridURL);
- ServerConsole.MainConsole.Instance.WriteLine("Grid key: " + this.GridSendKey);
- }
-
- public override World LoadWorld()
- {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadWorld() - Loading world....");
- World blank = new World();
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadWorld() - Looking for a heightmap in local DB");
- IObjectSet world_result = db.Get(typeof(MapStorage));
- if(world_result.Count>0) {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadWorld() - Found a heightmap in local database, loading");
- MapStorage map=(MapStorage)world_result.Next();
- blank.LandMap = map.Map;
- } else {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadWorld() - No heightmap found, generating new one");
- HeightmapGenHills hills = new HeightmapGenHills();
- blank.LandMap = hills.GenerateHeightmap(200, 4.0f, 80.0f, false);
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadWorld() - Saving heightmap to local database");
- MapStorage map= new MapStorage();
- map.Map = blank.LandMap;
- db.Set(map);
- db.Commit();
- }
- return blank;
- }
-
- public override void SaveMap()
- {
- IObjectSet world_result = db.Get(typeof(MapStorage));
- if(world_result.Count>0) {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadWorld() - updating saved copy of heightmap in local database");
- MapStorage map=(MapStorage)world_result.Next();
- db.Delete(map);
- }
- MapStorage map1= new MapStorage();
- map1.Map = OpenSim_Main.local_world.LandMap;
- db.Set(map1);
- db.Commit();
- }
-
- public override void LoadFromGrid() {
- ServerConsole.MainConsole.Instance.WriteLine("Config.cs:LoadFromGrid() - dummy function, DOING ABSOLUTELY NOTHING AT ALL!!!");
- // TODO: Make this crap work
- /* WebRequest GridLogin = WebRequest.Create(this.GridURL + "regions/" + this.RegionHandle.ToString() + "/login");
- WebResponse GridResponse = GridLogin.GetResponse();
- byte[] idata = new byte[(int)GridResponse.ContentLength];
- BinaryReader br = new BinaryReader(GridResponse.GetResponseStream());
-
- br.Close();
- GridResponse.Close();
- */
- }
-
- public void Shutdown() {
- db.Close();
- }
- }
-
- public class MapStorage
- {
- public float[] Map;
-
- public MapStorage()
- {
-
- }
- }
-}
diff --git a/src/Config/SimConfig/SimConfig.csproj b/src/Config/SimConfig/SimConfig.csproj
deleted file mode 100644
index 43e9499..0000000
--- a/src/Config/SimConfig/SimConfig.csproj
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
- Library
- SimConfig
- SimConfig
- Debug
- AnyCPU
- {B063760D-DB8D-4F64-B6FE-335FAD1E650A}
-
-
- ..\..\..\bin\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- ..\..\..\bin\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
- ..\..\..\bin\Db4objects.Db4o.dll
- False
-
-
-
-
-
-
-
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
- ServerConsole
-
-
- {132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}
- Second-server
-
-
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
- GridInterfaces
-
-
-
-
\ No newline at end of file
diff --git a/src/Config/default.build b/src/Config/default.build
deleted file mode 100644
index 9e13ca6..0000000
--- a/src/Config/default.build
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/GridInterfaces/AssemblyInfo.cs b/src/GridInterfaces/AssemblyInfo.cs
deleted file mode 100644
index 32f1380..0000000
--- a/src/GridInterfaces/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-gridinterfaces")]
-[assembly: AssemblyDescriptionAttribute("Definitions for OGS interface")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/GridInterfaces/GridInterfaces.csproj b/src/GridInterfaces/GridInterfaces.csproj
deleted file mode 100644
index 197994f..0000000
--- a/src/GridInterfaces/GridInterfaces.csproj
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- Library
- GridInterfaces
- GridInterfaces
- Debug
- AnyCPU
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
-
-
- bin\Debug\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- bin\Release\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
- ..\..\bin\libsecondlife.dll
- False
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/GridInterfaces/IAssetServer.cs b/src/GridInterfaces/IAssetServer.cs
deleted file mode 100644
index 6050a6c..0000000
--- a/src/GridInterfaces/IAssetServer.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Net;
-using System.Net.Sockets;
-using System.IO;
-using System.Threading;
-using libsecondlife;
-
-
-namespace OpenSim.GridServers
-{
- ///
- /// Description of IAssetServer.
- ///
-
- public interface IAssetServer
- {
- void SetReceiver(IAssetReceiver receiver);
- void RequestAsset(LLUUID assetID, bool isTexture);
- void UpdateAsset(AssetBase asset);
- void UploadNewAsset(AssetBase asset);
- void SetServerInfo(string ServerUrl, string ServerKey);
- }
-
- // could change to delegate?
- public interface IAssetReceiver
- {
- void AssetReceived(AssetBase asset, bool IsTexture);
- void AssetNotFound(AssetBase asset);
- }
-
- public struct ARequest
- {
- public LLUUID AssetID;
- public bool IsTexture;
- }
-
- public class AssetBase
- {
- public byte[] Data;
- public LLUUID FullID;
- public sbyte Type;
- public sbyte InvType;
- public string Name;
- public string Description;
-
- public AssetBase()
- {
-
- }
- }
-
- public interface IAssetPlugin
- {
- IAssetServer GetAssetServer();
- }
-}
diff --git a/src/GridInterfaces/IGridServer.cs b/src/GridInterfaces/IGridServer.cs
deleted file mode 100644
index dcb8ef2..0000000
--- a/src/GridInterfaces/IGridServer.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-
-using System;
-using System.Collections.Generic;
-using System.Net;
-using System.Net.Sockets;
-using System.IO;
-using libsecondlife;
-using OpenSim;
-
-namespace OpenSim.GridServers
-{
- ///
- /// Handles connection to Grid Servers.
- /// also Sim to Sim connections?
- ///
-
-
-
-
- public interface IGridServer
- {
- UUIDBlock RequestUUIDBlock();
- neighbourinfo[] RequestNeighbours(ulong regionhandle); //should return a array of neighbouring regions
- AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitCode);
- bool LogoutSession(LLUUID sessionID, LLUUID agentID, uint circuitCode);
- string GetName();
- bool RequestConnection();
- void SetServerInfo(string GridServerUrl, string GridSendKey, string GridRecvKey, string UserServerUrl, string UserSendKey, string UserRecvKey);
- }
-
- public abstract class RemoteGridBase : IGridServer
- {
- public abstract Dictionary agentcircuits {
- get;
- set;
- }
-
- public abstract UUIDBlock RequestUUIDBlock();
- public abstract neighbourinfo[] RequestNeighbours(ulong regionhandle);
- public abstract AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitCode);
- public abstract bool LogoutSession(LLUUID sessionID, LLUUID agentID, uint circuitCode);
- public abstract string GetName();
- public abstract bool RequestConnection();
- public abstract void SetServerInfo(string GridServerUrl, string GridSendKey, string GridRecvKey, string UserServerUrl, string UserSendKey, string UserRecvKey);
- }
-
- public abstract class LocalGridBase : IGridServer
- {
- public abstract UUIDBlock RequestUUIDBlock();
- public abstract neighbourinfo[] RequestNeighbours(ulong regionhandle);
- public abstract AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitCode);
- public abstract bool LogoutSession(LLUUID sessionID, LLUUID agentID, uint circuitCode);
- public abstract string GetName();
- public abstract bool RequestConnection();
- public abstract void SetServerInfo(string GridServerUrl, string GridSendKey, string GridRecvKey, string UserServerUrl, string UserSendKey, string UserRecvKey);
- public abstract void AddNewSession(Login session);
- }
-
- public struct UUIDBlock
- {
- public LLUUID BlockStart;
- public LLUUID BlockEnd;
- }
-
- public class AuthenticateResponse
- {
- public bool Authorised;
- public Login LoginInfo;
-
- public AuthenticateResponse()
- {
-
- }
-
- }
-
- public class Login
- {
- public string First = "Test";
- public string Last = "User";
- public LLUUID Agent;
- public LLUUID Session;
- public LLUUID InventoryFolder;
- public LLUUID BaseFolder;
- public Login()
- {
-
- }
- }
-
- public interface IGridPlugin
- {
- IGridServer GetGridServer();
- }
-
- public class agentcircuitdata
- {
- public agentcircuitdata() { }
- public LLUUID AgentID;
- public LLUUID SessionID;
- public LLUUID SecureSessionID;
- public string firstname;
- public string lastname;
- public uint circuitcode;
- public bool child_agent;
- }
-
- public class neighbourinfo
- {
- public neighbourinfo() { }
- public ulong regionhandle;
- public uint RegionLocX;
- public uint RegionLocY;
- public string sim_ip;
- public uint sim_port;
- }
-
-}
diff --git a/src/GridInterfaces/ILocalStorage.cs b/src/GridInterfaces/ILocalStorage.cs
deleted file mode 100644
index 6b7ded6..0000000
--- a/src/GridInterfaces/ILocalStorage.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using libsecondlife;
-
-namespace GridInterfaces
-{
- ///
- /// ILocalStorage. Really hacked together right now needs cleaning up
- ///
- public interface ILocalStorage
- {
- void StorePrim(PrimData prim);
- void RemovePrim(LLUUID primID);
- void LoadPrimitives(ILocalStorageReceiver receiver);
- void ShutDown();
- }
-
- public interface ILocalStorageReceiver
- {
- void PrimFromStorage(PrimData prim);
- }
-
-
- public class PrimData
- {
- public LLUUID OwnerID;
- public byte PCode;
- public byte PathBegin;
- public byte PathEnd;
- public byte PathScaleX;
- public byte PathScaleY;
- public byte PathShearX;
- public byte PathShearY;
- public sbyte PathSkew;
- public byte ProfileBegin;
- public byte ProfileEnd;
- public LLVector3 Scale;
- public byte PathCurve;
- public byte ProfileCurve;
- public uint ParentID=0;
- public byte ProfileHollow;
- public sbyte PathRadiusOffset;
- public byte PathRevolutions;
- public sbyte PathTaperX;
- public sbyte PathTaperY;
- public sbyte PathTwist;
- public sbyte PathTwistBegin;
-
- //following only used during prim storage
- public LLVector3 Position;
- public LLQuaternion Rotation;
- public uint LocalID;
- public LLUUID FullID;
-
- public PrimData()
- {
-
- }
- }
-}
diff --git a/src/GridInterfaces/default.build b/src/GridInterfaces/default.build
deleted file mode 100644
index dd02448..0000000
--- a/src/GridInterfaces/default.build
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/GridServers/LoginServer.cs b/src/GridServers/LoginServer.cs
deleted file mode 100644
index dbf211d..0000000
--- a/src/GridServers/LoginServer.cs
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using Nwc.XmlRpc;
-using System;
-using System.IO;
-using System.Net;
-using System.Net.Sockets;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading;
-using System.Collections;
-using System.Security.Cryptography;
-using System.Xml;
-using libsecondlife;
-using OpenSim;
-using OpenSim.Framework;
-
-namespace OpenSim.GridServers
-{
-
- ///
- /// When running in local (default) mode , handles client logins.
- ///
- public class LoginServer : LoginService
- {
- public LoginServer(IGridServer gridServer)
- {
- _gridServer = gridServer;
- }
-
- private IGridServer _gridServer;
- private ushort _loginPort = 8080;
- public IPAddress clientAddress = IPAddress.Loopback;
- public IPAddress remoteAddress = IPAddress.Any;
- private Socket loginServer;
- private int NumClients;
- private string _defaultResponse;
-
- private string _mpasswd;
- private bool _needPasswd=false;
-
- // InitializeLogin: initialize the login
- private void InitializeLogin() {
- loginServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- loginServer.Bind(new IPEndPoint(remoteAddress, _loginPort));
- loginServer.Listen(1);
-
- this._needPasswd=false;
- //read in default response string
- StreamReader SR;
- string lines;
- SR=File.OpenText("new-login.dat");
-
- //lines=SR.ReadLine();
-
- while(!SR.EndOfStream)
- {
- lines = SR.ReadLine();
- _defaultResponse += lines;
- //lines = SR.ReadLine();
- }
- SR.Close();
- this._mpasswd = EncodePassword("testpass");
- }
-
- public void Startup()
- {
- this.InitializeLogin();
- Thread runLoginProxy = new Thread(new ThreadStart(RunLogin));
- runLoginProxy.IsBackground = true;
- runLoginProxy.Start();
- }
-
- private void RunLogin()
- {
- Console.WriteLine("Starting Login Server");
- try
- {
- for (;;)
- {
- Socket client = loginServer.Accept();
- IPEndPoint clientEndPoint = (IPEndPoint)client.RemoteEndPoint;
-
-
- NetworkStream networkStream = new NetworkStream(client);
- StreamReader networkReader = new StreamReader(networkStream);
- StreamWriter networkWriter = new StreamWriter(networkStream);
-
- try
- {
- LoginRequest(networkReader, networkWriter);
- }
- catch (Exception e)
- {
- Console.WriteLine(e.Message);
- }
-
- networkWriter.Close();
- networkReader.Close();
- networkStream.Close();
-
- client.Close();
-
- // send any packets queued for injection
-
- }
- }
- catch (Exception e)
- {
- Console.WriteLine(e.Message);
- Console.WriteLine(e.StackTrace);
- }
- }
-
- // ProxyLogin: proxy a login request
- private void LoginRequest(StreamReader reader, StreamWriter writer)
- {
- lock(this)
- {
- string line;
- int contentLength = 0;
- // read HTTP header
- do
- {
- // read one line of the header
- line = reader.ReadLine();
-
- // check for premature EOF
- if (line == null)
- throw new Exception("EOF in client HTTP header");
-
- // look for Content-Length
- Match match = (new Regex(@"Content-Length: (\d+)$")).Match(line);
- if (match.Success)
- contentLength = Convert.ToInt32(match.Groups[1].Captures[0].ToString());
- } while (line != "");
-
- // read the HTTP body into a buffer
- char[] content = new char[contentLength];
- reader.Read(content, 0, contentLength);
-
- XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(new String(content));
- if(request.MethodName == "login_to_simulator")
- {
- XmlRpcResponse response = ProcessRequest(request);
-
- // forward the XML-RPC response to the client
- writer.WriteLine("HTTP/1.0 200 OK");
- writer.WriteLine("Content-type: text/xml");
- writer.WriteLine();
-
- XmlTextWriter responseWriter = new XmlTextWriter(writer);
- XmlRpcResponseSerializer.Singleton.Serialize(responseWriter, response);
- responseWriter.Close();
- }
- else
- {
- writer.WriteLine("HTTP/1.0 403 Authentication Forbidden");
- writer.WriteLine();
- }
- }
- }
-
- private XmlRpcResponse ProcessRequest(XmlRpcRequest request)
- {
- XmlRpcResponse response = (XmlRpcResponse)(new XmlRpcResponseDeserializer()).Deserialize(this._defaultResponse);
-
- Hashtable responseData = (Hashtable)response.Value;
- Hashtable requestData = (Hashtable)request.Params[0];
-
- string first;
- string last;
- string passwd;
- LLUUID Agent;
- LLUUID Session;
-
- //get login name
- if(requestData.Contains("first"))
- {
- first = (string)requestData["first"];
- }
- else
- {
- first = "test";
- }
-
- if(requestData.Contains("last"))
- {
- last = (string)requestData["last"];
- }
- else
- {
- last = "User"+NumClients.ToString();
- }
-
- if(requestData.Contains("passwd"))
- {
- passwd = (string)requestData["passwd"];
- }
- else
- {
- passwd = "notfound";
- }
-
- if( !Authenticate(first, last, passwd))
- {
- responseData["reason"] = "key";
- responseData["message"] = "You have entered an invalid name/password combination. Check Caps/lock.";
- responseData["login"] = "false";
- }
- else
- {
- NumClients++;
-
- //create a agent and session LLUUID
- Agent = GetAgentId( first, last );
- Session = LLUUID.Random();
-
- //create some login info
- Hashtable LoginFlagsHash = new Hashtable();
- LoginFlagsHash["daylight_savings"]="N";
- LoginFlagsHash["stipend_since_login"]="N";
- LoginFlagsHash["gendered"]="Y";
- LoginFlagsHash["ever_logged_in"]="Y";
- ArrayList LoginFlags=new ArrayList();
- LoginFlags.Add(LoginFlagsHash);
-
- Hashtable GlobalT = new Hashtable();
- GlobalT["sun_texture_id"] = "cce0f112-878f-4586-a2e2-a8f104bba271";
- GlobalT["cloud_texture_id"] = "fc4b9f0b-d008-45c6-96a4-01dd947ac621";
- GlobalT["moon_texture_id"] = "fc4b9f0b-d008-45c6-96a4-01dd947ac621";
- ArrayList GlobalTextures = new ArrayList();
- GlobalTextures.Add(GlobalT);
-
- responseData["sim_port"] = OpenSim_Main.cfg.IPListenPort;
- responseData["sim_ip"] = OpenSim_Main.cfg.IPListenAddr;
- responseData["agent_id"] = Agent.ToStringHyphenated();
- responseData["session_id"] = Session.ToStringHyphenated();
- responseData["seconds_since_epoch"]=(Int32)(DateTime.UtcNow - new DateTime(1970,1,1)).TotalSeconds;
- responseData["login-flags"]=LoginFlags;
- responseData["global-textures"]=GlobalTextures;
-
- //inventory
- ArrayList InventoryList = (ArrayList) responseData["inventory-skeleton"];
- Hashtable Inventory1 = (Hashtable)InventoryList[0];
- Hashtable Inventory2 = (Hashtable)InventoryList[1];
- LLUUID BaseFolderID = LLUUID.Random();
- LLUUID InventoryFolderID = LLUUID.Random();
- Inventory2["name"] = "Base";
- Inventory2["folder_id"] = BaseFolderID.ToStringHyphenated();
- Inventory2["type_default"] =6;
- Inventory1["folder_id"] = InventoryFolderID.ToStringHyphenated();
-
- ArrayList InventoryRoot = (ArrayList) responseData["inventory-root"];
- Hashtable Inventoryroot = (Hashtable)InventoryRoot[0];
- Inventoryroot["folder_id"] = InventoryFolderID.ToStringHyphenated();
-
- CustomiseLoginResponse( responseData, first, last );
-
- Login _login = new Login();
- //copy data to login object
- _login.First = first;
- _login.Last = last;
- _login.Agent = Agent;
- _login.Session = Session;
- _login.BaseFolder = BaseFolderID;
- _login.InventoryFolder = InventoryFolderID;
-
- //working on local computer if so lets add to the gridserver's list of sessions?
- if(OpenSim_Main.gridServers.GridServer.GetName() == "Local")
- {
- ((LocalGridBase)this._gridServer).AddNewSession(_login);
- }
- }
- return response;
- }
-
- protected virtual void CustomiseLoginResponse( Hashtable responseData, string first, string last )
- {
- }
-
- protected virtual LLUUID GetAgentId(string firstName, string lastName)
- {
- return LLUUID.Random();
- }
-
- protected virtual bool Authenticate(string first, string last, string passwd)
- {
- if(this._needPasswd)
- {
- //every user needs the password to login
- string encodedPass = passwd.Remove(0,3); //remove $1$
- if(encodedPass == this._mpasswd)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- //do not need password to login
- return true;
- }
- }
-
- private static string EncodePassword(string passwd)
- {
- Byte[] originalBytes;
- Byte[] encodedBytes;
- MD5 md5;
-
- md5 = new MD5CryptoServiceProvider();
- originalBytes = ASCIIEncoding.Default.GetBytes(passwd);
- encodedBytes = md5.ComputeHash(originalBytes);
-
- return Regex.Replace(BitConverter.ToString(encodedBytes), "-", "").ToLower();
- }
-
- }
-
-
-}
diff --git a/src/HeightMapGenHills.cs b/src/HeightMapGenHills.cs
deleted file mode 100644
index e7589af..0000000
--- a/src/HeightMapGenHills.cs
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-
-namespace OpenSim
-{
- public class HeightmapGenHills
- {
- private Random Rand = new Random();
- private int NumHills;
- private float HillMin;
- private float HillMax;
- private bool Island;
- private float[] heightmap;
-
- public float[] GenerateHeightmap(int numHills, float hillMin, float hillMax, bool island)
- {
- NumHills = numHills;
- HillMin = hillMin;
- HillMax = hillMax;
- Island = island;
-
- heightmap = new float[256 * 256];
-
- for (int i = 0; i < numHills; i++)
- {
- AddHill();
- }
-
- Normalize();
-
- return heightmap;
- }
-
- private void AddHill()
- {
- float x, y;
- float radius = RandomRange(HillMin, HillMax);
-
- if (Island)
- {
- // Which direction from the center of the map the hill is placed
- float theta = RandomRange(0, 6.28f);
-
- // How far from the center of the map to place the hill. The radius
- // is subtracted from the range to prevent any part of the hill from
- // reaching the edge of the map
- float distance = RandomRange(radius / 2.0f, 128.0f - radius);
-
- x = 128.0f + (float)Math.Cos(theta) * distance;
- y = 128.0f + (float)Math.Sin(theta) * distance;
- }
- else
- {
- x = RandomRange(-radius, 256.0f + radius);
- y = RandomRange(-radius, 256.0f + radius);
- }
-
- float radiusSq = radius * radius;
- float distSq;
- float height;
-
- int xMin = (int)(x - radius) - 1;
- int xMax = (int)(x + radius) + 1;
- if (xMin < 0) xMin = 0;
- if (xMax > 255) xMax = 255;
-
- int yMin = (int)(y - radius) - 1;
- int yMax = (int)(y + radius) + 1;
- if (yMin < 0) yMin = 0;
- if (yMax > 255) yMax = 255;
-
- // Loop through each affected cell and determine the height at that point
- for (int v = yMin; v <= yMax; ++v)
- {
- float fv = (float)v;
-
- for (int h = xMin; h <= xMax; ++h)
- {
- float fh = (float)h;
-
- // Determine how far from the center of this hill this point is
- distSq = (x - fh) * (x - fh) + (y - fv) * (y - fv);
- height = radiusSq - distSq;
-
- // Don't add negative hill values
- if (height > 0.0f) heightmap[h + v * 256] += height;
- }
- }
- }
-
- private void Normalize()
- {
- float min = heightmap[0];
- float max = heightmap[0];
-
- for (int x = 0; x < 256; x++)
- {
- for (int y = 0; y < 256; y++)
- {
- if (heightmap[x + y * 256] < min) min = heightmap[x + y * 256];
- if (heightmap[x + y * 256] > max) max = heightmap[x + y * 256];
- }
- }
-
- // Avoid a rare divide by zero
- if (min != max)
- {
- for (int x = 0; x < 256; x++)
- {
- for (int y = 0; y < 256; y++)
- {
- heightmap[x + y * 256] = ((heightmap[x + y * 256] - min) / (max - min)) * (HillMax - HillMin);
- }
- }
- }
- }
-
- private float RandomRange(float min, float max)
- {
- return (float)Rand.NextDouble() * (max - min) + min;
- }
- }
-}
diff --git a/src/LocalServers/LocalGridServers/AssemblyInfo.cs b/src/LocalServers/LocalGridServers/AssemblyInfo.cs
deleted file mode 100644
index 4b17ba2..0000000
--- a/src/LocalServers/LocalGridServers/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-localservers")]
-[assembly: AssemblyDescriptionAttribute("local grid servers")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/LocalServers/LocalGridServers/LocalGrid.cs b/src/LocalServers/LocalGridServers/LocalGrid.cs
deleted file mode 100644
index bd377d3..0000000
--- a/src/LocalServers/LocalGridServers/LocalGrid.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using OpenSim.GridServers;
-using libsecondlife;
-
-namespace LocalGridServers
-{
- ///
- ///
- ///
- ///
- public class LocalGridPlugin : IGridPlugin
- {
- public LocalGridPlugin()
- {
-
- }
-
- public IGridServer GetGridServer()
- {
- return(new LocalGridServer());
- }
- }
-
- public class LocalAssetPlugin : IAssetPlugin
- {
- public LocalAssetPlugin()
- {
-
- }
-
- public IAssetServer GetAssetServer()
- {
- return(new LocalAssetServer());
- }
- }
-
- public class LocalAssetServer : IAssetServer
- {
- private IAssetReceiver _receiver;
- private BlockingQueue _assetRequests;
-
- public LocalAssetServer()
- {
- this._assetRequests = new BlockingQueue();
- ServerConsole.MainConsole.Instance.WriteLine("Local Asset Server class created");
- }
-
- public void SetReceiver(IAssetReceiver receiver)
- {
- this._receiver = receiver;
- }
-
- public void RequestAsset(LLUUID assetID, bool isTexture)
- {
- ARequest req = new ARequest();
- req.AssetID = assetID;
- req.IsTexture = isTexture;
- //this._assetRequests.Enqueue(req);
- }
-
- public void UpdateAsset(AssetBase asset)
- {
-
- }
-
- public void UploadNewAsset(AssetBase asset)
- {
-
- }
-
- public void SetServerInfo(string ServerUrl, string SendKey)
- {
-
- }
-
- private void RunRequests()
- {
- while(true)
- {
- Thread.Sleep(1000);
- }
- }
- }
-
- public class LocalGridServer : LocalGridBase
- {
- public List Sessions = new List();
-
- public LocalGridServer()
- {
- Sessions = new List();
- ServerConsole.MainConsole.Instance.WriteLine("Local Grid Server class created");
- }
-
- public override string GetName()
- {
- return "Local";
- }
-
- public override bool RequestConnection()
- {
- return true;
- }
- public override AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitCode)
- {
- //we are running local
- AuthenticateResponse user = new AuthenticateResponse();
-
- lock(this.Sessions)
- {
-
- for(int i = 0; i < Sessions.Count; i++)
- {
- if((Sessions[i].Agent == agentID) && (Sessions[i].Session == sessionID))
- {
- user.Authorised = true;
- user.LoginInfo = Sessions[i];
- }
- }
- }
- return(user);
- }
-
- public override bool LogoutSession(LLUUID sessionID, LLUUID agentID, uint circuitCode)
- {
- return(true);
- }
-
- public override UUIDBlock RequestUUIDBlock()
- {
- UUIDBlock uuidBlock = new UUIDBlock();
- return(uuidBlock);
- }
-
- public override neighbourinfo[] RequestNeighbours(ulong regionhandle)
- {
- return new neighbourinfo[8];
- }
-
- public override void SetServerInfo(string GridServerUrl, string GridSendKey, string GridRecvKey, string UserServerUrl, string UserSendKey, string UserRecvKey)
- {
-
- }
-
- ///
- /// used by the local login server to inform us of new sessions
- ///
- ///
- public override void AddNewSession(Login session)
- {
- lock(this.Sessions)
- {
- this.Sessions.Add(session);
- }
- }
- }
-
- public class BlockingQueue< T > {
- private Queue< T > _queue = new Queue< T >();
- private object _queueSync = new object();
-
- public void Enqueue(T value)
- {
- lock(_queueSync)
- {
- _queue.Enqueue(value);
- Monitor.Pulse(_queueSync);
- }
- }
-
- public T Dequeue()
- {
- lock(_queueSync)
- {
- if( _queue.Count < 1)
- Monitor.Wait(_queueSync);
-
- return _queue.Dequeue();
- }
- }
- }
-
-}
diff --git a/src/LocalServers/LocalGridServers/LocalGridServers.csproj b/src/LocalServers/LocalGridServers/LocalGridServers.csproj
deleted file mode 100644
index 7a5ce3d..0000000
--- a/src/LocalServers/LocalGridServers/LocalGridServers.csproj
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- Library
- LocalGridServers
- LocalGridServers
- Debug
- AnyCPU
- {D7F0395B-FADC-4936-80A0-D95AACE92F62}
-
-
- bin\Debug\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- bin\Release\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
- ..\..\..\bin\libsecondlife.dll
- False
-
-
-
-
-
-
-
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
- ServerConsole
-
-
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
- GridInterfaces
-
-
-
-
\ No newline at end of file
diff --git a/src/LocalServers/default.build b/src/LocalServers/default.build
deleted file mode 100644
index 14c52cd..0000000
--- a/src/LocalServers/default.build
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs b/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs
deleted file mode 100644
index 0c5ff75..0000000
--- a/src/LocalStorage/Db4LocalStorage/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-localstorage")]
-[assembly: AssemblyDescriptionAttribute("The local storage handler")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/LocalStorage/Db4LocalStorage/Db4LocalStorage.cs b/src/LocalStorage/Db4LocalStorage/Db4LocalStorage.cs
deleted file mode 100644
index bb9825c..0000000
--- a/src/LocalStorage/Db4LocalStorage/Db4LocalStorage.cs
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using Db4objects.Db4o;
-using Db4objects.Db4o.Query;
-using libsecondlife;
-using GridInterfaces;
-
-namespace Db4LocalStorage
-{
- ///
- ///
- ///
- public class Db4LocalStorage : ILocalStorage
- {
- private IObjectContainer db;
-
- public Db4LocalStorage()
- {
- try
- {
- db = Db4oFactory.OpenFile("localworld.yap");
- ServerConsole.MainConsole.Instance.WriteLine("Db4LocalStorage creation");
- }
- catch(Exception e)
- {
- db.Close();
- ServerConsole.MainConsole.Instance.WriteLine("Db4LocalStorage :Constructor - Exception occured");
- ServerConsole.MainConsole.Instance.WriteLine(e.ToString());
- }
- }
-
- public void StorePrim(PrimData prim)
- {
- IObjectSet result = db.Query(new UUIDQuery(prim.FullID));
- if(result.Count>0)
- {
- //prim already in storage
- //so update it
- PrimData found = (PrimData) result.Next();
- found.PathBegin = prim.PathBegin;
- found.PathCurve= prim.PathCurve;
- found.PathEnd = prim.PathEnd;
- found.PathRadiusOffset = prim.PathRadiusOffset;
- found.PathRevolutions = prim.PathRevolutions;
- found.PathScaleX= prim.PathScaleX;
- found.PathScaleY = prim.PathScaleY;
- found.PathShearX = prim.PathShearX;
- found.PathShearY = prim.PathShearY;
- found.PathSkew = prim.PathSkew;
- found.PathTaperX = prim.PathTaperX;
- found.PathTaperY = prim.PathTaperY;
- found.PathTwist = prim.PathTwist;
- found.PathTwistBegin = prim.PathTwistBegin;
- found.PCode = prim.PCode;
- found.ProfileBegin = prim.ProfileBegin;
- found.ProfileCurve = prim.ProfileCurve;
- found.ProfileEnd = prim.ProfileEnd;
- found.ProfileHollow = prim.ProfileHollow;
- found.Position = prim.Position;
- found.Rotation = prim.Rotation;
- db.Set(found);
- db.Commit();
- }
- else
- {
- //not in storage
- db.Set(prim);
- db.Commit();
- }
- }
-
- public void RemovePrim(LLUUID primID)
- {
- IObjectSet result = db.Query(new UUIDQuery(primID));
- if(result.Count>0)
- {
- PrimData found = (PrimData) result.Next();
- db.Delete(found);
- }
- }
-
-
- public void LoadPrimitives(ILocalStorageReceiver receiver)
- {
- IObjectSet result = db.Get(typeof(PrimData));
- ServerConsole.MainConsole.Instance.WriteLine("Db4LocalStorage.cs: LoadPrimitives() - number of prims in storages is "+result.Count);
- foreach (PrimData prim in result) {
- receiver.PrimFromStorage(prim);
- }
- }
-
- public void ShutDown()
- {
- db.Commit();
- db.Close();
- }
- }
-
- public class UUIDQuery : Predicate
- {
- private LLUUID _findID;
-
- public UUIDQuery(LLUUID find)
- {
- _findID = find;
- }
- public bool Match(PrimData prim)
- {
- return (prim.FullID == _findID);
- }
- }
-
-}
diff --git a/src/LocalStorage/Db4LocalStorage/Db4LocalStorage.csproj b/src/LocalStorage/Db4LocalStorage/Db4LocalStorage.csproj
deleted file mode 100644
index c00771c..0000000
--- a/src/LocalStorage/Db4LocalStorage/Db4LocalStorage.csproj
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
- Library
- Db4LocalStorage
- Db4LocalStorage
- Debug
- AnyCPU
- {74784F23-B0FD-484C-82C1-96C0215733DC}
-
-
- bin\Debug\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- bin\Release\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
- ..\..\..\bin\libsecondlife.dll
- False
-
-
- ..\..\..\bin\Db4objects.Db4o.dll
- False
-
-
-
-
-
-
-
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
- ServerConsole
-
-
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
- GridInterfaces
-
-
-
-
\ No newline at end of file
diff --git a/src/LocalStorage/default.build b/src/LocalStorage/default.build
deleted file mode 100644
index 5ed183e..0000000
--- a/src/LocalStorage/default.build
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Main.cs b/src/Main.cs
deleted file mode 100644
index a738d03..0000000
--- a/src/Main.cs
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
-Copyright (c) OpenSim project, http://osgrid.org/
-
-
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-using System.Text;
-using System.IO;
-using System.Threading;
-using System.Net;
-using System.Net.Sockets;
-using System.Timers;
-using System.Reflection;
-using System.Collections;
-using System.Collections.Generic;
-using libsecondlife;
-using libsecondlife.Packets;
-using OpenSim.world;
-using OpenSim.GridServers;
-using OpenSim.Assets;
-using ServerConsole;
-using PhysicsSystem;
-
-namespace OpenSim
-{
- ///
- /// Description of MainForm.
- ///
- public class OpenSim_Main
- {
- public static OpenSim_Main sim;
- public static SimConfig cfg;
- public static World local_world;
- public static Grid gridServers;
- public static SimCAPSHTTPServer http_server;
-
- public static Socket Server;
- private static IPEndPoint ServerIncoming;
- private static byte[] RecvBuffer = new byte[4096];
- private byte[] ZeroBuffer = new byte[8192];
- private static IPEndPoint ipeSender;
- private static EndPoint epSender;
- private static AsyncCallback ReceivedData;
-
- public AssetCache assetCache;
- public DateTime startuptime;
- public Dictionary ClientThreads = new Dictionary();
- private PhysicsManager physManager;
- private System.Timers.Timer timer1 = new System.Timers.Timer();
- private string ConfigDll = "SimConfig.dll";
- private string _physicsEngine = "PhysX";
- public bool sandbox = false;
- public bool loginserver = false;
-
- [STAThread]
- public static void Main( string[] args )
- {
- Console.WriteLine("OpenSim " + VersionInfo.Version + "\n");
- Console.WriteLine("Starting...\n");
- ServerConsole.MainConsole.Instance = new MServerConsole(ServerConsole.ConsoleBase.ConsoleType.Local,"",0);
-
- sim = new OpenSim_Main();
-
- sim.sandbox = false;
- sim.loginserver = false;
- sim._physicsEngine = "PhysX";
-
- for (int i = 0; i < args.Length; i++)
- {
- if(args[i] == "-sandbox")
- {
- sim.sandbox = true;
- }
-
- if(args[i] == "-loginserver")
- {
- sim.loginserver = true;
- }
- if(args[i] == "-realphysx")
- {
- sim._physicsEngine = "RealPhysX";
- OpenSim.world.Avatar.PhysicsEngineFlying = true;
- }
- }
-
- OpenSim_Main.gridServers = new Grid();
- if(sim.sandbox)
- {
- OpenSim_Main.gridServers.AssetDll = "LocalGridServers.dll";
- OpenSim_Main.gridServers.GridDll = "LocalGridServers.dll";
- OpenSim_Main.gridServers.LoadPlugins();
- ServerConsole.MainConsole.Instance.WriteLine("Starting in Sandbox mode");
- }
- else
- {
- OpenSim_Main.gridServers.AssetDll = "RemoteGridServers.dll";
- OpenSim_Main.gridServers.GridDll = "RemoteGridServers.dll";
- OpenSim_Main.gridServers.LoadPlugins();
- ServerConsole.MainConsole.Instance.WriteLine("Starting in Grid mode");
- }
-
- if(sim.loginserver && sim.sandbox)
- {
- LoginServer loginServer = new LoginServer(OpenSim_Main.gridServers.GridServer);
- loginServer.Startup();
- }
- sim.assetCache = new AssetCache(OpenSim_Main.gridServers.AssetServer);
-
- sim.Startup();
-
- while(true) {
- ServerConsole.MainConsole.Instance.MainConsolePrompt();
- }
- }
-
- private OpenSim_Main() {
- }
-
- private void Startup() {
- startuptime=DateTime.Now;
-
- // We check our local database first, then the grid for config options
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Loading configuration");
- cfg = this.LoadConfigDll(this.ConfigDll);
- cfg.InitConfig();
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Contacting gridserver");
- cfg.LoadFromGrid();
-
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - We are " + cfg.RegionName + " at " + cfg.RegionLocX.ToString() + "," + cfg.RegionLocY.ToString());
- ServerConsole.MainConsole.Instance.WriteLine("Initialising world");
- local_world = cfg.LoadWorld();
-
- this.physManager = new PhysicsSystem.PhysicsManager();
- this.physManager.LoadPlugins();
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting up messaging system");
- local_world.PhysScene = this.physManager.GetPhysicsScene(this._physicsEngine); //should be reading from the config file what physics engine to use
- local_world.PhysScene.SetTerrain(local_world.LandMap);
-
- OpenSim_Main.gridServers.AssetServer.SetServerInfo(OpenSim_Main.cfg.AssetURL, OpenSim_Main.cfg.AssetSendKey);
- OpenSim_Main.gridServers.GridServer.SetServerInfo(OpenSim_Main.cfg.GridURL, OpenSim_Main.cfg.GridSendKey, OpenSim_Main.cfg.GridRecvKey, OpenSim_Main.cfg.UserURL, OpenSim_Main.cfg.UserSendKey, OpenSim_Main.cfg.UserRecvKey);
-
- local_world.LoadStorageDLL("Db4LocalStorage.dll"); //all these dll names shouldn't be hard coded.
- local_world.LoadPrimsFromStorage();
-
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting CAPS HTTP server");
- http_server = new SimCAPSHTTPServer();
-
- timer1.Enabled = true;
- timer1.Interval = 100;
- timer1.Elapsed += new ElapsedEventHandler(this.Timer1Tick);
-
- MainServerListener();
-
- }
-
- private SimConfig LoadConfigDll(string dllName)
- {
- Assembly pluginAssembly = Assembly.LoadFrom(dllName);
- SimConfig config = null;
-
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (pluginType.IsPublic)
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("ISimConfig", true);
-
- if (typeInterface != null)
- {
- ISimConfig plug = (ISimConfig)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- config = plug.GetConfigObject();
- break;
- }
-
- typeInterface = null;
- }
- }
- }
- pluginAssembly = null;
- return config;
- }
-
- private void OnReceivedData(IAsyncResult result) {
- ipeSender = new IPEndPoint(IPAddress.Any, 0);
- epSender = (EndPoint)ipeSender;
- Packet packet = null;
- int numBytes = Server.EndReceiveFrom(result, ref epSender);
- int packetEnd = numBytes - 1;
- packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer);
-
- // This is either a new client or a packet to send to an old one
- if(ClientThreads.ContainsKey(epSender)) {
- ClientThreads[epSender].InPacket(packet);
- } else if( packet.Type == PacketType.UseCircuitCode ) { // new client
- OpenSimClient newuser = new OpenSimClient(epSender,(UseCircuitCodePacket)packet);
- ClientThreads.Add(epSender, newuser);
- } else { // invalid client
- Console.Error.WriteLine("Main.cs:OnReceivedData() - WARNING: Got a packet from an invalid client - " + epSender.ToString());
- }
- Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
- }
-
- private void MainServerListener() {
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:MainServerListener() - New thread started");
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:MainServerListener() - Opening UDP socket on " + cfg.IPListenAddr + ":" + cfg.IPListenPort);
-
- ServerIncoming = new IPEndPoint(IPAddress.Any, cfg.IPListenPort);
- Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
- Server.Bind(ServerIncoming);
-
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:MainServerListener() - UDP socket bound, getting ready to listen");
-
- ipeSender = new IPEndPoint(IPAddress.Any, 0);
- epSender = (EndPoint) ipeSender;
- ReceivedData = new AsyncCallback(this.OnReceivedData);
- Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
-
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:MainServerListener() - Listening...");
-
- }
-
- public static void Shutdown() {
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Shutdown() - Closing all threads");
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Shutdown() - Killing listener thread");
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Shutdown() - Killing clients");
- // IMPLEMENT THIS
- ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Shutdown() - Closing console and terminating");
- OpenSim_Main.local_world.Close();
- ServerConsole.MainConsole.Instance.Close();
- Environment.Exit(0);
- }
-
- void Timer1Tick( object sender, System.EventArgs e )
- {
-
- local_world.Update();
- }
- }
-
- public class Grid
- {
- public IAssetServer AssetServer;
- public IGridServer GridServer;
- public string AssetDll = "";
- public string GridDll = "";
-
- public Grid()
- {
- }
-
- public void LoadPlugins()
- {
- this.AssetServer = this.LoadAssetDll(this.AssetDll);
- this.GridServer = this.LoadGridDll(this.GridDll);
- }
-
- private IAssetServer LoadAssetDll(string dllName)
- {
- Assembly pluginAssembly = Assembly.LoadFrom(dllName);
- IAssetServer server = null;
-
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (pluginType.IsPublic)
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("IAssetPlugin", true);
-
- if (typeInterface != null)
- {
- IAssetPlugin plug = (IAssetPlugin)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- server = plug.GetAssetServer();
- break;
- }
-
- typeInterface = null;
- }
- }
- }
- pluginAssembly = null;
- return server;
- }
-
- private IGridServer LoadGridDll(string dllName)
- {
- Assembly pluginAssembly = Assembly.LoadFrom(dllName);
- IGridServer server = null;
-
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (pluginType.IsPublic)
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("IGridPlugin", true);
-
- if (typeInterface != null)
- {
- IGridPlugin plug = (IGridPlugin)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- server = plug.GetGridServer();
- break;
- }
-
- typeInterface = null;
- }
- }
- }
- pluginAssembly = null;
- return server;
- }
- }
-}
diff --git a/src/OpenSim.Framework/AssemblyInfo.cs b/src/OpenSim.Framework/AssemblyInfo.cs
deleted file mode 100644
index 32f1380..0000000
--- a/src/OpenSim.Framework/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-gridinterfaces")]
-[assembly: AssemblyDescriptionAttribute("Definitions for OGS interface")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/OpenSim.Framework/LoginService.cs b/src/OpenSim.Framework/LoginService.cs
deleted file mode 100644
index 85fe761..0000000
--- a/src/OpenSim.Framework/LoginService.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Text;
-using Nwc.XmlRpc;
-using OpenSim.GridServers;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public abstract class LoginService
- {
-
- }
-}
diff --git a/src/OpenSim.Framework/OpenSim.Framework.csproj b/src/OpenSim.Framework/OpenSim.Framework.csproj
deleted file mode 100644
index ec586c3..0000000
--- a/src/OpenSim.Framework/OpenSim.Framework.csproj
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {407CE85B-628C-4788-9DBC-49BCEFC3A84F}
- Library
- Properties
- OpenSim.Framework
- OpenGrid.Framework
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- False
- ..\..\bin\libsecondlife.dll
-
-
-
-
-
-
-
-
-
-
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
- GridInterfaces
-
-
-
-
\ No newline at end of file
diff --git a/src/OpenSim.Framework/Properties/AssemblyInfo.cs b/src/OpenSim.Framework/Properties/AssemblyInfo.cs
deleted file mode 100644
index 72e55b9..0000000
--- a/src/OpenSim.Framework/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenGrid.Framework")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Playahead AB")]
-[assembly: AssemblyProduct("OpenGrid.Framework")]
-[assembly: AssemblyCopyright("Copyright © Playahead AB 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("67d2b810-0969-4550-ab2b-d2f5ac191191")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/OpenSim.Framework/default.build b/src/OpenSim.Framework/default.build
deleted file mode 100644
index 57dfee8..0000000
--- a/src/OpenSim.Framework/default.build
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
- nant buildfile for OpenSim.Framework
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/OpenSimClient.cs b/src/OpenSimClient.cs
deleted file mode 100644
index dd698e4..0000000
--- a/src/OpenSimClient.cs
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
-Copyright (c) OpenSim project, http://osgrid.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using libsecondlife;
-using libsecondlife.Packets;
-using System.Net;
-using System.Net.Sockets;
-using System.IO;
-using System.Threading;
-using System.Timers;
-using OpenSim.GridServers;
-using OpenSim.world;
-
-namespace OpenSim
-{
- ///
- /// Handles new client connections
- /// Constructor takes a single Packet and authenticates everything
- ///
- public class OpenSimClient {
-
- public LLUUID AgentID;
- public LLUUID SessionID;
- public uint CircuitCode;
- public world.Avatar ClientAvatar;
- private UseCircuitCodePacket cirpack;
- private Thread ClientThread;
- public EndPoint userEP;
- private BlockingQueue PacketQueue;
- private Dictionary PendingAcks = new Dictionary();
- private Dictionary NeedAck = new Dictionary();
- private System.Timers.Timer AckTimer;
- private uint Sequence = 0;
- private object SequenceLock = new object();
- private const int MAX_APPENDED_ACKS = 10;
- private const int RESEND_TIMEOUT = 4000;
- private const int MAX_SEQUENCE = 0xFFFFFF;
-
- public void ack_pack(Packet Pack) {
- //libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket();
- //ack_it.Packets = new PacketAckPacket.PacketsBlock[1];
- //ack_it.Packets[0] = new PacketAckPacket.PacketsBlock();
- //ack_it.Packets[0].ID = Pack.Header.ID;
- //ack_it.Header.Reliable = false;
-
- //OutPacket(ack_it);
-
- if (Pack.Header.Reliable) {
- lock (PendingAcks) {
- uint sequence = (uint)Pack.Header.Sequence;
- if (!PendingAcks.ContainsKey(sequence)) { PendingAcks[sequence] = sequence; }
- }
- }
- }
-
- public void ProcessInPacket(Packet Pack) {
- ack_pack(Pack);
- switch(Pack.Type) {
- case PacketType.CompleteAgentMovement:
- ClientAvatar.CompleteMovement(OpenSim_Main.local_world);
- ClientAvatar.SendInitialPosition();
- break;
- case PacketType.RegionHandshakeReply:
- OpenSim_Main.local_world.SendLayerData(this);
- break;
- case PacketType.AgentWearablesRequest:
- ClientAvatar.SendInitialAppearance();
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- if(client.AgentID != this.AgentID)
- {
- ObjectUpdatePacket objupdate = client.ClientAvatar.CreateUpdatePacket();
- this.OutPacket(objupdate);
- client.ClientAvatar.SendAppearanceToOtherAgent(this);
- }
- }
- OpenSim_Main.local_world.GetInitialPrims(this);
- break;
- case PacketType.ObjectAdd:
- OpenSim_Main.local_world.AddNewPrim((ObjectAddPacket)Pack, this);
- break;
- case PacketType.ObjectLink:
- ServerConsole.MainConsole.Instance.WriteLine(Pack.ToString());
- break;
- case PacketType.ObjectScale:
- ServerConsole.MainConsole.Instance.WriteLine(Pack.ToString());
- break;
- case PacketType.ObjectShape:
- ObjectShapePacket shape = (ObjectShapePacket)Pack;
- for(int i =0; i RESEND_TIMEOUT) && (!packet.Header.Resent))
- {
- ServerConsole.MainConsole.Instance.WriteLine("Resending " + packet.Type.ToString() + " packet, " +
- (now - packet.TickCount) + "ms have passed");
-
- packet.Header.Resent = true;
- OutPacket(packet);
- }
- }
- }
- }
-
- private void SendAcks()
- {
- lock (PendingAcks)
- {
- if (PendingAcks.Count > 0)
- {
- if (PendingAcks.Count > 250)
- {
- // FIXME: Handle the odd case where we have too many pending ACKs queued up
- ServerConsole.MainConsole.Instance.WriteLine("Too many ACKs queued up!");
- return;
- }
-
- ServerConsole.MainConsole.Instance.WriteLine("Sending PacketAck");
-
-
- int i = 0;
- PacketAckPacket acks = new PacketAckPacket();
- acks.Packets = new PacketAckPacket.PacketsBlock[PendingAcks.Count];
-
- foreach (uint ack in PendingAcks.Values)
- {
- acks.Packets[i] = new PacketAckPacket.PacketsBlock();
- acks.Packets[i].ID = ack;
- i++;
- }
-
- acks.Header.Reliable = false;
- OutPacket(acks);
-
- PendingAcks.Clear();
- }
- }
- }
-
- private void AckTimer_Elapsed(object sender, ElapsedEventArgs ea)
- {
- SendAcks();
- ResendUnacked();
- }
-
- public void ProcessOutPacket(Packet Pack) {
-
- // Keep track of when this packet was sent out
- Pack.TickCount = Environment.TickCount;
-
- if (!Pack.Header.Resent)
- {
- // Set the sequence number
- lock (SequenceLock)
- {
- if (Sequence >= MAX_SEQUENCE)
- Sequence = 1;
- else
- Sequence++;
- Pack.Header.Sequence = Sequence;
- }
-
- if (Pack.Header.Reliable) //DIRTY HACK
- {
- lock (NeedAck)
- {
- if (!NeedAck.ContainsKey(Pack.Header.Sequence))
- {
- NeedAck.Add(Pack.Header.Sequence, Pack);
- }
- else
- {
- // Client.Log("Attempted to add a duplicate sequence number (" +
- // packet.Header.Sequence + ") to the NeedAck dictionary for packet type " +
- // packet.Type.ToString(), Helpers.LogLevel.Warning);
- }
- }
-
- // Don't append ACKs to resent packets, in case that's what was causing the
- // delivery to fail
- if (!Pack.Header.Resent)
- {
- // Append any ACKs that need to be sent out to this packet
- lock (PendingAcks)
- {
- if (PendingAcks.Count > 0 && PendingAcks.Count < MAX_APPENDED_ACKS &&
- Pack.Type != PacketType.PacketAck &&
- Pack.Type != PacketType.LogoutRequest)
- {
- Pack.Header.AckList = new uint[PendingAcks.Count];
- int i = 0;
-
- foreach (uint ack in PendingAcks.Values)
- {
- Pack.Header.AckList[i] = ack;
- i++;
- }
-
- PendingAcks.Clear();
- Pack.Header.AppendedAcks = true;
- }
- }
- }
- }
- }
-
- //ServerConsole.MainConsole.Instance.WriteLine("OUT: \n" + Pack.ToString());
-
- byte[] ZeroOutBuffer = new byte[4096];
- byte[] sendbuffer;
- sendbuffer = Pack.ToBytes();
-
- try {
- if (Pack.Header.Zerocoded) {
- int packetsize = Helpers.ZeroEncode(sendbuffer, sendbuffer.Length, ZeroOutBuffer);
- OpenSim_Main.Server.SendTo(ZeroOutBuffer, packetsize, SocketFlags.None,userEP);
- } else {
- OpenSim_Main.Server.SendTo(sendbuffer, sendbuffer.Length, SocketFlags.None,userEP);
- }
- } catch (Exception) {
- ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:ProcessOutPacket() - WARNING: Socket exception occurred on connection " + userEP.ToString() + " - killing thread");
- ClientThread.Abort();
- }
-
- }
-
- public void InPacket(Packet NewPack) {
- // Handle appended ACKs
- if (NewPack.Header.AppendedAcks)
- {
- lock (NeedAck)
- {
- foreach (uint ack in NewPack.Header.AckList)
- {
- NeedAck.Remove(ack);
- }
- }
- }
-
- // Handle PacketAck packets
- if (NewPack.Type == PacketType.PacketAck)
- {
- PacketAckPacket ackPacket = (PacketAckPacket)NewPack;
-
- lock (NeedAck)
- {
- foreach (PacketAckPacket.PacketsBlock block in ackPacket.Packets)
- {
- NeedAck.Remove(block.ID);
- }
- }
- } else if( ( NewPack.Type == PacketType.StartPingCheck ) ) {
- //reply to pingcheck
- libsecondlife.Packets.StartPingCheckPacket startPing = (libsecondlife.Packets.StartPingCheckPacket)NewPack;
- libsecondlife.Packets.CompletePingCheckPacket endPing = new CompletePingCheckPacket();
- endPing.PingID.PingID = startPing.PingID.PingID;
- OutPacket(endPing);
- }
- else
- {
- QueItem item = new QueItem();
- item.Packet = NewPack;
- item.Incoming = true;
- this.PacketQueue.Enqueue(item);
- }
-
- }
-
- public void OutPacket(Packet NewPack) {
- QueItem item = new QueItem();
- item.Packet = NewPack;
- item.Incoming = false;
- this.PacketQueue.Enqueue(item);
- }
-
- public OpenSimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack) {
- ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs - Started up new client thread to handle incoming request");
- cirpack = initialcirpack;
- userEP = remoteEP;
- PacketQueue = new BlockingQueue();
- AckTimer = new System.Timers.Timer(500);
- AckTimer.Elapsed += new ElapsedEventHandler(AckTimer_Elapsed);
- AckTimer.Start();
-
- ClientThread = new Thread(new ThreadStart(AuthUser));
- ClientThread.IsBackground = true;
- ClientThread.Start();
- }
-
- private void ClientLoop() {
- ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:ClientLoop() - Entered loop");
- while(true) {
- QueItem nextPacket = PacketQueue.Dequeue();
- if(nextPacket.Incoming)
- {
- //is a incoming packet
- ProcessInPacket(nextPacket.Packet);
- }
- else
- {
- //is a out going packet
- ProcessOutPacket(nextPacket.Packet);
- }
- }
- }
-
- private void InitNewClient() {
- ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:InitNewClient() - Adding viewer agent to world");
- OpenSim_Main.local_world.AddViewerAgent(this);
- world.Entity tempent=OpenSim_Main.local_world.Entities[this.AgentID];
- this.ClientAvatar=(world.Avatar)tempent;
- }
-
- private void AuthUser()
- {
- AuthenticateResponse sessionInfo = OpenSim_Main.gridServers.GridServer.AuthenticateSession(cirpack.CircuitCode.SessionID, cirpack.CircuitCode.ID, cirpack.CircuitCode.Code);
- if(!sessionInfo.Authorised)
- {
- //session/circuit not authorised
- ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:AuthUser() - New user request denied to " + userEP.ToString());
- ClientThread.Abort();
- }
- else
- {
- ServerConsole.MainConsole.Instance.WriteLine("OpenSimClient.cs:AuthUser() - Got authenticated connection from " + userEP.ToString());
- //session is authorised
- this.AgentID=cirpack.CircuitCode.ID;
- this.SessionID=cirpack.CircuitCode.SessionID;
- this.CircuitCode=cirpack.CircuitCode.Code;
- InitNewClient();
- this.ClientAvatar.firstname = sessionInfo.LoginInfo.First;
- this.ClientAvatar.lastname = sessionInfo.LoginInfo.Last;
- ClientLoop();
- }
- }
- }
-
-}
diff --git a/src/OpenSimConsole.cs b/src/OpenSimConsole.cs
deleted file mode 100644
index cf8b648..0000000
--- a/src/OpenSimConsole.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Threading;
-using System.IO;
-using System.Net;
-using libsecondlife;
-using libsecondlife.Packets;
-using ServerConsole;
-
-namespace OpenSim
-{
- ///
- /// Description of ServerConsole.
- ///
- public class MServerConsole : ConsoleBase
- {
-
- private ConsoleType ConsType;
- StreamWriter Log;
-
-
- // STUPID HACK ALERT!!!! STUPID HACK ALERT!!!!!
- // constype - the type of console to use (see enum ConsoleType)
- // sparam - depending on the console type:
- // TCP - the IP to bind to (127.0.0.1 if blank)
- // Local - param ignored
- // SimChat - the AgentID of this sim's admin
- // and for the iparam:
- // TCP - the port to bind to
- // Local - param ignored
- // SimChat - the chat channel to accept commands from
- public MServerConsole(ConsoleType constype, string sparam, int iparam) {
- ConsType = constype;
- switch(constype) {
- case ConsoleType.Local:
-
- Console.WriteLine("ServerConsole.cs - creating new local console");
- Console.WriteLine("Logs will be saved to current directory in opensim-console.log");
- Log=File.AppendText("opensim-console.log");
- Log.WriteLine("========================================================================");
- //Log.WriteLine("OpenSim " + VersionInfo.Version + " Started at " + DateTime.Now.ToString());
- break;
- case ConsoleType.TCP:
- break;
- case ConsoleType.SimChat:
- break;
-
- default:
- Console.WriteLine("ServerConsole.cs - what are you smoking? that isn't a valid console type!");
- break;
- }
- }
-
- public override void Close() {
- Log.WriteLine("OpenSim shutdown at " + DateTime.Now.ToString());
- Log.Close();
- }
-
- public override void Write(string format, params object[] args)
- {
- Log.Write(format, args);
- Console.Write(format, args);
- return;
- }
-
- public override void WriteLine(string format, params object[] args)
- {
- Log.WriteLine(format, args);
- Console.WriteLine(format, args);
- return;
- }
-
- public override string ReadLine()
- {
- string TempStr=Console.ReadLine();
- Log.WriteLine(TempStr);
- return TempStr;
- }
-
- public override int Read() {
- int TempInt= Console.Read();
- Log.Write((char)TempInt);
- return TempInt;
- }
-
- // Displays a command prompt and waits for the user to enter a string, then returns that string
- public override string CmdPrompt(string prompt) {
- this.Write(prompt);
- return this.ReadLine();
- }
-
- // Displays a command prompt and returns a default value if the user simply presses enter
- public override string CmdPrompt(string prompt, string defaultresponse) {
- string temp=CmdPrompt(prompt);
- if(temp=="") {
- return defaultresponse;
- } else {
- return temp;
- }
- }
-
- // Displays a command prompt and returns a default value, user may only enter 1 of 2 options
- public override string CmdPrompt(string prompt, string defaultresponse, string OptionA, string OptionB) {
- bool itisdone=false;
- string temp=CmdPrompt(prompt,defaultresponse);
- while(itisdone==false) {
- if((temp==OptionA) || (temp==OptionB)) {
- itisdone=true;
- } else {
- this.WriteLine("Valid options are " + OptionA + " or " + OptionB);
- temp=CmdPrompt(prompt,defaultresponse);
- }
- }
- return temp;
- }
-
- // Runs a command with a number of parameters
- public override Object RunCmd(string Cmd, string[] cmdparams) {
- switch(Cmd) {
- case "help":
- this.WriteLine("show users - show info about connected users");
- this.WriteLine("shutdown - disconnect all clients and shutdown");
- this.WriteLine("regenerate - regenerate the sim's terrain");
- break;
-
- case "show":
- ShowCommands(cmdparams[0]);
- break;
-
- case "regenerate":
- OpenSim_Main.local_world.RegenerateTerrain();
- break;
-
- case "shutdown":
- OpenSim_Main.Shutdown();
- break;
- }
- return null;
- }
-
- // Shows data about something
- public override void ShowCommands(string ShowWhat) {
- switch(ShowWhat) {
- case "uptime":
- this.WriteLine("OpenSim has been running since " + OpenSim_Main.sim.startuptime.ToString());
- this.WriteLine("That is " + (DateTime.Now-OpenSim_Main.sim.startuptime).ToString());
- break;
- case "users":
- OpenSim.world.Avatar TempAv;
- this.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 OpenSim_Main.local_world.Entities.Keys) {
- if(OpenSim_Main.local_world.Entities[UUID].ToString()== "OpenSim.world.Avatar")
- {
- TempAv=(OpenSim.world.Avatar)OpenSim_Main.local_world.Entities[UUID];
- this.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()));
- }
- }
- break;
- }
- }
-
- // Displays a prompt to the user and then runs the command they entered
- public override void MainConsolePrompt() {
- string[] tempstrarray;
- string tempstr = this.CmdPrompt("OpenSim-" + OpenSim_Main.cfg.RegionHandle.ToString() + " # ");
- tempstrarray = tempstr.Split(' ');
- string cmd=tempstrarray[0];
- Array.Reverse(tempstrarray);
- Array.Resize(ref tempstrarray,tempstrarray.Length-1);
- Array.Reverse(tempstrarray);
- string[] cmdparams=(string[])tempstrarray;
- RunCmd(cmd,cmdparams);
- }
-
-
- public override void SetStatus(string status)
- {
- Console.Write( status + "\r" );
- }
- }
-}
-
-
diff --git a/src/Properties/AssemblyInfo.cs b/src/Properties/AssemblyInfo.cs
deleted file mode 100644
index 90fc127..0000000
--- a/src/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("opensim")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Playahead AB")]
-[assembly: AssemblyProduct("opensim")]
-[assembly: AssemblyCopyright("Copyright © Playahead AB 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1d09756b-a461-4302-b6fe-15c455317909")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs b/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs
deleted file mode 100644
index 7d3f314..0000000
--- a/src/RemoteServers/RemoteGridServers/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-remoteservers")]
-[assembly: AssemblyDescriptionAttribute("Connects to remote OGS installation")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/RemoteServers/RemoteGridServers/RemoteGrid.cs b/src/RemoteServers/RemoteGridServers/RemoteGrid.cs
deleted file mode 100644
index adb3d0f..0000000
--- a/src/RemoteServers/RemoteGridServers/RemoteGrid.cs
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Threading;
-using System.Net;
-using System.Net.Sockets;
-using System.IO;
-using System.Xml;
-using libsecondlife;
-using OpenSim.GridServers;
-
-namespace RemoteGridServers
-{
- ///
- ///
- ///
- ///
-
- public class RemoteGridPlugin : IGridPlugin
- {
- public RemoteGridPlugin()
- {
-
- }
-
- public IGridServer GetGridServer()
- {
- return(new RemoteGridServer());
- }
- }
-
- public class RemoteAssetPlugin : IAssetPlugin
- {
- public RemoteAssetPlugin()
- {
-
- }
-
- public IAssetServer GetAssetServer()
- {
- return(new RemoteAssetServer());
- }
- }
- public class RemoteGridServer : RemoteGridBase
- {
- private string GridServerUrl;
- private string GridSendKey;
- private string GridRecvKey;
- private string UserServerUrl;
- private string UserSendKey;
- private string UserRecvKey;
-
- private Dictionary AgentCircuits = new Dictionary();
-
- public override Dictionary agentcircuits {
- get {return AgentCircuits;}
- set {AgentCircuits=value;}
- }
-
- public RemoteGridServer()
- {
- ServerConsole.MainConsole.Instance.WriteLine("Remote Grid Server class created");
- }
-
- public override bool RequestConnection()
- {
- return true;
- }
-
- public override AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitcode)
- {
- agentcircuitdata validcircuit=this.AgentCircuits[circuitcode];
- AuthenticateResponse user = new AuthenticateResponse();
- if((sessionID==validcircuit.SessionID) && (agentID==validcircuit.AgentID))
- {
- // YAY! Valid login
- user.Authorised = true;
- user.LoginInfo = new Login();
- user.LoginInfo.Agent = agentID;
- user.LoginInfo.Session = sessionID;
- user.LoginInfo.First = validcircuit.firstname;
- user.LoginInfo.Last = validcircuit.lastname;
- }
- else
- {
- // Invalid
- user.Authorised = false;
- }
-
- return(user);
- }
-
- public override bool LogoutSession(LLUUID sessionID, LLUUID agentID, uint circuitCode)
- {
- WebRequest DeleteSession = WebRequest.Create(UserServerUrl + "/usersessions/" + sessionID.ToString());
- DeleteSession.Method="DELETE";
- DeleteSession.ContentType="text/plaintext";
- DeleteSession.ContentLength=0;
-
- StreamWriter stOut = new StreamWriter (DeleteSession.GetRequestStream(), System.Text.Encoding.ASCII);
- stOut.Write("");
- stOut.Close();
-
- StreamReader stIn = new StreamReader(DeleteSession.GetResponse().GetResponseStream());
- string GridResponse = stIn.ReadToEnd();
- stIn.Close();
- return(true);
- }
-
- public override UUIDBlock RequestUUIDBlock()
- {
- UUIDBlock uuidBlock = new UUIDBlock();
- return(uuidBlock);
- }
-
- public override neighbourinfo[] RequestNeighbours(ulong regionhandle)
- {
- ArrayList neighbourlist = new ArrayList();
-
- WebRequest FindNeighbours = WebRequest.Create(GridServerUrl + "/regions/" + regionhandle.ToString() + "/neighbours");
- FindNeighbours.ContentType="text/plaintext";
- FindNeighbours.ContentLength=0;
-
- StreamWriter stOut = new StreamWriter (FindNeighbours.GetRequestStream(), System.Text.Encoding.ASCII);
- stOut.Write("");
- stOut.Close();
-
-
- XmlDocument GridRespXml = new XmlDocument();
- GridRespXml.Load(FindNeighbours.GetResponse().GetResponseStream());
-
-
- XmlNode NeighboursRoot = GridRespXml.FirstChild;
- if(NeighboursRoot.Name != "neighbours") {
- return new neighbourinfo[0];
- }
-
- FindNeighbours.GetResponse().GetResponseStream().Close();
-
- return new neighbourinfo[0];
- }
-
- public override void SetServerInfo(string UserServerUrl, string UserSendKey, string UserRecvKey, string GridServerUrl, string GridSendKey, string GridRecvKey)
- {
- this.UserServerUrl = UserServerUrl;
- this.UserSendKey = UserSendKey;
- this.UserRecvKey = UserRecvKey;
- this.GridServerUrl = GridServerUrl;
- this.GridSendKey = GridSendKey;
- this.GridRecvKey = GridRecvKey;
- }
-
- public override string GetName()
- {
- return "Remote";
- }
- }
-
-
- public class RemoteAssetServer : IAssetServer
- {
- private IAssetReceiver _receiver;
- private BlockingQueue _assetRequests;
- private Thread _remoteAssetServerThread;
- private string AssetServerUrl;
- private string AssetSendKey;
-
- public RemoteAssetServer()
- {
- this._assetRequests = new BlockingQueue();
- this._remoteAssetServerThread = new Thread(new ThreadStart(RunRequests));
- this._remoteAssetServerThread.IsBackground = true;
- this._remoteAssetServerThread.Start();
- ServerConsole.MainConsole.Instance.WriteLine("Remote Asset Server class created");
- }
-
- public void SetReceiver(IAssetReceiver receiver)
- {
- this._receiver = receiver;
- }
-
- public void RequestAsset(LLUUID assetID, bool isTexture)
- {
- ARequest req = new ARequest();
- req.AssetID = assetID;
- req.IsTexture = isTexture;
- this._assetRequests.Enqueue(req);
- }
-
- public void UpdateAsset(AssetBase asset)
- {
-
- }
-
- public void UploadNewAsset(AssetBase asset)
- {
-
- }
-
- public void SetServerInfo(string ServerUrl, string ServerKey)
- {
- this.AssetServerUrl = ServerUrl;
- this.AssetSendKey = ServerKey;
- }
-
- private void RunRequests()
- {
- while(true)
- {
- //we need to add support for the asset server not knowing about a requested asset
- ARequest req = this._assetRequests.Dequeue();
- LLUUID assetID = req.AssetID;
- ServerConsole.MainConsole.Instance.WriteLine(" RemoteAssetServer- Got a AssetServer request, processing it");
- WebRequest AssetLoad = WebRequest.Create(this.AssetServerUrl + "getasset/" + AssetSendKey + "/" + assetID + "/data");
- WebResponse AssetResponse = AssetLoad.GetResponse();
- byte[] idata = new byte[(int)AssetResponse.ContentLength];
- BinaryReader br = new BinaryReader(AssetResponse.GetResponseStream());
- idata = br.ReadBytes((int)AssetResponse.ContentLength);
- br.Close();
-
- AssetBase asset = new AssetBase();
- asset.FullID = assetID;
- asset.Data = idata;
- _receiver.AssetReceived(asset, req.IsTexture );
- }
- }
- }
-
- public class BlockingQueue< T > {
- private Queue< T > _queue = new Queue< T >();
- private object _queueSync = new object();
-
- public void Enqueue(T value)
- {
- lock(_queueSync)
- {
- _queue.Enqueue(value);
- Monitor.Pulse(_queueSync);
- }
- }
-
- public T Dequeue()
- {
- lock(_queueSync)
- {
- if( _queue.Count < 1)
- Monitor.Wait(_queueSync);
-
- return _queue.Dequeue();
- }
- }
- }
-}
diff --git a/src/RemoteServers/RemoteGridServers/RemoteGridServers.csproj b/src/RemoteServers/RemoteGridServers/RemoteGridServers.csproj
deleted file mode 100644
index f1c5649..0000000
--- a/src/RemoteServers/RemoteGridServers/RemoteGridServers.csproj
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- Library
- RemoteGridServers
- RemoteGridServers
- Debug
- AnyCPU
- {CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}
-
-
- bin\Debug\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- bin\Release\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
- ..\..\..\bin\libsecondlife.dll
- False
-
-
-
-
-
-
-
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
- ServerConsole
-
-
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
- GridInterfaces
-
-
-
-
\ No newline at end of file
diff --git a/src/RemoteServers/default.build b/src/RemoteServers/default.build
deleted file mode 100644
index f8e6977..0000000
--- a/src/RemoteServers/default.build
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Second-server.csproj b/src/Second-server.csproj
deleted file mode 100644
index 7c0d17c..0000000
--- a/src/Second-server.csproj
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
- Exe
- OpenSim
- OpenSim
- Debug
- AnyCPU
- {132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}
- OpenSim.OpenSim_Main
- False
- False
- 4
- false
-
-
- bin\
- False
- DEBUG;TRACE
- true
- Full
- True
-
-
- ..\bin\
- True
- TRACE
- False
- None
- False
-
-
- False
- Auto
- 4194304
- AnyCPU
- 4096
-
-
- ..\bin\
-
-
-
-
-
-
- ..\bin\libsecondlife.dll
- False
-
-
- ..\bin\Axiom.MathLib.dll
- False
-
-
- ..\bin\log4net.dll
- False
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}
- GridInterfaces
-
-
- {D7F0395B-FADC-4936-80A0-D95AACE92F62}
- LocalGridServers
-
-
- {74784F23-B0FD-484C-82C1-96C0215733DC}
- Db4LocalStorage
-
-
- {407CE85B-628C-4788-9DBC-49BCEFC3A84F}
- OpenSim.Framework
-
-
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}
- PhysicsManager
-
-
- {CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}
- RemoteGridServers
-
-
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
- ServerConsole
-
-
-
-
\ No newline at end of file
diff --git a/src/ServerConsole/ServerConsole/AssemblyInfo.cs b/src/ServerConsole/ServerConsole/AssemblyInfo.cs
deleted file mode 100644
index e6b64d6..0000000
--- a/src/ServerConsole/ServerConsole/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-serverconsole")]
-[assembly: AssemblyDescriptionAttribute("The default server console")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/ServerConsole/ServerConsole/ServerConsole.cs b/src/ServerConsole/ServerConsole/ServerConsole.cs
deleted file mode 100644
index 27d97e5..0000000
--- a/src/ServerConsole/ServerConsole/ServerConsole.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-
-namespace ServerConsole
-{
- public class MainConsole {
-
- private static ConsoleBase instance;
-
- public static ConsoleBase Instance
- {
- get
- {
- return instance;
- }
- set
- {
- instance = value;
- }
- }
- }
-
- public abstract class ConsoleBase
- {
-
- public enum ConsoleType {
- Local, // Use stdio
- TCP, // Use TCP/telnet
- SimChat // Use in-world chat (for gods)
- }
-
- public abstract void Close();
-
- public abstract void Write(string format, params object[] args);
-
- public abstract void WriteLine(string format, params object[] args);
-
- public abstract string ReadLine();
-
- public abstract int Read() ;
-
- // Displays a command prompt and waits for the user to enter a string, then returns that string
- public abstract string CmdPrompt(string prompt) ;
-
- // Displays a command prompt and returns a default value if the user simply presses enter
- public abstract string CmdPrompt(string prompt, string defaultresponse);
-
- // Displays a command prompt and returns a default value, user may only enter 1 of 2 options
- public abstract string CmdPrompt(string prompt, string defaultresponse, string OptionA, string OptionB) ;
-
- // Runs a command with a number of parameters
- public abstract Object RunCmd(string Cmd, string[] cmdparams) ;
-
- // Shows data about something
- public abstract void ShowCommands(string ShowWhat) ;
-
- // Displays a prompt to the user and then runs the command they entered
- public abstract void MainConsolePrompt() ;
-
- public abstract void SetStatus( string status );
- }
-}
diff --git a/src/ServerConsole/ServerConsole/ServerConsole.csproj b/src/ServerConsole/ServerConsole/ServerConsole.csproj
deleted file mode 100644
index d1094de..0000000
--- a/src/ServerConsole/ServerConsole/ServerConsole.csproj
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
- Library
- ServerConsole
- ServerConsole
- Debug
- AnyCPU
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
-
-
- bin\Debug\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- bin\Release\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/ServerConsole/default.build b/src/ServerConsole/default.build
deleted file mode 100644
index 0de930a..0000000
--- a/src/ServerConsole/default.build
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Util.cs b/src/Util.cs
deleted file mode 100644
index 477390e..0000000
--- a/src/Util.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-Copyright (c) OpenSim project, http://osgrid.org/
-
-* Copyright (c) ,
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using libsecondlife;
-using libsecondlife.Packets;
-
-namespace OpenSim
-{
- ///
- ///
- ///
- public class Util
- {
- public static ulong UIntsToLong(uint X, uint Y)
- {
- return Helpers.UIntsToLong(X,Y);
- }
- public Util()
- {
-
- }
- }
-
- public class QueItem {
- public QueItem()
- {
- }
-
- public Packet Packet;
- public bool Incoming;
- }
-
- /* this is in IGridServer.cs, so there should be no reason for it to be here as well
- public class agentcircuitdata
- {
- public agentcircuitdata() { }
- public LLUUID AgentID;
- public LLUUID SessionID;
- public LLUUID SecureSessionID;
- public string firstname;
- public string lastname;
- public uint circuitcode;
- }
- */
-
- public class BlockingQueue< T > {
- private Queue< T > _queue = new Queue< T >();
- private object _queueSync = new object();
-
- public void Enqueue(T value)
- {
- lock(_queueSync)
- {
- _queue.Enqueue(value);
- Monitor.Pulse(_queueSync);
- }
- }
-
- public T Dequeue()
- {
- lock(_queueSync)
- {
- if( _queue.Count < 1)
- Monitor.Wait(_queueSync);
-
- return _queue.Dequeue();
- }
- }
- }
-}
diff --git a/src/VersionInfo.cs b/src/VersionInfo.cs
deleted file mode 100644
index 5cfd136..0000000
--- a/src/VersionInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright (c) OpenSim project, http://osgrid.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-
-namespace OpenSim
-{
- ///
- ///
- public class VersionInfo
- {
- public static string Version = "0.1, Build 1174381410, Revision 240M";
- }
-}
diff --git a/src/VersionInfo.cs.template b/src/VersionInfo.cs.template
deleted file mode 100644
index e4e1b95..0000000
--- a/src/VersionInfo.cs.template
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright (c) OpenSim project, http://osgrid.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-using System;
-
-namespace OpenSim
-{
- ///
- ///
- public class VersionInfo
- {
- public static string Version = "@@VERSION";
- }
-}
diff --git a/src/opensim.sln b/src/opensim.sln
deleted file mode 100644
index c4be551..0000000
--- a/src/opensim.sln
+++ /dev/null
@@ -1,80 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Second-server", "Second-server.csproj", "{132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GridInterfaces", "GridInterfaces\GridInterfaces.csproj", "{5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysicsManager", "physics\PhysicsManager.csproj", "{3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerConsole", "ServerConsole\ServerConsole\ServerConsole.csproj", "{C9A6026D-8E0C-4FE4-8691-FB2A566AA245}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LocalGridServers", "LocalServers\LocalGridServers\LocalGridServers.csproj", "{D7F0395B-FADC-4936-80A0-D95AACE92F62}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteGridServers", "RemoteServers\RemoteGridServers\RemoteGridServers.csproj", "{CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimConfig", "Config\SimConfig\SimConfig.csproj", "{B063760D-DB8D-4F64-B6FE-335FAD1E650A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4LocalStorage", "LocalStorage\Db4LocalStorage\Db4LocalStorage.csproj", "{74784F23-B0FD-484C-82C1-96C0215733DC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasicPhysicsplugin", "physics\plugins\BasicPhysicsplugin.csproj", "{52BCCE7B-69EA-4AC3-9DBC-D571B96C2EA1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RealPhysXplugin", "physics\RealPhysX\RealPhysXplugin\RealPhysXplugin.csproj", "{56C1D214-F389-4228-921A-0A3A0712C159}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework", "OpenSim.Framework\OpenSim.Framework.csproj", "{407CE85B-628C-4788-9DBC-49BCEFC3A84F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {132A6E3E-8F2D-4BF5-BDFB-8555F53F334E}.Release|Any CPU.Build.0 = Release|Any CPU
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5DA3174D-42F9-416D-9F0B-AF41FA2BE2F9}.Release|Any CPU.Build.0 = Release|Any CPU
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}.Release|Any CPU.Build.0 = Release|Any CPU
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}.Release|Any CPU.Build.0 = Release|Any CPU
- {D7F0395B-FADC-4936-80A0-D95AACE92F62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D7F0395B-FADC-4936-80A0-D95AACE92F62}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D7F0395B-FADC-4936-80A0-D95AACE92F62}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D7F0395B-FADC-4936-80A0-D95AACE92F62}.Release|Any CPU.Build.0 = Release|Any CPU
- {CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CF0E7E62-34F4-4AB2-BDBD-AFC63224A7E5}.Release|Any CPU.Build.0 = Release|Any CPU
- {B063760D-DB8D-4F64-B6FE-335FAD1E650A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B063760D-DB8D-4F64-B6FE-335FAD1E650A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B063760D-DB8D-4F64-B6FE-335FAD1E650A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B063760D-DB8D-4F64-B6FE-335FAD1E650A}.Release|Any CPU.Build.0 = Release|Any CPU
- {74784F23-B0FD-484C-82C1-96C0215733DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {74784F23-B0FD-484C-82C1-96C0215733DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {74784F23-B0FD-484C-82C1-96C0215733DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {74784F23-B0FD-484C-82C1-96C0215733DC}.Release|Any CPU.Build.0 = Release|Any CPU
- {52BCCE7B-69EA-4AC3-9DBC-D571B96C2EA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {52BCCE7B-69EA-4AC3-9DBC-D571B96C2EA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {52BCCE7B-69EA-4AC3-9DBC-D571B96C2EA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {52BCCE7B-69EA-4AC3-9DBC-D571B96C2EA1}.Release|Any CPU.Build.0 = Release|Any CPU
- {56C1D214-F389-4228-921A-0A3A0712C159}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {56C1D214-F389-4228-921A-0A3A0712C159}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {56C1D214-F389-4228-921A-0A3A0712C159}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {56C1D214-F389-4228-921A-0A3A0712C159}.Release|Any CPU.Build.0 = Release|Any CPU
- {407CE85B-628C-4788-9DBC-49BCEFC3A84F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {407CE85B-628C-4788-9DBC-49BCEFC3A84F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {407CE85B-628C-4788-9DBC-49BCEFC3A84F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {407CE85B-628C-4788-9DBC-49BCEFC3A84F}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/src/physics/AssemblyInfo.cs b/src/physics/AssemblyInfo.cs
deleted file mode 100644
index c6a4efa..0000000
--- a/src/physics/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-physicsmanager")]
-[assembly: AssemblyDescriptionAttribute("Handles physics plugins")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/physics/PhysicsManager.cs b/src/physics/PhysicsManager.cs
deleted file mode 100644
index 1fee628..0000000
--- a/src/physics/PhysicsManager.cs
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using System.Collections;
-using System.IO;
-using System.Reflection;
-
-namespace PhysicsSystem
-{
- ///
- /// Description of MyClass.
- ///
- public class PhysicsManager
- {
- private Dictionary _plugins=new Dictionary();
-
- public PhysicsManager()
- {
-
- }
-
- public PhysicsScene GetPhysicsScene(string engineName)
- {
- if( String.IsNullOrEmpty( engineName ) )
- {
- return new NullPhysicsScene();
- }
-
- if(_plugins.ContainsKey(engineName))
- {
- ServerConsole.MainConsole.Instance.WriteLine("creating "+engineName);
- return _plugins[engineName].GetScene();
- }
- else
- {
- string error = String.Format("couldn't find physicsEngine: {0}", engineName);
- ServerConsole.MainConsole.Instance.WriteLine( error );
- throw new ArgumentException( error );
- }
- }
-
- public void LoadPlugins()
- {
- string path = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory ,"Physics");
- string[] pluginFiles = Directory.GetFiles(path, "*.dll");
-
-
- for(int i= 0; i
-
- Library
- PhysicsManager
- PhysicsManager
- Debug
- AnyCPU
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}
-
-
- bin\Debug\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- bin\Release\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
-
-
-
-
-
- {C9A6026D-8E0C-4FE4-8691-FB2A566AA245}
- ServerConsole
-
-
-
-
\ No newline at end of file
diff --git a/src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs b/src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs
deleted file mode 100644
index 913aae7..0000000
--- a/src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// Information about this assembly is defined by the following
-// attributes.
-//
-// change them to the information which is associated with the assembly
-// you compile.
-
-[assembly: AssemblyTitle("RealPhysXplugin")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("RealPhysXplugin")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// This sets the default COM visibility of types in the assembly to invisible.
-// If you need to expose a type to COM, use [ComVisible(true)] on that type.
-[assembly: ComVisible(false)]
-
-// The assembly version has following format :
-//
-// Major.Minor.Build.Revision
-//
-// You can specify all values by your own or you can build default build and revision
-// numbers with the '*' character (the default):
-
-[assembly: AssemblyVersion("1.0.*")]
diff --git a/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs b/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs
deleted file mode 100644
index 9576a40..0000000
--- a/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using PhysicsSystem;
-using PhysXWrapper;
-
-namespace PhysXplugin
-{
- ///
- /// Will be the PhysX plugin but for now will be a very basic physics engine
- ///
- public class PhysXPlugin : IPhysicsPlugin
- {
- private PhysXScene _mScene;
-
- public PhysXPlugin()
- {
-
- }
-
- public bool Init()
- {
- return true;
- }
-
- public PhysicsScene GetScene()
- {
- if(_mScene == null)
- {
- _mScene = new PhysXScene();
- }
- return(_mScene);
- }
-
- public string GetName()
- {
- return("RealPhysX");
- }
-
- public void Dispose()
- {
-
- }
- }
-
- public class PhysXScene :PhysicsScene
- {
- private List _characters = new List();
- private List _prims = new List();
- private float[] _heightMap;
- private NxPhysicsSDK mySdk;
- private NxScene scene;
-
- public PhysXScene()
- {
- mySdk = NxPhysicsSDK.CreateSDK();
- scene = mySdk.CreateScene();
-
- }
-
- public override PhysicsActor AddAvatar(PhysicsVector position)
- {
- Vec3 pos = new Vec3();
- pos.X = position.X;
- pos.Y = position.Y;
- pos.Z = position.Z;
- PhysXCharacter act = new PhysXCharacter( scene.AddCharacter(pos));
- act.Position = position;
- _characters.Add(act);
- return act;
- }
-
- public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
- {
- Vec3 pos = new Vec3();
- pos.X = position.X;
- pos.Y = position.Y;
- pos.Z = position.Z;
- Vec3 siz = new Vec3();
- siz.X = size.X;
- siz.Y = size.Y;
- siz.Z = size.Z;
- PhysXPrim act = new PhysXPrim( scene.AddNewBox(pos, siz));
- _prims.Add(act);
- return act;
- }
- 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();
- }
-
- }
-
- public override void GetResults()
- {
-
- }
-
- public override bool IsThreaded
- {
- get
- {
- return(false); // for now we won't be multithreaded
- }
- }
-
- public override void SetTerrain(float[] heightMap)
- {
- this._heightMap = heightMap;
- this.scene.AddTerrain(heightMap);
- }
- }
-
- public class PhysXCharacter : PhysicsActor
- {
- private PhysicsVector _position;
- private PhysicsVector _velocity;
- private PhysicsVector _acceleration;
- private NxCharacter _character;
- private bool flying;
-
- public PhysXCharacter(NxCharacter character)
- {
- _velocity = new PhysicsVector();
- _position = new PhysicsVector();
- _acceleration = new PhysicsVector();
- _character = character;
- }
-
- public override bool Flying
- {
- get
- {
- return flying;
- }
- set
- {
- flying = value;
- }
- }
-
- public override PhysicsVector Position
- {
- get
- {
- return _position;
- }
- set
- {
- _position = value;
- }
- }
-
- public override PhysicsVector Velocity
- {
- get
- {
- return _velocity;
- }
- set
- {
- _velocity = value;
- }
- }
-
- public override PhysicsVector Acceleration
- {
- get
- {
- return _acceleration;
- }
-
- }
- public void SetAcceleration (PhysicsVector accel)
- {
- this._acceleration = accel;
- }
-
- public override void AddForce(PhysicsVector force)
- {
-
- }
-
- public override void SetMomentum(PhysicsVector momentum)
- {
-
- }
-
- public void Move(float timeStep)
- {
- Vec3 vec = new Vec3();
- vec.X = this._velocity.X * timeStep;
- vec.Y = this._velocity.Y * timeStep;
- if(flying)
- {
- vec.Z = ( this._velocity.Z) * timeStep;
- }
- else
- {
- vec.Z = (-9.8f + this._velocity.Z) * timeStep;
- }
- this._character.Move(vec);
- }
-
- public void UpdatePosition()
- {
- Vec3 vec = this._character.Position;
- this._position.X = vec.X;
- this._position.Y = vec.Y;
- this._position.Z = vec.Z;
- }
- }
-
- public class PhysXPrim : PhysicsActor
- {
- private PhysicsVector _position;
- private PhysicsVector _velocity;
- private PhysicsVector _acceleration;
- private NxActor _prim;
-
- public PhysXPrim(NxActor prim)
- {
- _velocity = new PhysicsVector();
- _position = new PhysicsVector();
- _acceleration = new PhysicsVector();
- _prim = prim;
- }
- public override bool Flying
- {
- get
- {
- return false; //no flying prims for you
- }
- set
- {
-
- }
- }
- public override PhysicsVector Position
- {
- get
- {
- PhysicsVector pos = new PhysicsVector();
- Vec3 vec = this._prim.Position;
- pos.X = vec.X;
- pos.Y = vec.Y;
- pos.Z = vec.Z;
- return pos;
-
- }
- set
- {
- PhysicsVector vec = value;
- Vec3 pos = new Vec3();
- pos.X = vec.X;
- pos.Y = vec.Y;
- pos.Z = vec.Z;
- this._prim.Position = pos;
- }
- }
-
- public override PhysicsVector Velocity
- {
- get
- {
- return _velocity;
- }
- set
- {
- _velocity = value;
- }
- }
-
- public override PhysicsVector Acceleration
- {
- get
- {
- return _acceleration;
- }
-
- }
- public void SetAcceleration (PhysicsVector accel)
- {
- this._acceleration = accel;
- }
-
- public override void AddForce(PhysicsVector force)
- {
-
- }
-
- public override void SetMomentum(PhysicsVector momentum)
- {
-
- }
-
-
- }
-
-}
diff --git a/src/physics/RealPhysX/RealPhysXplugin/RealPhysXplugin.csproj b/src/physics/RealPhysX/RealPhysXplugin/RealPhysXplugin.csproj
deleted file mode 100644
index 554df5e..0000000
--- a/src/physics/RealPhysX/RealPhysXplugin/RealPhysXplugin.csproj
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
- Library
- RealPhysXplugin
- RealPhysXplugin
- Debug
- AnyCPU
- {56C1D214-F389-4228-921A-0A3A0712C159}
-
-
- ..\..\..\..\bin\Physics\
- False
- DEBUG;TRACE
- True
- Full
- True
-
-
- ..\..\..\..\bin\Physics\
- True
- TRACE
- False
- None
- False
-
-
-
-
-
- ..\..\..\..\bin\PhysX_Wrapper_Dotnet.dll
- False
- False
-
-
-
-
-
-
-
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}
- PhysicsManager
- False
-
-
-
-
\ No newline at end of file
diff --git a/src/physics/default.build b/src/physics/default.build
deleted file mode 100644
index 01d2415..0000000
--- a/src/physics/default.build
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/physics/plugins/AssemblyInfo.cs b/src/physics/plugins/AssemblyInfo.cs
deleted file mode 100644
index 4cd5558..0000000
--- a/src/physics/plugins/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// ------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Mono Runtime Version: 2.0.50727.42
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-// ------------------------------------------------------------------------------
-
-[assembly: ComVisibleAttribute(false)]
-[assembly: CLSCompliantAttribute(false)]
-[assembly: AssemblyVersionAttribute("0.1.0.240")]
-[assembly: AssemblyTitleAttribute("opensim-physicsmanager-physx")]
-[assembly: AssemblyDescriptionAttribute("PhysX plugin for OpenSim")]
-[assembly: AssemblyCopyrightAttribute("Copyright © OGS development team 2007")]
-
diff --git a/src/physics/plugins/BasicPhysicsplugin.csproj b/src/physics/plugins/BasicPhysicsplugin.csproj
deleted file mode 100644
index b3f47d3..0000000
--- a/src/physics/plugins/BasicPhysicsplugin.csproj
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {52BCCE7B-69EA-4AC3-9DBC-D571B96C2EA1}
- Library
- Properties
- BasicPhysicsplugin
- BasicPhysicsplugin
-
-
- true
- full
- false
- ..\..\..\bin\Physics\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- ..\..\..\bin\Physics\
- TRACE
- prompt
- 4
-
-
-
- False
- ..\..\..\bin\Axiom.MathLib.dll
- False
-
-
-
-
-
-
-
-
-
-
- {3C86A846-7977-4EE7-A8DC-DD487FA5DC2B}
- PhysicsManager
- False
-
-
-
-
\ No newline at end of file
diff --git a/src/physics/plugins/PhysXplugin.cs b/src/physics/plugins/PhysXplugin.cs
deleted file mode 100644
index 8c09dc8..0000000
--- a/src/physics/plugins/PhysXplugin.cs
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using PhysicsSystem;
-
-namespace PhysXplugin
-{
- ///
- /// Will be the PhysX plugin but for now will be a very basic physics engine
- ///
- public class PhysXPlugin : IPhysicsPlugin
- {
- private PhysXScene _mScene;
-
- public PhysXPlugin()
- {
-
- }
-
- public bool Init()
- {
- return true;
- }
-
- public PhysicsScene GetScene()
- {
- if(_mScene == null)
- {
- _mScene = new PhysXScene();
- }
- return(_mScene);
- }
-
- public string GetName()
- {
- return("PhysX");
- }
-
- public void Dispose()
- {
-
- }
- }
-
- public class PhysXScene :PhysicsScene
- {
- private List _actors = new List();
- private float[] _heightMap;
-
- public PhysXScene()
- {
-
- }
-
- public override PhysicsActor AddAvatar(PhysicsVector position)
- {
- PhysXActor act = new PhysXActor();
- act.Position = position;
- _actors.Add(act);
- return act;
- }
-
- public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
- {
- return null;
- }
-
- public override void Simulate(float timeStep)
- {
- foreach (PhysXActor actor in _actors)
- {
- actor.Position.X = actor.Position.X + (actor.Velocity.X * timeStep);
- actor.Position.Y = actor.Position.Y + (actor.Velocity.Y * timeStep);
- actor.Position.Z = actor.Position.Z + (actor.Velocity.Z * timeStep);
- /*if(actor.Flying)
- {
- actor.Position.Z = actor.Position.Z + (actor.Velocity.Z * timeStep);
- }
- else
- {
- actor.Position.Z = actor.Position.Z + ((-9.8f + actor.Velocity.Z) * timeStep);
- }
- if(actor.Position.Z < (_heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X]+1))
- {*/
- actor.Position.Z = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X]+1;
- //}
- if(actor.Position.X<0)
- {
- actor.Position.X = 0;
- actor.Velocity.X = 0;
- }
- if(actor.Position.Y < 0)
- {
- actor.Position.Y = 0;
- actor.Velocity.Y = 0;
- }
- if(actor.Position.X > 255)
- {
- actor.Position.X = 255;
- actor.Velocity.X = 0;
- }
- if(actor.Position.Y > 255)
- {
- actor.Position.Y = 255;
- actor.Velocity.X = 0;
- }
- }
- }
-
- public override void GetResults()
- {
-
- }
-
- public override bool IsThreaded
- {
- get
- {
- return(false); // for now we won't be multithreaded
- }
- }
-
- public override void SetTerrain(float[] heightMap)
- {
- this._heightMap = heightMap;
- }
- }
-
- public class PhysXActor : PhysicsActor
- {
- private PhysicsVector _position;
- private PhysicsVector _velocity;
- private PhysicsVector _acceleration;
- private bool flying;
- public PhysXActor()
- {
- _velocity = new PhysicsVector();
- _position = new PhysicsVector();
- _acceleration = new PhysicsVector();
- }
-
- public override bool Flying
- {
- get
- {
- return false;
- }
- set
- {
- flying= value;
- }
- }
-
- public override PhysicsVector Position
- {
- get
- {
- return _position;
- }
- set
- {
- _position = value;
- }
- }
-
- public override PhysicsVector Velocity
- {
- get
- {
- return _velocity;
- }
- set
- {
- _velocity = value;
- }
- }
-
- public override PhysicsVector Acceleration
- {
- get
- {
- return _acceleration;
- }
-
- }
- public void SetAcceleration (PhysicsVector accel)
- {
- this._acceleration = accel;
- }
-
- public override void AddForce(PhysicsVector force)
- {
-
- }
-
- public override void SetMomentum(PhysicsVector momentum)
- {
-
- }
- }
-
-}
diff --git a/src/physics/plugins/default.build b/src/physics/plugins/default.build
deleted file mode 100644
index 66056a5..0000000
--- a/src/physics/plugins/default.build
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
- nant buildfile for OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/types/Mesh.cs b/src/types/Mesh.cs
deleted file mode 100644
index 3e00c91..0000000
--- a/src/types/Mesh.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenSim.types
-{
- // TODO: This will need some performance tuning no doubt.
- public class Mesh
- {
- public List mesh;
-
- public Mesh()
- {
- mesh = new List();
- }
-
- public void AddTri(Triangle tri)
- {
- mesh.Add(tri);
- }
-
- public static Mesh operator +(Mesh a, Mesh b)
- {
- a.mesh.AddRange(b.mesh);
- return a;
- }
- }
-}
diff --git a/src/types/Triangle.cs b/src/types/Triangle.cs
deleted file mode 100644
index 8dfea6e..0000000
--- a/src/types/Triangle.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using Axiom.MathLib;
-
-namespace OpenSim.types
-{
- public class Triangle
- {
- Vector3 a;
- Vector3 b;
- Vector3 c;
-
- public Triangle()
- {
- a = new Vector3();
- b = new Vector3();
- c = new Vector3();
- }
-
- public Triangle(Vector3 A, Vector3 B, Vector3 C)
- {
- a = A;
- b = B;
- c = C;
- }
- }
-}
diff --git a/src/world/Avatar.cs b/src/world/Avatar.cs
deleted file mode 100644
index facfeee..0000000
--- a/src/world/Avatar.cs
+++ /dev/null
@@ -1,487 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using libsecondlife;
-using libsecondlife.Packets;
-using PhysicsSystem;
-using Axiom.MathLib;
-
-namespace OpenSim.world
-{
- public class Avatar : Entity
- {
- public static bool PhysicsEngineFlying;
- public string firstname;
- public string lastname;
- public OpenSimClient ControllingClient;
- private PhysicsActor _physActor;
- private static libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock AvatarTemplate;
- private bool updateflag;
- private byte movementflag;
- private List forcesList = new List();
- private short _updateCount;
- private Axiom.MathLib.Quaternion bodyRot;
-
- public Avatar(OpenSimClient TheClient) {
- ServerConsole.MainConsole.Instance.WriteLine("Avatar.cs - Loading details from grid (DUMMY)");
- ControllingClient=TheClient;
- position = new LLVector3(100.0f,100.0f,30.0f);
- position.Z = OpenSim_Main.local_world.LandMap[(int)position.Y * 256 + (int)position.X]+1;
- }
-
- public PhysicsActor PhysActor
- {
- set
- {
- this._physActor = value;
- }
- }
- public override void addForces()
- {
- lock(this.forcesList)
- {
- if(this.forcesList.Count>0)
- {
- for(int i=0 ; i < this.forcesList.Count; i++)
- {
- NewForce force = this.forcesList[i];
- PhysicsVector phyVector = new PhysicsVector(force.X, force.Y, force.Z);
- 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.
- }
- for(int i=0 ; i < this.forcesList.Count; i++)
- {
- this.forcesList.RemoveAt(0);
- }
- }
- }
- }
-
- public override void update()
- {
-
- if(this.updateflag)
- {
- //need to send movement info
- //so create the improvedterseobjectupdate packet
- //use CreateTerseBlock()
- ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = CreateTerseBlock();
- ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
- terse.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle; // FIXME
- terse.RegionData.TimeDilation = 64096;
- terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
- terse.ObjectData[0] = terseBlock;
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- client.OutPacket(terse);
- }
-
- updateflag =false;
- //this._updateCount = 0;
- }
- else
- {
- //if((movementflag & 1) !=0)
- //{
- _updateCount++;
- if(( (!PhysicsEngineFlying) && (_updateCount>3)) || (_updateCount>0))
- {
- //It has been a while since last update was sent so lets send one.
- ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = CreateTerseBlock();
- ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
- terse.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle; // FIXME
- terse.RegionData.TimeDilation = 64096;
- terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
- terse.ObjectData[0] = terseBlock;
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- client.OutPacket(terse);
- }
- _updateCount = 0;
- }
- //}
- }
- }
-
- public static void SetupTemplate(string name)
- {
- int i = 0;
- FileInfo fInfo = new FileInfo(name);
- long numBytes = fInfo.Length;
- FileStream fStream = new FileStream(name, FileMode.Open, FileAccess.Read);
- BinaryReader br = new BinaryReader(fStream);
- byte [] data1 = br.ReadBytes((int)numBytes);
- br.Close();
- fStream.Close();
-
- libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock objdata = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock(data1, ref i);
-
- System.Text.Encoding enc = System.Text.Encoding.ASCII;
- libsecondlife.LLVector3 pos = new LLVector3(objdata.ObjectData, 16);
- pos.X = 100f;
- objdata.ID = 8880000;
- objdata.NameValue = enc.GetBytes("FirstName STRING RW SV Test \nLastName STRING RW SV User \0");
- libsecondlife.LLVector3 pos2 = new LLVector3(100f,100f,23f);
- //objdata.FullID=user.AgentID;
- byte[] pb = pos.GetBytes();
- Array.Copy(pb, 0, objdata.ObjectData, 16, pb.Length);
-
- Avatar.AvatarTemplate = objdata;
- }
-
- public void CompleteMovement(World RegionInfo) {
- ServerConsole.MainConsole.Instance.WriteLine("Avatar.cs:CompleteMovement() - Constructing AgentMovementComplete packet");
- AgentMovementCompletePacket mov = new AgentMovementCompletePacket();
- mov.AgentData.SessionID = this.ControllingClient.SessionID;
- mov.AgentData.AgentID = this.ControllingClient.AgentID;
- mov.Data.RegionHandle = OpenSim_Main.cfg.RegionHandle;
- // TODO - dynamicalise this stuff
- mov.Data.Timestamp = 1172750370;
- mov.Data.Position = new LLVector3(100f, 100f, 23f);
- mov.Data.LookAt = new LLVector3(0.99f, 0.042f, 0);
-
- ControllingClient.OutPacket(mov);
- }
-
- public void SendInitialPosition() {
-
- System.Text.Encoding _enc = System.Text.Encoding.ASCII;
- //send a objectupdate packet with information about the clients avatar
- ObjectUpdatePacket objupdate = new ObjectUpdatePacket();
- objupdate.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle;
- objupdate.RegionData.TimeDilation = 64096;
- objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
-
- objupdate.ObjectData[0] = AvatarTemplate;
- //give this avatar object a local id and assign the user a name
- objupdate.ObjectData[0].ID = this.localid;
- objupdate.ObjectData[0].FullID = ControllingClient.AgentID;
- objupdate.ObjectData[0].NameValue = _enc.GetBytes("FirstName STRING RW SV " + firstname + "\nLastName STRING RW SV " + lastname + " \0");
-
- libsecondlife.LLVector3 pos2 = new LLVector3((float)this.position.X, (float)this.position.Y, (float)this.position.Z);
-
- byte[] pb = pos2.GetBytes();
-
- Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length);
- OpenSim_Main.local_world._localNumber++;
-
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values)
- {
- client.OutPacket(objupdate);
- if(client.AgentID != ControllingClient.AgentID)
- {
- SendAppearanceToOtherAgent(client);
- }
- }
- //this.ControllingClient.OutPacket(objupdate);
- }
-
- public void SendInitialAppearance() {
- AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket();
- aw.AgentData.AgentID = this.ControllingClient.AgentID;
- aw.AgentData.SerialNum = 0;
- aw.AgentData.SessionID = ControllingClient.SessionID;
-
- aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[13];
- AgentWearablesUpdatePacket.WearableDataBlock awb = new AgentWearablesUpdatePacket.WearableDataBlock();
- awb.WearableType = (byte)0;
- awb.AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
- awb.ItemID = LLUUID.Random();
- aw.WearableData[0] = awb;
-
- for(int i=1; i<13; i++)
- {
- awb = new AgentWearablesUpdatePacket.WearableDataBlock();
- awb.WearableType = (byte)i;
- awb.AssetID = new LLUUID("00000000-0000-0000-0000-000000000000");
- awb.ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
- aw.WearableData[i] = awb;
- }
-
- ControllingClient.OutPacket(aw);
- }
-
- public ObjectUpdatePacket CreateUpdatePacket()
- {
- System.Text.Encoding _enc = System.Text.Encoding.ASCII;
- //send a objectupdate packet with information about the clients avatar
- ObjectUpdatePacket objupdate = new ObjectUpdatePacket();
- objupdate.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle;
- objupdate.RegionData.TimeDilation = 64096;
- objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
-
- objupdate.ObjectData[0] = AvatarTemplate;
- //give this avatar object a local id and assign the user a name
- objupdate.ObjectData[0].ID = this.localid;
- objupdate.ObjectData[0].FullID = ControllingClient.AgentID;
- objupdate.ObjectData[0].NameValue = _enc.GetBytes("FirstName STRING RW SV " + firstname + "\nLastName STRING RW SV " + lastname + " \0");
-
- libsecondlife.LLVector3 pos2 = new LLVector3((float)this._physActor.Position.X, (float)this._physActor.Position.Y, (float)this._physActor.Position.Z);
-
- byte[] pb = pos2.GetBytes();
-
- Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length);
- return objupdate;
- }
-
- public void SendAppearanceToOtherAgent(OpenSimClient userInfo)
- {
- AvatarAppearancePacket avp = new AvatarAppearancePacket();
-
-
- avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[218];
- //avp.ObjectData.TextureEntry=this.avatar_template.TextureEntry;// br.ReadBytes((int)numBytes);
-
- LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-0000-000000000005"));
- avp.ObjectData.TextureEntry = ntex.ToBytes();
-
- AvatarAppearancePacket.VisualParamBlock avblock = null;
- for(int i = 0; i < 218; i++)
- {
- avblock = new AvatarAppearancePacket.VisualParamBlock();
- avblock.ParamValue = (byte)100;
- avp.VisualParam[i] = avblock;
- }
-
- avp.Sender.IsTrial = false;
- avp.Sender.ID = ControllingClient.AgentID;
- userInfo.OutPacket(avp);
-
- }
-
- public void HandleUpdate(AgentUpdatePacket pack) {
- if(((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_FLY) !=0)
- {
- this._physActor.Flying = true;
- }
- else
- {
- this._physActor.Flying = false;
- }
- if(((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_AT_POS) !=0) {
- Axiom.MathLib.Quaternion q = new Axiom.MathLib.Quaternion(pack.AgentData.BodyRotation.W, pack.AgentData.BodyRotation.X, pack.AgentData.BodyRotation.Y, pack.AgentData.BodyRotation.Z);
- if(((movementflag & 1) ==0) || (q!= this.bodyRot))
- {
- //we should add a new force to the list
- // but for now we will deal with velocities
- NewForce newVelocity = new NewForce();
- Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3(1, 0, 0);
- Axiom.MathLib.Vector3 direc = q * v3;
- direc.Normalize();
-
- //work out velocity for sim physics system
- direc = direc * ((0.03f) * 128f);
- if(this._physActor.Flying)
- direc *=2;
-
- newVelocity.X = direc.x;
- newVelocity.Y = direc.y;
- newVelocity.Z = direc.z;
- this.forcesList.Add(newVelocity);
- movementflag = 1;
- this.bodyRot = q;
- }
- }
- else if((((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_UP_POS) !=0) &&(PhysicsEngineFlying)) {
- if(((movementflag & 2) ==0) && this._physActor.Flying)
- {
- //we should add a new force to the list
- // but for now we will deal with velocities
- NewForce newVelocity = new NewForce();
- Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3(0, 0, 1);
- Axiom.MathLib.Vector3 direc = v3;
- direc.Normalize();
-
- //work out velocity for sim physics system
- direc = direc * ((0.03f) * 128f *2);
- newVelocity.X = direc.x;
- newVelocity.Y = direc.y;
- newVelocity.Z = direc.z;
- this.forcesList.Add(newVelocity);
- movementflag = 2;
- }
- }
- else if((((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_UP_NEG) !=0) && (PhysicsEngineFlying)) {
- if(((movementflag & 4) ==0) && this._physActor.Flying)
- {
- //we should add a new force to the list
- // but for now we will deal with velocities
- NewForce newVelocity = new NewForce();
- Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3(0, 0, -1);
- //Axiom.MathLib.Quaternion q = new Axiom.MathLib.Quaternion(pack.AgentData.BodyRotation.W, pack.AgentData.BodyRotation.X, pack.AgentData.BodyRotation.Y, pack.AgentData.BodyRotation.Z);
- Axiom.MathLib.Vector3 direc = v3;
- direc.Normalize();
-
- //work out velocity for sim physics system
- direc = direc * ((0.03f) * 128f *2);
- newVelocity.X = direc.x;
- newVelocity.Y = direc.y;
- newVelocity.Z = direc.z;
- this.forcesList.Add(newVelocity);
- movementflag = 4;
- }
- }
- else if(((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_AT_NEG) !=0) {
- Axiom.MathLib.Quaternion q = new Axiom.MathLib.Quaternion(pack.AgentData.BodyRotation.W, pack.AgentData.BodyRotation.X, pack.AgentData.BodyRotation.Y, pack.AgentData.BodyRotation.Z);
- if(((movementflag & 8) ==0) || (q!= this.bodyRot))
- {
- //we should add a new force to the list
- // but for now we will deal with velocities
- NewForce newVelocity = new NewForce();
- Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3(-1, 0, 0);
- Axiom.MathLib.Vector3 direc = q * v3;
- direc.Normalize();
-
- //work out velocity for sim physics system
- direc = direc * ((0.03f) * 128f);
- if(this._physActor.Flying)
- direc *=2;
-
- newVelocity.X = direc.x;
- newVelocity.Y = direc.y;
- newVelocity.Z = direc.z;
- this.forcesList.Add(newVelocity);
- movementflag = 8;
- this.bodyRot = q;
- }
- }
- else
- {
- if((movementflag) !=0)
- {
- NewForce newVelocity = new NewForce();
- newVelocity.X = 0;
- newVelocity.Y = 0;
- newVelocity.Z = 0;
- this.forcesList.Add(newVelocity);
- movementflag = 0;
- }
- }
- }
-
- //should be moved somewhere else
- public void SendRegionHandshake(World RegionInfo) {
- ServerConsole.MainConsole.Instance.WriteLine("Avatar.cs:SendRegionHandshake() - Creating empty RegionHandshake packet");
- System.Text.Encoding _enc = System.Text.Encoding.ASCII;
- RegionHandshakePacket handshake = new RegionHandshakePacket();
-
- ServerConsole.MainConsole.Instance.WriteLine("Avatar.cs:SendRegionhandshake() - Filling in RegionHandshake details");
- handshake.RegionInfo.BillableFactor = 0;
- handshake.RegionInfo.IsEstateManager = false;
- handshake.RegionInfo.TerrainHeightRange00 = 60;
- handshake.RegionInfo.TerrainHeightRange01 = 60;
- handshake.RegionInfo.TerrainHeightRange10 = 60;
- handshake.RegionInfo.TerrainHeightRange11 = 60;
- handshake.RegionInfo.TerrainStartHeight00 = 10;
- handshake.RegionInfo.TerrainStartHeight01 = 10;
- handshake.RegionInfo.TerrainStartHeight10 = 10;
- handshake.RegionInfo.TerrainStartHeight11 = 10;
- handshake.RegionInfo.SimAccess = 13;
- handshake.RegionInfo.WaterHeight = 20;
- handshake.RegionInfo.RegionFlags = 72458694;
- handshake.RegionInfo.SimName = _enc.GetBytes(OpenSim_Main.cfg.RegionName + "\0");
- handshake.RegionInfo.SimOwner = new LLUUID("00000000-0000-0000-0000-000000000000");
- handshake.RegionInfo.TerrainBase0 = new LLUUID("b8d3965a-ad78-bf43-699b-bff8eca6c975");
- handshake.RegionInfo.TerrainBase1 = new LLUUID("abb783e6-3e93-26c0-248a-247666855da3");
- handshake.RegionInfo.TerrainBase2 = new LLUUID("179cdabd-398a-9b6b-1391-4dc333ba321f");
- handshake.RegionInfo.TerrainBase3 = new LLUUID("beb169c7-11ea-fff2-efe5-0f24dc881df2");
- handshake.RegionInfo.TerrainDetail0 = new LLUUID("00000000-0000-0000-0000-000000000000");
- handshake.RegionInfo.TerrainDetail1 = new LLUUID("00000000-0000-0000-0000-000000000000");
- handshake.RegionInfo.TerrainDetail2 = new LLUUID("00000000-0000-0000-0000-000000000000");
- handshake.RegionInfo.TerrainDetail3 = new LLUUID("00000000-0000-0000-0000-000000000000");
- handshake.RegionInfo.CacheID = new LLUUID("545ec0a5-5751-1026-8a0b-216e38a7ab37");
-
- ServerConsole.MainConsole.Instance.WriteLine("Avatar.cs:SendRegionHandshake() - Sending RegionHandshake packet");
- this.ControllingClient.OutPacket(handshake);
- }
-
- public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock()
- {
- byte[] bytes = new byte[60];
- int i=0;
- ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock();
-
- dat.TextureEntry = AvatarTemplate.TextureEntry;
- libsecondlife.LLVector3 pos2 = new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z);
-
- uint ID = this.localid;
-
- bytes[i++] = (byte)(ID % 256);
- bytes[i++] = (byte)((ID >> 8) % 256);
- bytes[i++] = (byte)((ID >> 16) % 256);
- bytes[i++] = (byte)((ID >> 24) % 256);
- bytes[i++] = 0;
- bytes[i++] = 1;
- i += 14;
- bytes[i++] = 128;
- bytes[i++] = 63;
-
- byte[] pb = pos2.GetBytes();
- Array.Copy(pb, 0, bytes, i, pb.Length);
- i += 12;
- 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);
- internDirec = internDirec /128.0f;
- internDirec.x += 1;
- internDirec.y += 1;
- internDirec.z += 1;
-
- InternVelocityX = (ushort)(32768 * internDirec.x);
- InternVelocityY = (ushort)(32768 * internDirec.y);
- InternVelocityZ = (ushort)(32768 * internDirec.z);
-
- ushort ac = 32767;
- bytes[i++] = (byte)(InternVelocityX % 256);
- bytes[i++] = (byte)((InternVelocityX >> 8) % 256);
- bytes[i++] = (byte)(InternVelocityY % 256);
- bytes[i++] = (byte)((InternVelocityY>> 8) % 256);
- bytes[i++] = (byte)(InternVelocityZ % 256);
- bytes[i++] = (byte)((InternVelocityZ >> 8) % 256);
-
- //accel
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
-
- //rot
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
-
- //rotation vel
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
-
- dat.Data=bytes;
- return(dat);
- }
- }
-
- public class NewForce
- {
- public float X;
- public float Y;
- public float Z;
-
- public NewForce()
- {
-
- }
- }
-}
diff --git a/src/world/Entity.cs b/src/world/Entity.cs
deleted file mode 100644
index ee4b2e4..0000000
--- a/src/world/Entity.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using Axiom.MathLib;
-using OpenSim.types;
-using libsecondlife;
-
-namespace OpenSim.world
-{
- public class Entity
- {
- public libsecondlife.LLUUID uuid;
- public uint localid;
- public LLVector3 position;
- public LLVector3 velocity;
- public Quaternion rotation;
- protected string name;
- protected List children;
-
- public Entity()
- {
- uuid = new libsecondlife.LLUUID();
- localid = 8880000 + (OpenSim_Main.local_world._localNumber++); // FIXME - race condition!
- position = new LLVector3();
- velocity = new LLVector3();
- rotation = new Quaternion();
- name = "(basic entity)";
- children = new List();
- }
- public virtual void addForces()
- {
- foreach (Entity child in children)
- {
- child.addForces();
- }
- }
- public virtual void update() {
- // Do any per-frame updates needed that are applicable to every type of entity
- foreach (Entity child in children)
- {
- child.update();
- }
- }
-
- public virtual string getName()
- {
- return name;
- }
-
- public virtual Mesh getMesh()
- {
- Mesh mesh = new Mesh();
-
- foreach (Entity child in children)
- {
- mesh += child.getMesh();
- }
-
- return mesh;
- }
-
- public virtual void BackUp()
- {
-
- }
- }
-}
diff --git a/src/world/Primitive.cs b/src/world/Primitive.cs
deleted file mode 100644
index 6be33ef..0000000
--- a/src/world/Primitive.cs
+++ /dev/null
@@ -1,429 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using OpenSim.types;
-using libsecondlife;
-using libsecondlife.Packets;
-using GridInterfaces;
-using PhysicsSystem;
-
-namespace OpenSim.world
-{
- public class Primitive : Entity
- {
- protected float mesh_cutbegin;
- protected float mesh_cutend;
- protected PrimData primData;
- protected bool newPrimFlag;
- protected bool updateFlag;
- protected bool dirtyFlag;
- private ObjectUpdatePacket OurPacket;
- private PhysicsActor _physActor;
- private bool physicsEnabled;
-
- public bool PhysicsEnabled
- {
- get
- {
- return physicsEnabled;
- }
- set
- {
- physicsEnabled = value;
- }
- }
- public bool UpdateFlag
- {
- get
- {
- return updateFlag;
- }
- set
- {
- updateFlag = value;
- }
- }
- public LLVector3 Scale
- {
- set
- {
- this.primData.Scale = value;
- this.dirtyFlag = true;
- }
- get
- {
- return this.primData.Scale;
- }
- }
- public PhysicsActor PhysActor
- {
- set
- {
- this._physActor = value;
- }
- }
-
- public Primitive()
- {
- mesh_cutbegin = 0.0f;
- mesh_cutend = 1.0f;
- }
-
- public override Mesh getMesh()
- {
- Mesh mesh = new Mesh();
- Triangle tri = new Triangle(
- new Axiom.MathLib.Vector3(0.0f, 1.0f, 1.0f),
- new Axiom.MathLib.Vector3(1.0f, 0.0f, 1.0f),
- new Axiom.MathLib.Vector3(1.0f, 1.0f, 0.0f));
-
- mesh.AddTri(tri);
- mesh += base.getMesh();
-
- return mesh;
- }
-
- public void UpdatePosition( LLVector3 pos)
- {
- this.position = pos;
- if(this._physActor != null && this.physicsEnabled)
- {
- this._physActor.Position = new PhysicsVector(pos.X, pos.Y, pos.Z);
- }
- this.updateFlag = true;
- }
-
- public override void update()
- {
- if(this.newPrimFlag)
- {
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- client.OutPacket(OurPacket);
- }
- this.newPrimFlag = false;
- }
- else if(this.updateFlag)
- {
- ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
- terse.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle; // FIXME
- terse.RegionData.TimeDilation = 64096;
- terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
- terse.ObjectData[0] = this.CreateImprovedBlock();
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- client.OutPacket(terse);
- }
- this.updateFlag = false;
- }
- else if(this.dirtyFlag)
- {
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- UpdateClient(client);
- }
- this.dirtyFlag = false;
- }
- else
- {
- if(this._physActor != null && this.physicsEnabled)
- {
- ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
- terse.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle; // FIXME
- terse.RegionData.TimeDilation = 64096;
- terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
- terse.ObjectData[0] = this.CreateImprovedBlock();
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- client.OutPacket(terse);
- }
- }
- }
- }
-
- public void UpdateClient(OpenSimClient RemoteClient)
- {
-
- LLVector3 lPos;
- if( this._physActor != null && this.physicsEnabled)
- {
- PhysicsVector pPos = this._physActor.Position;
- lPos = new LLVector3( pPos.X, pPos.Y, pPos.Z);
- }
- else
- {
- lPos = this.position;
- }
- byte[] pb = lPos.GetBytes();
- Array.Copy(pb, 0, OurPacket.ObjectData[0].ObjectData, 0, pb.Length);
-
- // OurPacket should be update with the follwing in updateShape() rather than having to do it here
- OurPacket.ObjectData[0].OwnerID = this.primData.OwnerID;
- OurPacket.ObjectData[0].PCode = this.primData.PCode;
- OurPacket.ObjectData[0].PathBegin = this.primData.PathBegin;
- OurPacket.ObjectData[0].PathEnd = this.primData.PathEnd;
- OurPacket.ObjectData[0].PathScaleX = this.primData.PathScaleX;
- OurPacket.ObjectData[0].PathScaleY = this.primData.PathScaleY;
- OurPacket.ObjectData[0].PathShearX = this.primData.PathShearX;
- OurPacket.ObjectData[0].PathShearY = this.primData.PathShearY;
- OurPacket.ObjectData[0].PathSkew = this.primData.PathSkew;
- OurPacket.ObjectData[0].ProfileBegin = this.primData.ProfileBegin;
- OurPacket.ObjectData[0].ProfileEnd = this.primData.ProfileEnd;
- OurPacket.ObjectData[0].Scale = this.primData.Scale;
- OurPacket.ObjectData[0].PathCurve = this.primData.PathCurve;
- OurPacket.ObjectData[0].ProfileCurve = this.primData.ProfileCurve;
- OurPacket.ObjectData[0].ParentID = 0;
- OurPacket.ObjectData[0].ProfileHollow = this.primData.ProfileHollow;
- //finish off copying rest of shape data
- OurPacket.ObjectData[0].PathRadiusOffset = this.primData.PathRadiusOffset;
- OurPacket.ObjectData[0].PathRevolutions = this.primData.PathRevolutions;
- OurPacket.ObjectData[0].PathTaperX = this.primData.PathTaperX;
- OurPacket.ObjectData[0].PathTaperY = this.primData.PathTaperY;
- OurPacket.ObjectData[0].PathTwist = this.primData.PathTwist;
- OurPacket.ObjectData[0].PathTwistBegin= this.primData.PathTwistBegin;
-
- RemoteClient.OutPacket(OurPacket);
- }
-
- public void UpdateShape(ObjectShapePacket.ObjectDataBlock addPacket)
- {
- this.primData.PathBegin = addPacket.PathBegin;
- this.primData.PathEnd = addPacket.PathEnd;
- this.primData.PathScaleX = addPacket.PathScaleX;
- this.primData.PathScaleY = addPacket.PathScaleY;
- this.primData.PathShearX = addPacket.PathShearX;
- this.primData.PathShearY = addPacket.PathShearY;
- this.primData.PathSkew = addPacket.PathSkew;
- this.primData.ProfileBegin = addPacket.ProfileBegin;
- this.primData.ProfileEnd = addPacket.ProfileEnd;
- this.primData.PathCurve = addPacket.PathCurve;
- this.primData.ProfileCurve = addPacket.ProfileCurve;
- this.primData.ProfileHollow = addPacket.ProfileHollow;
- this.primData.PathRadiusOffset = addPacket.PathRadiusOffset;
- this.primData.PathRevolutions = addPacket.PathRevolutions;
- this.primData.PathTaperX = addPacket.PathTaperX;
- this.primData.PathTaperY = addPacket.PathTaperY;
- this.primData.PathTwist = addPacket.PathTwist;
- this.primData.PathTwistBegin =addPacket.PathTwistBegin;
- this.dirtyFlag = true;
- }
-
- public void CreateFromPacket( ObjectAddPacket addPacket, LLUUID agentID, uint localID)
- {
- ObjectUpdatePacket objupdate = new ObjectUpdatePacket();
- objupdate.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle;
- objupdate.RegionData.TimeDilation = 64096;
-
- objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
- PrimData PData = new PrimData();
- this.primData = PData;
- objupdate.ObjectData[0] = new ObjectUpdatePacket.ObjectDataBlock();
- objupdate.ObjectData[0].PSBlock = new byte[0];
- objupdate.ObjectData[0].ExtraParams = new byte[1];
- objupdate.ObjectData[0].MediaURL = new byte[0];
- objupdate.ObjectData[0].NameValue = new byte[0];
- objupdate.ObjectData[0].Text = new byte[0];
- objupdate.ObjectData[0].TextColor = new byte[4];
- objupdate.ObjectData[0].JointAxisOrAnchor = new LLVector3(0,0,0);
- objupdate.ObjectData[0].JointPivot = new LLVector3(0,0,0);
- objupdate.ObjectData[0].Material = 3;
- objupdate.ObjectData[0].UpdateFlags=32+65536+131072+256+4+8+2048+524288+268435456;
- objupdate.ObjectData[0].TextureAnim = new byte[0];
- objupdate.ObjectData[0].Sound = LLUUID.Zero;
- LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
- objupdate.ObjectData[0].TextureEntry = ntex.ToBytes();
- objupdate.ObjectData[0].State = 0;
- objupdate.ObjectData[0].Data = new byte[0];
- PData.OwnerID = objupdate.ObjectData[0].OwnerID = agentID;
- PData.PCode = objupdate.ObjectData[0].PCode = addPacket.ObjectData.PCode;
- PData.PathBegin = objupdate.ObjectData[0].PathBegin = addPacket.ObjectData.PathBegin;
- PData.PathEnd = objupdate.ObjectData[0].PathEnd = addPacket.ObjectData.PathEnd;
- PData.PathScaleX = objupdate.ObjectData[0].PathScaleX = addPacket.ObjectData.PathScaleX;
- PData.PathScaleY = objupdate.ObjectData[0].PathScaleY = addPacket.ObjectData.PathScaleY;
- PData.PathShearX = objupdate.ObjectData[0].PathShearX = addPacket.ObjectData.PathShearX;
- PData.PathShearY = objupdate.ObjectData[0].PathShearY = addPacket.ObjectData.PathShearY;
- PData.PathSkew = objupdate.ObjectData[0].PathSkew = addPacket.ObjectData.PathSkew;
- PData.ProfileBegin = objupdate.ObjectData[0].ProfileBegin = addPacket.ObjectData.ProfileBegin;
- PData.ProfileEnd = objupdate.ObjectData[0].ProfileEnd = addPacket.ObjectData.ProfileEnd;
- PData.Scale = objupdate.ObjectData[0].Scale = addPacket.ObjectData.Scale;
- PData.PathCurve = objupdate.ObjectData[0].PathCurve = addPacket.ObjectData.PathCurve;
- PData.ProfileCurve = objupdate.ObjectData[0].ProfileCurve = addPacket.ObjectData.ProfileCurve;
- PData.ParentID = objupdate.ObjectData[0].ParentID = 0;
- PData.ProfileHollow = objupdate.ObjectData[0].ProfileHollow = addPacket.ObjectData.ProfileHollow;
-
- PData.PathRadiusOffset = objupdate.ObjectData[0].PathRadiusOffset = addPacket.ObjectData.PathRadiusOffset;
- PData.PathRevolutions = objupdate.ObjectData[0].PathRevolutions = addPacket.ObjectData.PathRevolutions;
- PData.PathTaperX = objupdate.ObjectData[0].PathTaperX = addPacket.ObjectData.PathTaperX;
- PData.PathTaperY = objupdate.ObjectData[0].PathTaperY = addPacket.ObjectData.PathTaperY;
- PData.PathTwist = objupdate.ObjectData[0].PathTwist = addPacket.ObjectData.PathTwist;
- PData.PathTwistBegin = objupdate.ObjectData[0].PathTwistBegin = addPacket.ObjectData.PathTwistBegin;
-
- //finish off copying rest of shape data
-
- objupdate.ObjectData[0].ID = (uint)(localID);
- objupdate.ObjectData[0].FullID = new LLUUID("edba7151-5857-acc5-b30b-f01efef" + (localID- 702000).ToString("00000"));
- objupdate.ObjectData[0].ObjectData = new byte[60];
- objupdate.ObjectData[0].ObjectData[46] = 128;
- objupdate.ObjectData[0].ObjectData[47] = 63;
- LLVector3 pos1= addPacket.ObjectData.RayEnd;
- //update position
- byte[] pb = pos1.GetBytes();
- Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 0, pb.Length);
-
- this.newPrimFlag = true;
- this.uuid = objupdate.ObjectData[0].FullID;
- this.localid = objupdate.ObjectData[0].ID;
- this.position = pos1;
- this.OurPacket = objupdate;
- }
-
- public void CreateFromStorage(PrimData store)
- {
- //need to clean this up as it shares a lot of code with CreateFromPacket()
- ObjectUpdatePacket objupdate = new ObjectUpdatePacket();
- objupdate.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle;
- objupdate.RegionData.TimeDilation = 64096;
- objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
-
- this.primData = store;
- objupdate.ObjectData[0] = new ObjectUpdatePacket.ObjectDataBlock();
- objupdate.ObjectData[0].PSBlock = new byte[0];
- objupdate.ObjectData[0].ExtraParams = new byte[1];
- objupdate.ObjectData[0].MediaURL = new byte[0];
- objupdate.ObjectData[0].NameValue = new byte[0];
- objupdate.ObjectData[0].Text = new byte[0];
- objupdate.ObjectData[0].TextColor = new byte[4];
- objupdate.ObjectData[0].JointAxisOrAnchor = new LLVector3(0,0,0);
- objupdate.ObjectData[0].JointPivot = new LLVector3(0,0,0);
- objupdate.ObjectData[0].Material = 3;
- objupdate.ObjectData[0].UpdateFlags=32+65536+131072+256+4+8+2048+524288+268435456;
- objupdate.ObjectData[0].TextureAnim = new byte[0];
- objupdate.ObjectData[0].Sound = LLUUID.Zero;
- LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
- objupdate.ObjectData[0].TextureEntry = ntex.ToBytes();
- objupdate.ObjectData[0].State = 0;
- objupdate.ObjectData[0].Data = new byte[0];
- objupdate.ObjectData[0].OwnerID = this.primData.OwnerID;
- objupdate.ObjectData[0].PCode = this.primData.PCode;
- objupdate.ObjectData[0].PathBegin = this.primData.PathBegin;
- objupdate.ObjectData[0].PathEnd = this.primData.PathEnd;
- objupdate.ObjectData[0].PathScaleX = this.primData.PathScaleX;
- objupdate.ObjectData[0].PathScaleY = this.primData.PathScaleY;
- objupdate.ObjectData[0].PathShearX = this.primData.PathShearX;
- objupdate.ObjectData[0].PathShearY = this.primData.PathShearY;
- objupdate.ObjectData[0].PathSkew = this.primData.PathSkew;
- objupdate.ObjectData[0].ProfileBegin = this.primData.ProfileBegin;
- objupdate.ObjectData[0].ProfileEnd = this.primData.ProfileEnd;
- objupdate.ObjectData[0].Scale = this.primData.Scale;
- objupdate.ObjectData[0].PathCurve = this.primData.PathCurve;
- objupdate.ObjectData[0].ProfileCurve = this.primData.ProfileCurve;
- objupdate.ObjectData[0].ParentID = 0;
- objupdate.ObjectData[0].ProfileHollow = this.primData.ProfileHollow;
- //finish off copying rest of shape data
- objupdate.ObjectData[0].PathRadiusOffset = this.primData.PathRadiusOffset;
- objupdate.ObjectData[0].PathRevolutions = this.primData.PathRevolutions;
- objupdate.ObjectData[0].PathTaperX = this.primData.PathTaperX;
- objupdate.ObjectData[0].PathTaperY = this.primData.PathTaperY;
- objupdate.ObjectData[0].PathTwist = this.primData.PathTwist;
- objupdate.ObjectData[0].PathTwistBegin= this.primData.PathTwistBegin;
-
- objupdate.ObjectData[0].ID = (uint)store.LocalID;
- objupdate.ObjectData[0].FullID = store.FullID;
-
- objupdate.ObjectData[0].ObjectData = new byte[60];
- objupdate.ObjectData[0].ObjectData[46] = 128;
- objupdate.ObjectData[0].ObjectData[47] = 63;
- LLVector3 pos1= store.Position;
- //update position
- byte[] pb = pos1.GetBytes();
- Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 0, pb.Length);
-
- this.uuid = objupdate.ObjectData[0].FullID;
- this.localid = objupdate.ObjectData[0].ID;
- this.position = pos1;
- this.OurPacket = objupdate;
-
- }
- public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedBlock()
- {
- uint ID = this.localid;
- byte[] bytes = new byte[60];
-
- int i = 0;
- ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock();
- dat.TextureEntry = this.OurPacket.ObjectData[0].TextureEntry;
-
- bytes[i++] = (byte)(ID % 256);
- bytes[i++] = (byte)((ID >> 8) % 256);
- bytes[i++] = (byte)((ID >> 16) % 256);
- bytes[i++] = (byte)((ID >> 24) % 256);
- bytes[i++]= 0;
- bytes[i++]= 0;
-
- LLVector3 lPos;
- if( this._physActor != null && this.physicsEnabled)
- {
- PhysicsVector pPos = this._physActor.Position;
- lPos = new LLVector3( pPos.X, pPos.Y, pPos.Z);
- }
- else
- {
- lPos = this.position;
- }
- byte[] pb = lPos.GetBytes();
- Array.Copy(pb, 0, bytes, i, pb.Length);
- i += 12;
- ushort ac = 32767;
-
- //vel
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
-
- //accel
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
-
- ushort rw, rx,ry,rz;
- rw = (ushort)(32768 * (this.rotation.w+1));
- rx = (ushort)(32768 * (this.rotation.x+1));
- ry = (ushort)(32768 * (this.rotation.y+1));
- rz = (ushort)(32768 * (this.rotation.z+1));
-
- //rot
- bytes[i++] = (byte)(rx % 256);
- bytes[i++] = (byte)((rx >> 8) % 256);
- bytes[i++] = (byte)(ry % 256);
- bytes[i++] = (byte)((ry >> 8) % 256);
- bytes[i++] = (byte)(rz % 256);
- bytes[i++] = (byte)((rz >> 8) % 256);
- bytes[i++] = (byte)(rw % 256);
- bytes[i++] = (byte)((rw >> 8) % 256);
-
- //rotation vel
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
- bytes[i++] = (byte)(ac % 256);
- bytes[i++] = (byte)((ac >> 8) % 256);
-
- dat.Data=bytes;
- return dat;
- }
-
- public override void BackUp()
- {
-
- this.primData.FullID = this.uuid;
- 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);
- OpenSim_Main.local_world.localStorage.StorePrim(this.primData);
- }
- }
-
-}
diff --git a/src/world/ScriptEngine.cs b/src/world/ScriptEngine.cs
deleted file mode 100644
index f20a08e..0000000
--- a/src/world/ScriptEngine.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenSim.world
-{
- public class ScriptEngine
- {
- public ScriptEngine(World env)
- {
- }
-
- public void LoadScript()
- {
-
- }
- }
-}
diff --git a/src/world/SurfacePatch.cs b/src/world/SurfacePatch.cs
deleted file mode 100644
index 71e4116..0000000
--- a/src/world/SurfacePatch.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenSim.world
-{
- public class SurfacePatch
- {
- public float[] HeightMap;
-
- public SurfacePatch() {
- HeightMap = new float[16*16];
-
- int xinc;
- int yinc;
- for(xinc=0; xinc<16; xinc++) for(yinc=0; yinc<16; yinc++) {
- HeightMap[xinc+(yinc*16)]=100.0f;
- }
-
- }
- }
-}
diff --git a/src/world/World.cs b/src/world/World.cs
deleted file mode 100644
index e1c84bc..0000000
--- a/src/world/World.cs
+++ /dev/null
@@ -1,208 +0,0 @@
-using System;
-using libsecondlife;
-using libsecondlife.Packets;
-using System.Collections.Generic;
-using System.Text;
-using System.Reflection;
-using System.IO;
-using PhysicsSystem;
-using GridInterfaces;
-
-namespace OpenSim.world
-{
- public class World : ILocalStorageReceiver
- {
- public Dictionary Entities;
- public float[] LandMap;
- public ScriptEngine Scripts;
- public uint _localNumber=0;
- private PhysicsScene phyScene;
- private float timeStep= 0.1f;
- private libsecondlife.TerrainManager TerrainManager;
- public ILocalStorage localStorage;
- private Random Rand = new Random();
- private uint _primCount = 702000;
- private int storageCount;
-
- public World()
- {
- ServerConsole.MainConsole.Instance.WriteLine("World.cs - creating new entitities instance");
- Entities = new Dictionary();
-
- ServerConsole.MainConsole.Instance.WriteLine("World.cs - creating LandMap");
- TerrainManager = new TerrainManager(new SecondLife());
- Avatar.SetupTemplate("avatar-template.dat");
- // ServerConsole.MainConsole.Instance.WriteLine("World.cs - Creating script engine instance");
- // Initialise this only after the world has loaded
- // Scripts = new ScriptEngine(this);
- }
-
- public PhysicsScene PhysScene
- {
- set
- {
- this.phyScene = value;
- }
- get
- {
- return(this.phyScene);
- }
- }
-
- public void Update()
- {
- if(this.phyScene.IsThreaded)
- {
- this.phyScene.GetResults();
-
- }
-
- foreach (libsecondlife.LLUUID UUID in Entities.Keys)
- {
- Entities[UUID].addForces();
- }
-
- this.phyScene.Simulate(timeStep);
-
- foreach (libsecondlife.LLUUID UUID in Entities.Keys)
- {
- Entities[UUID].update();
- }
-
- //backup world data
- this.storageCount++;
- if(storageCount> 300) //set to how often you want to backup
- {
- this.Backup();
- storageCount =0;
- }
- }
-
- public bool LoadStorageDLL(string dllName)
- {
- Assembly pluginAssembly = Assembly.LoadFrom(dllName);
- ILocalStorage store = null;
-
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (pluginType.IsPublic)
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("ILocalStorage", true);
-
- if (typeInterface != null)
- {
- ILocalStorage plug = (ILocalStorage)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- store = plug;
- break;
- }
-
- typeInterface = null;
- }
- }
- }
- pluginAssembly = null;
- this.localStorage = store;
- return(store == null);
- }
-
- public void RegenerateTerrain()
- {
- HeightmapGenHills hills = new HeightmapGenHills();
- this.LandMap = hills.GenerateHeightmap(200, 4.0f, 80.0f, false);
- this.phyScene.SetTerrain(this.LandMap);
- OpenSim_Main.cfg.SaveMap();
-
- foreach(OpenSimClient client in OpenSim_Main.sim.ClientThreads.Values) {
- this.SendLayerData(client);
- }
- }
- public void LoadPrimsFromStorage()
- {
- ServerConsole.MainConsole.Instance.WriteLine("World.cs: LoadPrimsFromStorage() - Loading primitives");
- this.localStorage.LoadPrimitives(this);
- }
-
- public void PrimFromStorage(PrimData prim)
- {
- if(prim.LocalID >= this._primCount)
- {
- _primCount = prim.LocalID + 1;
- }
- ServerConsole.MainConsole.Instance.WriteLine("World.cs: PrimFromStorage() - Reloading prim (localId "+ prim.LocalID+ " ) from storage");
- Primitive nPrim = new Primitive();
- nPrim.CreateFromStorage(prim);
- this.Entities.Add(nPrim.uuid, nPrim);
- }
-
- public void Close()
- {
- this.localStorage.ShutDown();
- }
-
- public void SendLayerData(OpenSimClient RemoteClient) {
- int[] patches = new int[4];
-
- for (int y = 0; y < 16; y++)
- {
- for (int x = 0; x < 16; x = x + 4)
- {
- patches[0] = x + 0 + y * 16;
- patches[1] = x + 1 + y * 16;
- patches[2] = x + 2 + y * 16;
- patches[3] = x + 3 + y * 16;
-
- Packet layerpack = TerrainManager.CreateLandPacket(LandMap, patches);
- RemoteClient.OutPacket(layerpack);
- }
- }
- }
-
- public void GetInitialPrims(OpenSimClient RemoteClient)
- {
- foreach (libsecondlife.LLUUID UUID in Entities.Keys)
- {
- if(Entities[UUID].ToString()== "OpenSim.world.Primitive")
- {
- ((OpenSim.world.Primitive)Entities[UUID]).UpdateClient(RemoteClient);
- }
- }
- }
-
- public void AddViewerAgent(OpenSimClient AgentClient) {
- ServerConsole.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Creating new avatar for remote viewer agent");
- Avatar NewAvatar = new Avatar(AgentClient);
- ServerConsole.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world");
- ServerConsole.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);
- this.Entities.Add(AgentClient.AgentID, NewAvatar);
- }
-
- public void AddNewPrim(ObjectAddPacket addPacket, OpenSimClient AgentClient)
- {
- ServerConsole.MainConsole.Instance.WriteLine("World.cs: AddNewPrim() - Creating new prim");
- Primitive prim = new Primitive();
- 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.25f, 0.25f, 0.25f);
- //prim.PhysActor = this.phyScene.AddPrim(pVec, pSize );
- //prim.PhysicsEnabled = true;
- this.Entities.Add(prim.uuid, prim);
- this._primCount++;
- }
-
- public bool Backup() {
- /* TODO: Save the current world entities state. */
- ServerConsole.MainConsole.Instance.WriteLine("World.cs: Backup() - Backing up Primitives");
- foreach (libsecondlife.LLUUID UUID in Entities.Keys)
- {
- Entities[UUID].BackUp();
- }
- return true;
- }
-
- }
-}
diff --git a/src/world/scripting/IScript.cs b/src/world/scripting/IScript.cs
deleted file mode 100644
index 550594d..0000000
--- a/src/world/scripting/IScript.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenSim.world.scripting
-{
- public interface IScriptHost {
- bool Register(IScript iscript);
- }
- public interface IScript
- {
- string Name{get;set;}
- IScriptHost Host{get;set;}
- void Show();
- }
-}
--
cgit v1.1