mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 16:22:50 +08:00
* Reverting todays work. It was worth a try.
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using OpenSim.Assets;
|
||||
using OpenSim.Framework.Assets;
|
||||
using OpenSim.Framework.Utilities;
|
||||
using libsecondlife;
|
||||
@@ -13,14 +12,10 @@ namespace OpenSim
|
||||
{
|
||||
private Dictionary<LLUUID, AssetTransaction> transactions = new Dictionary<LLUUID, AssetTransaction>();
|
||||
private SimClient ourClient;
|
||||
private AssetCache m_assetCache;
|
||||
private InventoryCache m_inventoryCache;
|
||||
|
||||
public AgentAssetUpload(SimClient client, AssetCache assetCache, InventoryCache inventoryCache)
|
||||
public AgentAssetUpload(SimClient client)
|
||||
{
|
||||
this.ourClient = client;
|
||||
m_assetCache = assetCache;
|
||||
m_inventoryCache = inventoryCache;
|
||||
}
|
||||
|
||||
public void AddUpload(LLUUID transactionID, AssetBase asset)
|
||||
@@ -153,8 +148,8 @@ namespace OpenSim
|
||||
//check if we should add it to inventory
|
||||
if (trans.AddToInventory)
|
||||
{
|
||||
m_assetCache.AddAsset(trans.Asset);
|
||||
m_inventoryCache.AddNewInventoryItem(this.ourClient, trans.InventFolder, trans.Asset);
|
||||
OpenSimRoot.Instance.AssetCache.AddAsset(trans.Asset);
|
||||
OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this.ourClient, trans.InventFolder, trans.Asset);
|
||||
}
|
||||
|
||||
|
||||
@@ -181,7 +176,7 @@ namespace OpenSim
|
||||
AssetTransaction trans = this.transactions[transactionID];
|
||||
if (trans.UploadComplete)
|
||||
{
|
||||
m_assetCache.AddAsset(trans.Asset);
|
||||
OpenSimRoot.Instance.AssetCache.AddAsset(trans.Asset);
|
||||
asset = trans.Asset;
|
||||
}
|
||||
}
|
||||
@@ -200,8 +195,8 @@ namespace OpenSim
|
||||
if (trans.UploadComplete)
|
||||
{
|
||||
//already complete so we can add it to the inventory
|
||||
m_assetCache.AddAsset(trans.Asset);
|
||||
Console.WriteLine( "ITem created is " +m_inventoryCache.AddNewInventoryItem(this.ourClient, packet.InventoryBlock.FolderID, trans.Asset).ToStringHyphenated());
|
||||
OpenSimRoot.Instance.AssetCache.AddAsset(trans.Asset);
|
||||
Console.WriteLine( "ITem created is " +OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this.ourClient, packet.InventoryBlock.FolderID, trans.Asset).ToStringHyphenated());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -2,7 +2,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using OpenSim.world;
|
||||
|
||||
namespace OpenSim.CAPS
|
||||
{
|
||||
@@ -12,11 +11,9 @@ namespace OpenSim.CAPS
|
||||
private string NewAccountForm;
|
||||
private string LoginForm;
|
||||
private string passWord = "Admin";
|
||||
private World m_world;
|
||||
|
||||
public AdminWebFront(string password, World world)
|
||||
public AdminWebFront(string password)
|
||||
{
|
||||
m_world = world;
|
||||
passWord = password;
|
||||
LoadAdminPage();
|
||||
}
|
||||
@@ -48,11 +45,11 @@ namespace OpenSim.CAPS
|
||||
{
|
||||
responseString = " <p> Listing connected Clients </p>";
|
||||
OpenSim.world.Avatar TempAv;
|
||||
foreach (libsecondlife.LLUUID UUID in m_world.Entities.Keys)
|
||||
foreach (libsecondlife.LLUUID UUID in OpenSimRoot.Instance.LocalWorld.Entities.Keys)
|
||||
{
|
||||
if (m_world.Entities[UUID].ToString() == "OpenSim.world.Avatar")
|
||||
if (OpenSimRoot.Instance.LocalWorld.Entities[UUID].ToString() == "OpenSim.world.Avatar")
|
||||
{
|
||||
TempAv = (OpenSim.world.Avatar)m_world.Entities[UUID];
|
||||
TempAv = (OpenSim.world.Avatar)OpenSimRoot.Instance.LocalWorld.Entities[UUID];
|
||||
responseString += "<p>";
|
||||
responseString += 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());
|
||||
responseString += "</p>";
|
||||
|
||||
@@ -39,27 +39,22 @@ using System.Collections.Generic;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Servers;
|
||||
|
||||
namespace OpenSim.CAPS
|
||||
{
|
||||
// Dummy HTTP server, does nothing useful for now
|
||||
|
||||
public class SimCAPSHTTPServer : BaseHttpServer
|
||||
public class SimCAPSHTTPServer
|
||||
{
|
||||
private Thread m_workerThread;
|
||||
private HttpListener m_httpListener;
|
||||
private Dictionary<string, IRestHandler> m_restHandlers = new Dictionary<string, IRestHandler>();
|
||||
private IGridServer m_gridServer;
|
||||
private int m_port;
|
||||
public Thread HTTPD;
|
||||
public HttpListener Listener;
|
||||
private Dictionary<string, IRestHandler> restHandlers = new Dictionary<string, IRestHandler>();
|
||||
|
||||
public SimCAPSHTTPServer(IGridServer gridServer, int port)
|
||||
public SimCAPSHTTPServer()
|
||||
{
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Starting up HTTP Server");
|
||||
m_workerThread = new Thread(new ThreadStart(StartHTTP));
|
||||
m_workerThread.Start();
|
||||
m_gridServer = gridServer;
|
||||
m_port = port;
|
||||
HTTPD = new Thread(new ThreadStart(StartHTTP));
|
||||
HTTPD.Start();
|
||||
}
|
||||
|
||||
public void StartHTTP()
|
||||
@@ -67,15 +62,15 @@ namespace OpenSim.CAPS
|
||||
try
|
||||
{
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("SimHttp.cs:StartHTTP() - Spawned main thread OK");
|
||||
m_httpListener = new HttpListener();
|
||||
Listener = new HttpListener();
|
||||
|
||||
m_httpListener.Prefixes.Add("http://+:" + m_port + "/");
|
||||
m_httpListener.Start();
|
||||
Listener.Prefixes.Add("http://+:" + OpenSimRoot.Instance.Cfg.IPListenPort + "/");
|
||||
Listener.Start();
|
||||
|
||||
HttpListenerContext context;
|
||||
while (true)
|
||||
{
|
||||
context = m_httpListener.GetContext();
|
||||
context = Listener.GetContext();
|
||||
ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context);
|
||||
}
|
||||
}
|
||||
@@ -87,9 +82,9 @@ namespace OpenSim.CAPS
|
||||
|
||||
public bool AddRestHandler(string path, IRestHandler handler)
|
||||
{
|
||||
if (!this.m_restHandlers.ContainsKey(path))
|
||||
if (!this.restHandlers.ContainsKey(path))
|
||||
{
|
||||
this.m_restHandlers.Add(path, handler);
|
||||
this.restHandlers.Add(path, handler);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -113,12 +108,12 @@ namespace OpenSim.CAPS
|
||||
agent_data.lastname = (string)requestData["lastname"];
|
||||
agent_data.AgentID = new LLUUID((string)requestData["agent_id"]);
|
||||
agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]);
|
||||
if (m_gridServer.GetName() == "Remote")
|
||||
if (OpenSimRoot.Instance.GridServers.GridServer.GetName() == "Remote")
|
||||
{
|
||||
|
||||
((RemoteGridBase)m_gridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data);
|
||||
((RemoteGridBase)OpenSimRoot.Instance.GridServers.GridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data);
|
||||
}
|
||||
return "<?xml version=\"1.0\"?><methodResponse><params /></methodResponse>";
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -140,9 +135,9 @@ namespace OpenSim.CAPS
|
||||
//path[0] should be empty so we are interested in path[1]
|
||||
if (path.Length > 1)
|
||||
{
|
||||
if ((path[1] != "") && (this.m_restHandlers.ContainsKey(path[1])))
|
||||
if ((path[1] != "") && (this.restHandlers.ContainsKey(path[1])))
|
||||
{
|
||||
responseString = this.m_restHandlers[path[1]].HandleREST(requestBody, requestURL, requestMethod);
|
||||
responseString = this.restHandlers[path[1]].HandleREST(requestBody, requestURL, requestMethod);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{72B438C6-38C5-4620-AC4C-E15BA326FF51}</ProjectGuid>
|
||||
<ProjectGuid>{4171D545-81F5-4C64-AD29-6D7414C38181}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon></ApplicationIcon>
|
||||
<ApplicationIcon>
|
||||
</ApplicationIcon>
|
||||
<AssemblyKeyContainerName>
|
||||
</AssemblyKeyContainerName>
|
||||
<AssemblyName>OpenSim.RegionServer</AssemblyName>
|
||||
@@ -15,9 +16,11 @@
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder></AppDesignerFolder>
|
||||
<AppDesignerFolder>
|
||||
</AppDesignerFolder>
|
||||
<RootNamespace>OpenSim.RegionServer</RootNamespace>
|
||||
<StartupObject></StartupObject>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
</PropertyGroup>
|
||||
@@ -28,7 +31,8 @@
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<DocumentationFile></DocumentationFile>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>True</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<Optimize>False</Optimize>
|
||||
@@ -37,7 +41,8 @@
|
||||
<RemoveIntegerChecks>False</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
|
||||
@@ -46,7 +51,8 @@
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DocumentationFile></DocumentationFile>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>False</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<Optimize>True</Optimize>
|
||||
@@ -55,60 +61,58 @@
|
||||
<RemoveIntegerChecks>False</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" >
|
||||
<Reference Include="System">
|
||||
<HintPath>System.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" >
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml">
|
||||
<HintPath>System.Xml.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="libsecondlife.dll" >
|
||||
<Reference Include="libsecondlife.dll">
|
||||
<HintPath>..\bin\libsecondlife.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Axiom.MathLib.dll" >
|
||||
<Reference Include="Axiom.MathLib.dll">
|
||||
<HintPath>..\bin\Axiom.MathLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Db4objects.Db4o.dll" >
|
||||
<Reference Include="Db4objects.Db4o.dll">
|
||||
<HintPath>..\bin\Db4objects.Db4o.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenSim.Framework\OpenSim.Framework.csproj">
|
||||
<Name>OpenSim.Framework</Name>
|
||||
<Project>{E1171263-9131-454C-B0A6-2374D98714A8}</Project>
|
||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj">
|
||||
<Name>OpenSim.Framework.Console</Name>
|
||||
<Project>{C73A2D5E-EF8F-41D1-9A1D-1730694B6822}</Project>
|
||||
<Project>{7AED7536-7D6B-4E28-8016-B5A554C663B4}</Project>
|
||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||
<Private>False</Private>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OpenSim.Physics\Manager\OpenSim.Physics.Manager.csproj">
|
||||
<Name>OpenSim.Physics.Manager</Name>
|
||||
<Project>{EE1CA661-C388-44B7-BBE4-7C59C83B1E09}</Project>
|
||||
<Project>{0AAA0EEB-1F2C-4B4B-9BFA-7C3E45BCD348}</Project>
|
||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||
<Private>False</Private>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Servers\OpenSim.Servers.csproj">
|
||||
<Name>OpenSim.Servers</Name>
|
||||
<Project>{8038EFDC-3245-4EA1-B198-0DA1E724D7A1}</Project>
|
||||
<ProjectReference Include="..\OpenSim.Framework\OpenSim.Framework.csproj">
|
||||
<Name>OpenSim.Framework</Name>
|
||||
<Project>{90D4F7AF-D75E-4DE8-A0E1-70CC242B31A1}</Project>
|
||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||
<Private>False</Private>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AgentAssetUpload.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CAPS\AdminWebFront.cs" />
|
||||
<Compile Include="CAPS\IRestHandler.cs" />
|
||||
<Compile Include="ConsoleCmds.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@@ -142,12 +146,6 @@
|
||||
<Compile Include="Assets\InventoryCache.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CAPS\AdminWebFront.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CAPS\IRestHandler.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CAPS\SimHttp.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@@ -195,4 +193,4 @@
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
@@ -49,10 +49,9 @@
|
||||
<include name="../bin/libsecondlife.dll" />
|
||||
<include name="../bin/Axiom.MathLib.dll" />
|
||||
<include name="../bin/Db4objects.Db4o.dll" />
|
||||
<include name="../bin/OpenSim.Framework.dll" />
|
||||
<include name="../bin/OpenSim.Framework.Console.dll" />
|
||||
<include name="../bin/OpenSim.Physics.Manager.dll" />
|
||||
<include name="../bin/OpenSim.Servers.dll" />
|
||||
<include name="../OpenSim.Framework.Console/${build.dir}/OpenSim.Framework.Console.dll" />
|
||||
<include name="../OpenSim.Physics/Manager/${build.dir}/OpenSim.Physics.Manager.dll" />
|
||||
<include name="../OpenSim.Framework/${build.dir}/OpenSim.Framework.dll" />
|
||||
</references>
|
||||
</csc>
|
||||
<echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../bin/" />
|
||||
|
||||
@@ -91,7 +91,7 @@ namespace OpenSim
|
||||
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Main.cs:Startup() - We are " + OpenSimRoot.Instance.Cfg.RegionName + " at " + OpenSimRoot.Instance.Cfg.RegionLocX.ToString() + "," + OpenSimRoot.Instance.Cfg.RegionLocY.ToString());
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Initialising world");
|
||||
OpenSimRoot.Instance.LocalWorld = new World(OpenSimRoot.Instance.ClientThreads, OpenSimRoot.Instance.Cfg.RegionHandle, OpenSimRoot.Instance.LocalWorld, OpenSimRoot.Instance.Cfg.RegionName, OpenSimRoot.Instance.Cfg);
|
||||
OpenSimRoot.Instance.LocalWorld = new World();
|
||||
OpenSimRoot.Instance.LocalWorld.LandMap = OpenSimRoot.Instance.Cfg.LoadWorld();
|
||||
|
||||
this.physManager = new OpenSim.Physics.Manager.PhysicsManager();
|
||||
@@ -113,8 +113,8 @@ namespace OpenSim
|
||||
}
|
||||
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting CAPS HTTP server");
|
||||
OpenSimRoot.Instance.HttpServer = new SimCAPSHTTPServer(OpenSimRoot.Instance.GridServers.GridServer, OpenSimRoot.Instance.Cfg.IPListenPort);
|
||||
OpenSimRoot.Instance.HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin", OpenSimRoot.Instance.LocalWorld));
|
||||
OpenSimRoot.Instance.HttpServer = new SimCAPSHTTPServer();
|
||||
OpenSimRoot.Instance.HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin"));
|
||||
|
||||
timer1.Enabled = true;
|
||||
timer1.Interval = 100;
|
||||
@@ -172,7 +172,7 @@ namespace OpenSim
|
||||
{ // new client
|
||||
UseCircuitCodePacket useCircuit = (UseCircuitCodePacket)packet;
|
||||
this.clientCircuits.Add(epSender, useCircuit.CircuitCode.Code);
|
||||
SimClient newuser = new SimClient(epSender, useCircuit, OpenSimRoot.Instance.LocalWorld, OpenSimRoot.Instance.ClientThreads, OpenSimRoot.Instance.AssetCache, OpenSimRoot.Instance.GridServers.GridServer, OpenSimRoot.Instance.Application, OpenSimRoot.Instance.InventoryCache, OpenSimRoot.Instance.Sandbox);
|
||||
SimClient newuser = new SimClient(epSender, useCircuit);
|
||||
//OpenSimRoot.Instance.ClientThreads.Add(epSender, newuser);
|
||||
OpenSimRoot.Instance.ClientThreads.Add(useCircuit.CircuitCode.Code, newuser);
|
||||
}
|
||||
|
||||
@@ -71,13 +71,6 @@ namespace OpenSim
|
||||
private AgentAssetUpload UploadAssets;
|
||||
private LLUUID newAssetFolder = LLUUID.Zero;
|
||||
private bool debug = false;
|
||||
private World m_world;
|
||||
private Dictionary<uint, SimClient> m_clientThreads;
|
||||
private AssetCache m_assetCache;
|
||||
private IGridServer m_gridServer;
|
||||
private OpenSimApplication m_application;
|
||||
private InventoryCache m_inventoryCache;
|
||||
private bool m_sandboxMode;
|
||||
|
||||
private void ack_pack(Packet Pack)
|
||||
{
|
||||
@@ -112,15 +105,15 @@ namespace OpenSim
|
||||
switch (Pack.Type)
|
||||
{
|
||||
case PacketType.CompleteAgentMovement:
|
||||
ClientAvatar.CompleteMovement(m_world);
|
||||
ClientAvatar.CompleteMovement(OpenSimRoot.Instance.LocalWorld);
|
||||
ClientAvatar.SendInitialPosition();
|
||||
break;
|
||||
case PacketType.RegionHandshakeReply:
|
||||
m_world.SendLayerData(this);
|
||||
OpenSimRoot.Instance.LocalWorld.SendLayerData(this);
|
||||
break;
|
||||
case PacketType.AgentWearablesRequest:
|
||||
ClientAvatar.SendInitialAppearance();
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
if (client.AgentID != this.AgentID)
|
||||
{
|
||||
@@ -129,7 +122,7 @@ namespace OpenSim
|
||||
client.ClientAvatar.SendAppearanceToOtherAgent(this);
|
||||
}
|
||||
}
|
||||
m_world.GetInitialPrims(this);
|
||||
OpenSimRoot.Instance.LocalWorld.GetInitialPrims(this);
|
||||
break;
|
||||
case PacketType.AgentIsNowWearing:
|
||||
AgentIsNowWearingPacket wear = (AgentIsNowWearingPacket)Pack;
|
||||
@@ -141,7 +134,7 @@ namespace OpenSim
|
||||
this.ClientAvatar.SetAppearance(appear);
|
||||
break;
|
||||
case PacketType.ObjectAdd:
|
||||
m_world.AddNewPrim((ObjectAddPacket)Pack, this);
|
||||
OpenSimRoot.Instance.LocalWorld.AddNewPrim((ObjectAddPacket)Pack, this);
|
||||
break;
|
||||
case PacketType.ObjectLink:
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(Pack.ToString());
|
||||
@@ -153,7 +146,7 @@ namespace OpenSim
|
||||
ObjectShapePacket shape = (ObjectShapePacket)Pack;
|
||||
for (int i = 0; i < shape.ObjectData.Length; i++)
|
||||
{
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == shape.ObjectData[i].ObjectLocalID)
|
||||
{
|
||||
@@ -170,7 +163,7 @@ namespace OpenSim
|
||||
if (multipleupdate.ObjectData[i].Type == 9) //change position
|
||||
{
|
||||
libsecondlife.LLVector3 pos = new LLVector3(multipleupdate.ObjectData[i].Data, 0);
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == multipleupdate.ObjectData[i].ObjectLocalID)
|
||||
{
|
||||
@@ -184,7 +177,7 @@ namespace OpenSim
|
||||
else if (multipleupdate.ObjectData[i].Type == 10)//rotation
|
||||
{
|
||||
libsecondlife.LLQuaternion rot = new LLQuaternion(multipleupdate.ObjectData[i].Data, 0, true);
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == multipleupdate.ObjectData[i].ObjectLocalID)
|
||||
{
|
||||
@@ -197,7 +190,7 @@ namespace OpenSim
|
||||
{
|
||||
|
||||
libsecondlife.LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == multipleupdate.ObjectData[i].ObjectLocalID)
|
||||
{
|
||||
@@ -211,13 +204,13 @@ namespace OpenSim
|
||||
RequestImagePacket imageRequest = (RequestImagePacket)Pack;
|
||||
for (int i = 0; i < imageRequest.RequestImage.Length; i++)
|
||||
{
|
||||
m_assetCache.AddTextureRequest(this, imageRequest.RequestImage[i].Image);
|
||||
OpenSimRoot.Instance.AssetCache.AddTextureRequest(this, imageRequest.RequestImage[i].Image);
|
||||
}
|
||||
break;
|
||||
case PacketType.TransferRequest:
|
||||
//Console.WriteLine("OpenSimClient.cs:ProcessInPacket() - Got transfer request");
|
||||
TransferRequestPacket transfer = (TransferRequestPacket)Pack;
|
||||
m_assetCache.AddAssetRequest(this, transfer);
|
||||
OpenSimRoot.Instance.AssetCache.AddAssetRequest(this, transfer);
|
||||
break;
|
||||
case PacketType.AgentUpdate:
|
||||
ClientAvatar.HandleUpdate((AgentUpdatePacket)Pack);
|
||||
@@ -237,18 +230,18 @@ namespace OpenSim
|
||||
kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1];
|
||||
kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock();
|
||||
kill.ObjectData[0].ID = this.ClientAvatar.localid;
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(kill);
|
||||
}
|
||||
m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode);
|
||||
lock (m_world.Entities)
|
||||
OpenSimRoot.Instance.GridServers.GridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode);
|
||||
lock (OpenSimRoot.Instance.LocalWorld.Entities)
|
||||
{
|
||||
m_world.Entities.Remove(this.AgentID);
|
||||
OpenSimRoot.Instance.LocalWorld.Entities.Remove(this.AgentID);
|
||||
}
|
||||
//need to do other cleaning up here too
|
||||
m_clientThreads.Remove(this.CircuitCode); //this.userEP);
|
||||
m_application.RemoveClientCircuit(this.CircuitCode);
|
||||
OpenSimRoot.Instance.ClientThreads.Remove(this.CircuitCode); //this.userEP);
|
||||
OpenSimRoot.Instance.Application.RemoveClientCircuit(this.CircuitCode);
|
||||
this.ClientThread.Abort();
|
||||
break;
|
||||
case PacketType.ChatFromViewer:
|
||||
@@ -265,7 +258,7 @@ namespace OpenSim
|
||||
reply.ChatData.FromName = _enc.GetBytes(this.ClientAvatar.firstname + " " + this.ClientAvatar.lastname + "\0");
|
||||
reply.ChatData.OwnerID = this.AgentID;
|
||||
reply.ChatData.SourceID = this.AgentID;
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(reply);
|
||||
}
|
||||
@@ -274,7 +267,7 @@ namespace OpenSim
|
||||
ObjectImagePacket imagePack = (ObjectImagePacket)Pack;
|
||||
for (int i = 0; i < imagePack.ObjectData.Length; i++)
|
||||
{
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == imagePack.ObjectData[i].ObjectLocalID)
|
||||
{
|
||||
@@ -285,7 +278,7 @@ namespace OpenSim
|
||||
break;
|
||||
case PacketType.ObjectFlagUpdate:
|
||||
ObjectFlagUpdatePacket flags = (ObjectFlagUpdatePacket)Pack;
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == flags.AgentData.ObjectLocalID)
|
||||
{
|
||||
@@ -313,7 +306,7 @@ namespace OpenSim
|
||||
break;
|
||||
case PacketType.CreateInventoryFolder:
|
||||
CreateInventoryFolderPacket invFolder = (CreateInventoryFolderPacket)Pack;
|
||||
m_inventoryCache.CreateNewInventoryFolder(this, invFolder.FolderData.FolderID, (ushort)invFolder.FolderData.Type);
|
||||
OpenSimRoot.Instance.InventoryCache.CreateNewInventoryFolder(this, invFolder.FolderData.FolderID, (ushort)invFolder.FolderData.Type);
|
||||
Console.WriteLine(Pack.ToString());
|
||||
break;
|
||||
case PacketType.CreateInventoryItem:
|
||||
@@ -327,11 +320,11 @@ namespace OpenSim
|
||||
case PacketType.FetchInventory:
|
||||
//Console.WriteLine("fetch item packet");
|
||||
FetchInventoryPacket FetchInventory = (FetchInventoryPacket)Pack;
|
||||
m_inventoryCache.FetchInventory(this, FetchInventory);
|
||||
OpenSimRoot.Instance.InventoryCache.FetchInventory(this, FetchInventory);
|
||||
break;
|
||||
case PacketType.FetchInventoryDescendents:
|
||||
FetchInventoryDescendentsPacket Fetch = (FetchInventoryDescendentsPacket)Pack;
|
||||
m_inventoryCache.FetchInventoryDescendents(this, Fetch);
|
||||
OpenSimRoot.Instance.InventoryCache.FetchInventoryDescendents(this, Fetch);
|
||||
break;
|
||||
case PacketType.UpdateInventoryItem:
|
||||
UpdateInventoryItemPacket update = (UpdateInventoryItemPacket)Pack;
|
||||
@@ -339,17 +332,17 @@ namespace OpenSim
|
||||
{
|
||||
if (update.InventoryData[i].TransactionID != LLUUID.Zero)
|
||||
{
|
||||
AssetBase asset = m_assetCache.GetAsset(update.InventoryData[i].TransactionID.Combine(this.SecureSessionID));
|
||||
AssetBase asset = OpenSimRoot.Instance.AssetCache.GetAsset(update.InventoryData[i].TransactionID.Combine(this.SecureSessionID));
|
||||
if (asset != null)
|
||||
{
|
||||
m_inventoryCache.UpdateInventoryItem(this, update.InventoryData[i].ItemID, asset);
|
||||
OpenSimRoot.Instance.InventoryCache.UpdateInventoryItem(this, update.InventoryData[i].ItemID, asset);
|
||||
}
|
||||
else
|
||||
{
|
||||
asset = this.UploadAssets.AddUploadToAssetCache(update.InventoryData[i].TransactionID);
|
||||
if (asset != null)
|
||||
{
|
||||
m_inventoryCache.UpdateInventoryItem(this, update.InventoryData[i].ItemID, asset);
|
||||
OpenSimRoot.Instance.InventoryCache.UpdateInventoryItem(this, update.InventoryData[i].ItemID, asset);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -357,7 +350,7 @@ namespace OpenSim
|
||||
break;
|
||||
case PacketType.ViewerEffect:
|
||||
ViewerEffectPacket viewer = (ViewerEffectPacket)Pack;
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
if (client.AgentID != this.AgentID)
|
||||
{
|
||||
@@ -369,7 +362,7 @@ namespace OpenSim
|
||||
break;
|
||||
case PacketType.DeRezObject:
|
||||
//OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Received DeRezObject packet");
|
||||
m_world.DeRezObject((DeRezObjectPacket)Pack, this);
|
||||
OpenSimRoot.Instance.LocalWorld.DeRezObject((DeRezObjectPacket)Pack, this);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -508,11 +501,11 @@ namespace OpenSim
|
||||
if (Pack.Header.Zerocoded)
|
||||
{
|
||||
int packetsize = Helpers.ZeroEncode(sendbuffer, sendbuffer.Length, ZeroOutBuffer);
|
||||
m_application.SendPacketTo(ZeroOutBuffer, packetsize, SocketFlags.None, CircuitCode);//userEP);
|
||||
OpenSimRoot.Instance.Application.SendPacketTo(ZeroOutBuffer, packetsize, SocketFlags.None, CircuitCode);//userEP);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_application.SendPacketTo(sendbuffer, sendbuffer.Length, SocketFlags.None, CircuitCode); //userEP);
|
||||
OpenSimRoot.Instance.Application.SendPacketTo(sendbuffer, sendbuffer.Length, SocketFlags.None, CircuitCode); //userEP);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
@@ -576,22 +569,14 @@ namespace OpenSim
|
||||
this.PacketQueue.Enqueue(item);
|
||||
}
|
||||
|
||||
public SimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, World world, Dictionary<uint, SimClient> clientThreads, AssetCache assetCache, IGridServer gridServer, OpenSimApplication application, InventoryCache inventoryCache, bool sandboxMode)
|
||||
public SimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack)
|
||||
{
|
||||
m_world = world;
|
||||
m_clientThreads = clientThreads;
|
||||
m_assetCache = assetCache;
|
||||
m_gridServer = gridServer;
|
||||
m_application = application;
|
||||
m_inventoryCache = inventoryCache;
|
||||
m_sandboxMode = sandboxMode;
|
||||
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenSimClient.cs - Started up new client thread to handle incoming request");
|
||||
cirpack = initialcirpack;
|
||||
userEP = remoteEP;
|
||||
PacketQueue = new BlockingQueue<QueItem>();
|
||||
|
||||
this.UploadAssets = new AgentAssetUpload(this, m_assetCache, m_inventoryCache );
|
||||
this.UploadAssets = new AgentAssetUpload(this);
|
||||
AckTimer = new System.Timers.Timer(500);
|
||||
AckTimer.Elapsed += new ElapsedEventHandler(AckTimer_Elapsed);
|
||||
AckTimer.Start();
|
||||
@@ -623,16 +608,14 @@ namespace OpenSim
|
||||
protected virtual void InitNewClient()
|
||||
{
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenSimClient.cs:InitNewClient() - Adding viewer agent to world");
|
||||
|
||||
m_world.AddViewerAgent(this);
|
||||
world.Entity tempent = m_world.Entities[this.AgentID];
|
||||
|
||||
OpenSimRoot.Instance.LocalWorld.AddViewerAgent(this);
|
||||
world.Entity tempent = OpenSimRoot.Instance.LocalWorld.Entities[this.AgentID];
|
||||
this.ClientAvatar = (world.Avatar)tempent;
|
||||
}
|
||||
|
||||
protected virtual void AuthUser()
|
||||
{
|
||||
AuthenticateResponse sessionInfo = m_gridServer.AuthenticateSession(cirpack.CircuitCode.SessionID, cirpack.CircuitCode.ID, cirpack.CircuitCode.Code);
|
||||
AuthenticateResponse sessionInfo = OpenSimRoot.Instance.GridServers.GridServer.AuthenticateSession(cirpack.CircuitCode.SessionID, cirpack.CircuitCode.ID, cirpack.CircuitCode.Code);
|
||||
if (!sessionInfo.Authorised)
|
||||
{
|
||||
//session/circuit not authorised
|
||||
@@ -655,23 +638,23 @@ namespace OpenSim
|
||||
}
|
||||
|
||||
// Create Inventory, currently only works for sandbox mode
|
||||
if (m_sandboxMode)
|
||||
if (OpenSimRoot.Instance.Sandbox)
|
||||
{
|
||||
if (sessionInfo.LoginInfo.InventoryFolder != null)
|
||||
{
|
||||
this.CreateInventory(sessionInfo.LoginInfo.InventoryFolder);
|
||||
if (sessionInfo.LoginInfo.BaseFolder != null)
|
||||
{
|
||||
m_inventoryCache.CreateNewInventoryFolder(this, sessionInfo.LoginInfo.BaseFolder);
|
||||
OpenSimRoot.Instance.InventoryCache.CreateNewInventoryFolder(this, sessionInfo.LoginInfo.BaseFolder);
|
||||
this.newAssetFolder = sessionInfo.LoginInfo.BaseFolder;
|
||||
AssetBase[] inventorySet = m_assetCache.CreateNewInventorySet(this.AgentID);
|
||||
AssetBase[] inventorySet = OpenSimRoot.Instance.AssetCache.CreateNewInventorySet(this.AgentID);
|
||||
if (inventorySet != null)
|
||||
{
|
||||
for (int i = 0; i < inventorySet.Length; i++)
|
||||
{
|
||||
if (inventorySet[i] != null)
|
||||
{
|
||||
m_inventoryCache.AddNewInventoryItem(this, sessionInfo.LoginInfo.BaseFolder, inventorySet[i]);
|
||||
OpenSimRoot.Instance.InventoryCache.AddNewInventoryItem(this, sessionInfo.LoginInfo.BaseFolder, inventorySet[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -687,8 +670,8 @@ namespace OpenSim
|
||||
{
|
||||
AgentInventory inventory = new AgentInventory();
|
||||
inventory.AgentID = this.AgentID;
|
||||
m_inventoryCache.AddNewAgentsInventory(inventory);
|
||||
m_inventoryCache.CreateNewInventoryFolder(this, baseFolder);
|
||||
OpenSimRoot.Instance.InventoryCache.AddNewAgentsInventory(inventory);
|
||||
OpenSimRoot.Instance.InventoryCache.CreateNewInventoryFolder(this, baseFolder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,15 +12,11 @@ namespace OpenSim.UserServer
|
||||
{
|
||||
class LocalUserProfileManager : UserProfileManager
|
||||
{
|
||||
private IGridServer m_gridServer;
|
||||
private int m_port;
|
||||
private string m_ipAddr;
|
||||
private IGridServer _gridServer;
|
||||
|
||||
public LocalUserProfileManager(IGridServer gridServer, int simPort, string ipAddr)
|
||||
public LocalUserProfileManager(IGridServer gridServer)
|
||||
{
|
||||
m_gridServer = gridServer;
|
||||
m_port = simPort;
|
||||
m_ipAddr = ipAddr;
|
||||
_gridServer = gridServer;
|
||||
}
|
||||
|
||||
public override void InitUserProfiles()
|
||||
@@ -33,8 +29,8 @@ namespace OpenSim.UserServer
|
||||
uint circode = (uint)response["circuit_code"];
|
||||
theUser.AddSimCircuit(circode, LLUUID.Random());
|
||||
response["home"] = "{'region_handle':[r" + (997 * 256).ToString() + ",r" + (996 * 256).ToString() + "], 'position':[r" + theUser.homepos.X.ToString() + ",r" + theUser.homepos.Y.ToString() + ",r" + theUser.homepos.Z.ToString() + "], 'look_at':[r" + theUser.homelookat.X.ToString() + ",r" + theUser.homelookat.Y.ToString() + ",r" + theUser.homelookat.Z.ToString() + "]}";
|
||||
response["sim_port"] = m_port;
|
||||
response["sim_ip"] = m_ipAddr;
|
||||
response["sim_port"] = OpenSimRoot.Instance.Cfg.IPListenPort;
|
||||
response["sim_ip"] = OpenSimRoot.Instance.Cfg.IPListenAddr;
|
||||
response["region_y"] = (Int32)996 * 256;
|
||||
response["region_x"] = (Int32)997* 256;
|
||||
|
||||
@@ -71,9 +67,9 @@ namespace OpenSim.UserServer
|
||||
_login.InventoryFolder = new LLUUID((string)Inventory1["folder_id"]);
|
||||
|
||||
//working on local computer if so lets add to the gridserver's list of sessions?
|
||||
if (m_gridServer.GetName() == "Local")
|
||||
if (OpenSimRoot.Instance.GridServers.GridServer.GetName() == "Local")
|
||||
{
|
||||
((LocalGridBase)this.m_gridServer).AddNewSession(_login);
|
||||
((LocalGridBase)this._gridServer).AddNewSession(_login);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace OpenSim.UserServer
|
||||
/// </summary>
|
||||
public class LoginServer : LoginService , IUserServer
|
||||
{
|
||||
private IGridServer m_gridServer;
|
||||
private IGridServer _gridServer;
|
||||
private ushort _loginPort = 8080;
|
||||
public IPAddress clientAddress = IPAddress.Loopback;
|
||||
public IPAddress remoteAddress = IPAddress.Any;
|
||||
@@ -63,14 +63,10 @@ namespace OpenSim.UserServer
|
||||
private string _mpasswd;
|
||||
private bool _needPasswd = false;
|
||||
private LocalUserProfileManager userManager;
|
||||
private int m_simPort;
|
||||
private string m_simAddr;
|
||||
|
||||
public LoginServer(IGridServer gridServer, string simAddr, int simPort)
|
||||
public LoginServer(IGridServer gridServer)
|
||||
{
|
||||
m_gridServer = gridServer;
|
||||
m_simPort = simPort;
|
||||
m_simAddr = simAddr;
|
||||
_gridServer = gridServer;
|
||||
}
|
||||
|
||||
// InitializeLogin: initialize the login
|
||||
@@ -93,7 +89,7 @@ namespace OpenSim.UserServer
|
||||
SR.Close();
|
||||
this._mpasswd = EncodePassword("testpass");
|
||||
|
||||
userManager = new LocalUserProfileManager(this.m_gridServer, m_simPort, m_simAddr );
|
||||
userManager = new LocalUserProfileManager(this._gridServer);
|
||||
userManager.InitUserProfiles();
|
||||
userManager.SetKeys("", "", "", "Welcome to OpenSim");
|
||||
|
||||
@@ -293,8 +289,8 @@ namespace OpenSim.UserServer
|
||||
XmlRpcResponse response = (XmlRpcResponse)(new XmlRpcResponseDeserializer()).Deserialize(this._defaultResponse);
|
||||
Hashtable responseData = (Hashtable)response.Value;
|
||||
|
||||
responseData["sim_port"] = m_simPort;
|
||||
responseData["sim_ip"] = m_simAddr;
|
||||
responseData["sim_port"] = OpenSimRoot.Instance.Cfg.IPListenPort;
|
||||
responseData["sim_ip"] = OpenSimRoot.Instance.Cfg.IPListenAddr;
|
||||
responseData["agent_id"] = Agent.ToStringHyphenated();
|
||||
responseData["session_id"] = Session.ToStringHyphenated();
|
||||
responseData["secure_session_id"]= secureSess.ToStringHyphenated();
|
||||
@@ -331,9 +327,9 @@ namespace OpenSim.UserServer
|
||||
_login.InventoryFolder = InventoryFolderID;
|
||||
|
||||
//working on local computer if so lets add to the gridserver's list of sessions?
|
||||
if (m_gridServer.GetName() == "Local")
|
||||
if (OpenSimRoot.Instance.GridServers.GridServer.GetName() == "Local")
|
||||
{
|
||||
((LocalGridBase)m_gridServer).AddNewSession(_login);
|
||||
((LocalGridBase)this._gridServer).AddNewSession(_login);
|
||||
}
|
||||
|
||||
// forward the XML-RPC response to the client
|
||||
|
||||
@@ -30,23 +30,14 @@ namespace OpenSim.world
|
||||
private byte[] visualParams;
|
||||
private AvatarWearable[] Wearables;
|
||||
private LLVector3 positionLastFrame = new LLVector3(0, 0, 0);
|
||||
private World m_world;
|
||||
private ulong m_regionHandle;
|
||||
private Dictionary<uint, SimClient> m_clientThreads;
|
||||
private string m_regionName;
|
||||
|
||||
public Avatar(SimClient TheClient, World world, string regionName, Dictionary<uint, SimClient> clientThreads, ulong regionHandle)
|
||||
public Avatar(SimClient TheClient)
|
||||
{
|
||||
m_world = world;
|
||||
m_clientThreads = clientThreads;
|
||||
m_regionName = regionName;
|
||||
m_regionHandle = regionHandle;
|
||||
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Avatar.cs - Loading details from grid (DUMMY)");
|
||||
ControllingClient = TheClient;
|
||||
localid = 8880000 + (m_world._localNumber++);
|
||||
localid = 8880000 + (OpenSimRoot.Instance.LocalWorld._localNumber++);
|
||||
position = new LLVector3(100.0f, 100.0f, 30.0f);
|
||||
position.Z = m_world.LandMap[(int)position.Y * 256 + (int)position.X] + 1;
|
||||
position.Z = OpenSimRoot.Instance.LocalWorld.LandMap[(int)position.Y * 256 + (int)position.X] + 1;
|
||||
visualParams = new byte[218];
|
||||
for (int i = 0; i < 218; i++)
|
||||
{
|
||||
@@ -61,7 +52,7 @@ namespace OpenSim.world
|
||||
this.Wearables[0].ItemID = LLUUID.Random();
|
||||
|
||||
this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
|
||||
|
||||
|
||||
}
|
||||
|
||||
public PhysicsActor PhysActor
|
||||
@@ -105,11 +96,11 @@ namespace OpenSim.world
|
||||
//use CreateTerseBlock()
|
||||
ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = CreateTerseBlock();
|
||||
ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
|
||||
terse.RegionData.RegionHandle = m_regionHandle; // FIXME
|
||||
terse.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle; // FIXME
|
||||
terse.RegionData.TimeDilation = 64096;
|
||||
terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
|
||||
terse.ObjectData[0] = terseBlock;
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(terse);
|
||||
}
|
||||
@@ -128,11 +119,11 @@ namespace OpenSim.world
|
||||
//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 = m_regionHandle; // FIXME
|
||||
terse.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle; // FIXME
|
||||
terse.RegionData.TimeDilation = 64096;
|
||||
terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
|
||||
terse.ObjectData[0] = terseBlock;
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(terse);
|
||||
}
|
||||
@@ -181,7 +172,7 @@ namespace OpenSim.world
|
||||
AgentMovementCompletePacket mov = new AgentMovementCompletePacket();
|
||||
mov.AgentData.SessionID = this.ControllingClient.SessionID;
|
||||
mov.AgentData.AgentID = this.ControllingClient.AgentID;
|
||||
mov.Data.RegionHandle = m_regionHandle;
|
||||
mov.Data.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle;
|
||||
// TODO - dynamicalise this stuff
|
||||
mov.Data.Timestamp = 1172750370;
|
||||
mov.Data.Position = new LLVector3(100f, 100f, 23f);
|
||||
@@ -196,7 +187,7 @@ namespace OpenSim.world
|
||||
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 = m_regionHandle;
|
||||
objupdate.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle;
|
||||
objupdate.RegionData.TimeDilation = 64096;
|
||||
objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
|
||||
|
||||
@@ -211,9 +202,9 @@ namespace OpenSim.world
|
||||
byte[] pb = pos2.GetBytes();
|
||||
|
||||
Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length);
|
||||
m_world._localNumber++;
|
||||
OpenSimRoot.Instance.LocalWorld._localNumber++;
|
||||
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(objupdate);
|
||||
if (client.AgentID != ControllingClient.AgentID)
|
||||
@@ -250,7 +241,7 @@ namespace OpenSim.world
|
||||
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 = m_regionHandle;
|
||||
objupdate.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle;
|
||||
objupdate.RegionData.TimeDilation = 64096;
|
||||
objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
|
||||
|
||||
@@ -302,7 +293,7 @@ namespace OpenSim.world
|
||||
this.visualParams[i] = appear.VisualParam[i].ParamValue;
|
||||
}
|
||||
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
if (client.AgentID != ControllingClient.AgentID)
|
||||
{
|
||||
@@ -499,7 +490,7 @@ namespace OpenSim.world
|
||||
handshake.RegionInfo.SimAccess = 13;
|
||||
handshake.RegionInfo.WaterHeight = 20;
|
||||
handshake.RegionInfo.RegionFlags = 72458694;
|
||||
handshake.RegionInfo.SimName = _enc.GetBytes(m_regionName + "\0");
|
||||
handshake.RegionInfo.SimName = _enc.GetBytes(OpenSimRoot.Instance.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");
|
||||
|
||||
@@ -22,9 +22,6 @@ namespace OpenSim.world
|
||||
private PhysicsActor _physActor;
|
||||
private bool physicsEnabled = false;
|
||||
private bool physicstest = false; //just added for testing
|
||||
private Dictionary<uint, SimClient> m_clientThreads;
|
||||
private ulong m_regionHandle;
|
||||
private World m_world;
|
||||
|
||||
public bool PhysicsEnabled
|
||||
{
|
||||
@@ -68,14 +65,10 @@ namespace OpenSim.world
|
||||
}
|
||||
}
|
||||
|
||||
public Primitive(Dictionary<uint, SimClient> clientThreads, ulong regionHandle, World world)
|
||||
public Primitive()
|
||||
{
|
||||
mesh_cutbegin = 0.0f;
|
||||
mesh_cutend = 1.0f;
|
||||
|
||||
m_clientThreads = clientThreads;
|
||||
m_regionHandle = regionHandle;
|
||||
m_world = world;
|
||||
}
|
||||
|
||||
public override Mesh getMesh()
|
||||
@@ -106,7 +99,7 @@ namespace OpenSim.world
|
||||
{
|
||||
if (this.newPrimFlag)
|
||||
{
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(OurPacket);
|
||||
}
|
||||
@@ -115,11 +108,11 @@ namespace OpenSim.world
|
||||
else if (this.updateFlag)
|
||||
{
|
||||
ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
|
||||
terse.RegionData.RegionHandle = m_regionHandle; // FIXME
|
||||
terse.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle; // FIXME
|
||||
terse.RegionData.TimeDilation = 64096;
|
||||
terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
|
||||
terse.ObjectData[0] = this.CreateImprovedBlock();
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(terse);
|
||||
}
|
||||
@@ -127,7 +120,7 @@ namespace OpenSim.world
|
||||
}
|
||||
else if (this.dirtyFlag)
|
||||
{
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
UpdateClient(client);
|
||||
}
|
||||
@@ -138,11 +131,11 @@ namespace OpenSim.world
|
||||
if (this._physActor != null && this.physicsEnabled)
|
||||
{
|
||||
ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket();
|
||||
terse.RegionData.RegionHandle = m_regionHandle; // FIXME
|
||||
terse.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle; // FIXME
|
||||
terse.RegionData.TimeDilation = 64096;
|
||||
terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
|
||||
terse.ObjectData[0] = this.CreateImprovedBlock();
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(terse);
|
||||
}
|
||||
@@ -262,7 +255,7 @@ namespace OpenSim.world
|
||||
public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID agentID, uint localID)
|
||||
{
|
||||
ObjectUpdatePacket objupdate = new ObjectUpdatePacket();
|
||||
objupdate.RegionData.RegionHandle = m_regionHandle;
|
||||
objupdate.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle;
|
||||
objupdate.RegionData.TimeDilation = 64096;
|
||||
|
||||
objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
|
||||
@@ -330,7 +323,7 @@ namespace OpenSim.world
|
||||
{
|
||||
//need to clean this up as it shares a lot of code with CreateFromPacket()
|
||||
ObjectUpdatePacket objupdate = new ObjectUpdatePacket();
|
||||
objupdate.RegionData.RegionHandle = m_regionHandle;
|
||||
objupdate.RegionData.RegionHandle = OpenSimRoot.Instance.Cfg.RegionHandle;
|
||||
objupdate.RegionData.TimeDilation = 64096;
|
||||
objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1];
|
||||
|
||||
@@ -487,7 +480,7 @@ namespace OpenSim.world
|
||||
this.primData.LocalID = this.localid;
|
||||
this.primData.Position = this.position;
|
||||
this.primData.Rotation = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w);
|
||||
m_world.localStorage.StorePrim(this.primData);
|
||||
OpenSimRoot.Instance.LocalWorld.localStorage.StorePrim(this.primData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,21 +25,10 @@ namespace OpenSim.world
|
||||
private Random Rand = new Random();
|
||||
private uint _primCount = 702000;
|
||||
private int storageCount;
|
||||
private Dictionary<uint, SimClient> m_clientThreads;
|
||||
private ulong m_regionHandle;
|
||||
private World m_world;
|
||||
private string m_regionName;
|
||||
private SimConfig m_cfg;
|
||||
|
||||
public World(Dictionary<uint, SimClient> clientThreads, ulong regionHandle, World world, string regionName, SimConfig cfg)
|
||||
public World()
|
||||
{
|
||||
m_clientThreads = clientThreads;
|
||||
m_regionHandle = regionHandle;
|
||||
m_world = world;
|
||||
m_regionName = regionName;
|
||||
m_cfg = cfg;
|
||||
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs - creating new entitities instance");
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs - creating new entitities instance");
|
||||
Entities = new Dictionary<libsecondlife.LLUUID, Entity>();
|
||||
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs - creating LandMap");
|
||||
@@ -126,9 +115,9 @@ namespace OpenSim.world
|
||||
HeightmapGenHills hills = new HeightmapGenHills();
|
||||
this.LandMap = hills.GenerateHeightmap(200, 4.0f, 80.0f, false);
|
||||
this.phyScene.SetTerrain(this.LandMap);
|
||||
m_cfg.SaveMap(this.LandMap);
|
||||
OpenSimRoot.Instance.Cfg.SaveMap(this.LandMap);
|
||||
|
||||
foreach(SimClient client in m_clientThreads.Values) {
|
||||
foreach(SimClient client in OpenSimRoot.Instance.ClientThreads.Values) {
|
||||
this.SendLayerData(client);
|
||||
}
|
||||
}
|
||||
@@ -145,7 +134,7 @@ namespace OpenSim.world
|
||||
_primCount = prim.LocalID + 1;
|
||||
}
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs: PrimFromStorage() - Reloading prim (localId "+ prim.LocalID+ " ) from storage");
|
||||
Primitive nPrim = new Primitive(m_clientThreads, m_regionHandle, m_world);
|
||||
Primitive nPrim = new Primitive();
|
||||
nPrim.CreateFromStorage(prim);
|
||||
this.Entities.Add(nPrim.uuid, nPrim);
|
||||
}
|
||||
@@ -186,7 +175,7 @@ namespace OpenSim.world
|
||||
|
||||
public void AddViewerAgent(SimClient AgentClient) {
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Creating new avatar for remote viewer agent");
|
||||
Avatar NewAvatar = new Avatar(AgentClient, m_world, m_regionName, m_clientThreads, m_regionHandle );
|
||||
Avatar NewAvatar = new Avatar(AgentClient);
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world");
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake ");
|
||||
NewAvatar.SendRegionHandshake(this);
|
||||
@@ -198,7 +187,7 @@ namespace OpenSim.world
|
||||
public void AddNewPrim(ObjectAddPacket addPacket, SimClient AgentClient)
|
||||
{
|
||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs: AddNewPrim() - Creating new prim");
|
||||
Primitive prim = new Primitive(m_clientThreads, m_regionHandle, m_world );
|
||||
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.255f, 0.255f, 0.255f);
|
||||
@@ -221,7 +210,7 @@ namespace OpenSim.world
|
||||
foreach( DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData )
|
||||
{
|
||||
//OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString());
|
||||
foreach (Entity ent in m_world.Entities.Values)
|
||||
foreach (Entity ent in OpenSimRoot.Instance.LocalWorld.Entities.Values)
|
||||
{
|
||||
if (ent.localid == Data.ObjectLocalID)
|
||||
{
|
||||
@@ -231,7 +220,7 @@ namespace OpenSim.world
|
||||
kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1];
|
||||
kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock();
|
||||
kill.ObjectData[0].ID = ent.localid;
|
||||
foreach (SimClient client in m_clientThreads.Values)
|
||||
foreach (SimClient client in OpenSimRoot.Instance.ClientThreads.Values)
|
||||
{
|
||||
client.OutPacket(kill);
|
||||
}
|
||||
@@ -245,9 +234,9 @@ namespace OpenSim.world
|
||||
}
|
||||
foreach( libsecondlife.LLUUID uuid in DeRezEnts )
|
||||
{
|
||||
lock (m_world.Entities)
|
||||
lock (OpenSimRoot.Instance.LocalWorld.Entities)
|
||||
{
|
||||
m_world.Entities.Remove(uuid);
|
||||
OpenSimRoot.Instance.LocalWorld.Entities.Remove(uuid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user