diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs
index f90e76654b..109d027394 100644
--- a/OpenSim/Framework/Communications/CommunicationsManager.cs
+++ b/OpenSim/Framework/Communications/CommunicationsManager.cs
@@ -31,6 +31,7 @@ using libsecondlife.Packets;
using OpenSim.Framework.Data;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Types;
+using OpenSim.Framework.Servers;
namespace OpenSim.Framework.Communications
{
@@ -42,7 +43,7 @@ namespace OpenSim.Framework.Communications
public IInterRegionCommunications InterRegion;
public NetworkServersInfo ServersInfo;
- public CommunicationsManager(NetworkServersInfo serversInfo)
+ public CommunicationsManager(NetworkServersInfo serversInfo, BaseHttpServer httpServer)
{
ServersInfo = serversInfo;
}
diff --git a/OpenSim/Framework/Data/SimProfileData.cs b/OpenSim/Framework/Data/SimProfileData.cs
index 9db8574f98..b920cabe60 100644
--- a/OpenSim/Framework/Data/SimProfileData.cs
+++ b/OpenSim/Framework/Data/SimProfileData.cs
@@ -80,6 +80,10 @@ namespace OpenSim.Framework.Data
public uint serverPort;
public string serverURI = "";
+ public uint httpPort;
+ public uint remotingPort;
+ public string httpServerURI = "";
+
///
/// Set of optional overrides. Can be used to create non-eulicidean spaces.
///
@@ -143,7 +147,10 @@ namespace OpenSim.Framework.Data
simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
simData.serverIP = (string)responseData["sim_ip"];
simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
+ simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
+ simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
+ simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
simData.UUID = new LLUUID((string)responseData["region_UUID"]);
simData.regionName = (string)responseData["region_name"];
@@ -172,6 +179,9 @@ namespace OpenSim.Framework.Data
simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
simData.serverIP = (string)responseData["sim_ip"];
simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
+ simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
+ simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
+ simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
simData.UUID = new LLUUID((string)responseData["region_UUID"]);
simData.regionName = (string)responseData["region_name"];
diff --git a/OpenSim/Grid/GridServer/GridManager.cs b/OpenSim/Grid/GridServer/GridManager.cs
index 06e83f82bc..6ddb92194a 100644
--- a/OpenSim/Grid/GridServer/GridManager.cs
+++ b/OpenSim/Grid/GridServer/GridManager.cs
@@ -261,12 +261,16 @@ namespace OpenSim.Grid.GridServer
TheSim.serverIP = (string)requestData["sim_ip"];
TheSim.serverPort = Convert.ToUInt32((string)requestData["sim_port"]);
+ TheSim.httpPort = Convert.ToUInt32((string)requestData["http_port"]);
+ TheSim.remotingPort = Convert.ToUInt32((string)requestData["remoting_port"]);
TheSim.regionLocX = Convert.ToUInt32((string)requestData["region_locx"]);
TheSim.regionLocY = Convert.ToUInt32((string)requestData["region_locy"]);
TheSim.regionLocZ = 0;
TheSim.regionHandle = Helpers.UIntsToLong((TheSim.regionLocX * 256), (TheSim.regionLocY * 256));
+ System.Console.WriteLine("adding region " + TheSim.regionLocX + " , " + TheSim.regionLocY + " , " + TheSim.regionHandle);
TheSim.serverURI = "http://" + TheSim.serverIP + ":" + TheSim.serverPort + "/";
+ TheSim.httpServerURI = "http://" + TheSim.serverIP + ":" + TheSim.httpPort + "/";
Console.WriteLine("NEW SIM: " + TheSim.serverURI);
TheSim.regionName = (string)requestData["sim_name"];
@@ -400,6 +404,8 @@ namespace OpenSim.Grid.GridServer
{
responseData["sim_ip"] = simData.serverIP;
responseData["sim_port"] = simData.serverPort.ToString();
+ responseData["http_port"] = simData.httpPort.ToString();
+ responseData["remoting_port"] = simData.remotingPort.ToString();
responseData["region_locx"] = simData.regionLocX.ToString() ;
responseData["region_locy"] = simData.regionLocY.ToString();
responseData["region_UUID"] = simData.UUID.UUID.ToString();
@@ -438,7 +444,7 @@ namespace OpenSim.Grid.GridServer
response.Value = responseData;
IList simProfileList = new ArrayList();
- bool fastMode = true; // MySQL Only
+ bool fastMode = false; // MySQL Only
if (fastMode)
{
@@ -449,6 +455,7 @@ namespace OpenSim.Grid.GridServer
Hashtable simProfileBlock = new Hashtable();
simProfileBlock["x"] = aSim.Value.regionLocX.ToString();
simProfileBlock["y"] = aSim.Value.regionLocY.ToString();
+ System.Console.WriteLine("send neighbour info for " + aSim.Value.regionLocX.ToString() + " , " + aSim.Value.regionLocY.ToString());
simProfileBlock["name"] = aSim.Value.regionName;
simProfileBlock["access"] = 21;
simProfileBlock["region-flags"] = 512;
@@ -470,11 +477,12 @@ namespace OpenSim.Grid.GridServer
else
{
SimProfileData simProfile;
- for (int x = xmin; x < xmax; x++)
+ for (int x = xmin; x < xmax+1; x++)
{
- for (int y = ymin; y < ymax; y++)
+ for (int y = ymin; y < ymax+1; y++)
{
- simProfile = getRegion(Helpers.UIntsToLong((uint)(x * 256), (uint)(y * 256)));
+ ulong regHandle = Helpers.UIntsToLong((uint)(x * 256), (uint)(y * 256));
+ simProfile = getRegion(regHandle);
if (simProfile != null)
{
Hashtable simProfileBlock = new Hashtable();
diff --git a/OpenSim/Grid/UserServer/UserManager.cs b/OpenSim/Grid/UserServer/UserManager.cs
index 7ae78537ad..04bf64a919 100644
--- a/OpenSim/Grid/UserServer/UserManager.cs
+++ b/OpenSim/Grid/UserServer/UserManager.cs
@@ -85,9 +85,10 @@ namespace OpenSim.Grid.UserServer
theUser.currentAgent.currentRegion = SimInfo.UUID;
theUser.currentAgent.currentHandle = SimInfo.regionHandle;
+ System.Console.WriteLine("sending reply");
// Send
XmlRpcRequest GridReq = new XmlRpcRequest("expect_user", SendParams);
- XmlRpcResponse GridResp = GridReq.Send(SimInfo.serverURI, 3000);
+ XmlRpcResponse GridResp = GridReq.Send(SimInfo.httpServerURI, 3000);
}
}
}
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 949c3696a9..728329e4ef 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -93,17 +93,17 @@ namespace OpenSim
ClientView.TerrainManager = new TerrainManager(new SecondLife());
+ this.SetupHttpListener();
+
if (m_sandbox)
{
this.SetupLocalGridServers();
// this.checkServer = new CheckSumServer(12036);
// this.checkServer.ServerListener();
- this.commsManager = new CommunicationsLocal(this.serversData);
}
else
{
this.SetupRemoteGridServers();
- this.commsManager = new CommunicationsOGS1(this.serversData);
}
startuptime = DateTime.Now;
@@ -111,14 +111,10 @@ namespace OpenSim
this.physManager = new PhysicsManager();
this.physManager.LoadPlugins();
- this.SetupHttpListener();
-
this.SetupWorld();
m_log.Verbose("Main.cs:Startup() - Initialising HTTP server");
-
-
if (m_sandbox)
{
httpServer.AddXmlRPCHandler("login_to_simulator", ((CommunicationsLocal)this.commsManager).UserServices.XmlRpcLoginMethod);
@@ -143,6 +139,7 @@ namespace OpenSim
{
AssetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", this.serversData.AssetURL, this.serversData.AssetSendKey);
InventoryCache = new InventoryCache();
+ this.commsManager = new CommunicationsLocal(this.serversData, httpServer);
}
catch (Exception e)
{
@@ -156,8 +153,9 @@ namespace OpenSim
{
try
{
- AssetCache = new AssetCache("OpenSim.Region.GridInterfaces.Remote.dll", this.serversData.AssetURL, this.serversData.AssetSendKey);
+ AssetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", this.serversData.AssetURL, this.serversData.AssetSendKey);
InventoryCache = new InventoryCache();
+ this.commsManager = new CommunicationsOGS1(this.serversData, httpServer);
}
catch (Exception e)
{
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
index 982ae5071b..7d924d0e25 100644
--- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
+++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
@@ -41,7 +41,6 @@ namespace OpenSim.Region.ClientStack
protected override void ProcessInPacket(Packet Pack)
{
ack_pack(Pack);
- debug = true;
if (debug)
{
if (Pack.Type != PacketType.AgentUpdate)
diff --git a/OpenSim/Region/ClientStack/ClientViewBase.cs b/OpenSim/Region/ClientStack/ClientViewBase.cs
index 24c6911df1..ec7b0393ee 100644
--- a/OpenSim/Region/ClientStack/ClientViewBase.cs
+++ b/OpenSim/Region/ClientStack/ClientViewBase.cs
@@ -71,7 +71,8 @@ namespace OpenSim.Region.ClientStack
// Keep track of when this packet was sent out
Pack.TickCount = Environment.TickCount;
- Console.WriteLine("OUT: " + Pack.Type.ToString());
+
+ // Console.WriteLine("OUT: " + Pack.Type.ToString());
if (!Pack.Header.Resent)
{
diff --git a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs
index 5d6ede851d..a0478436cc 100644
--- a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs
+++ b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs
@@ -27,6 +27,7 @@
*/
using OpenSim.Framework.Communications;
using OpenSim.Framework.Types;
+using OpenSim.Framework.Servers;
namespace OpenSim.Region.Communications.Local
{
@@ -35,8 +36,8 @@ namespace OpenSim.Region.Communications.Local
public LocalBackEndServices SandBoxServices = new LocalBackEndServices();
public LocalUserServices UserServices;
- public CommunicationsLocal(NetworkServersInfo serversInfo)
- : base(serversInfo)
+ public CommunicationsLocal(NetworkServersInfo serversInfo, BaseHttpServer httpServer )
+ : base(serversInfo, httpServer)
{
UserServices = new LocalUserServices(this, serversInfo);
UserServices.AddPlugin("OpenSim.Framework.Data.DB4o.dll");
diff --git a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs
index 1118726bf3..cc058450d3 100644
--- a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs
+++ b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs
@@ -1,14 +1,15 @@
using OpenSim.Framework.Communications;
using OpenSim.Framework.Types;
+using OpenSim.Framework.Servers;
namespace OpenSim.Region.Communications.OGS1
{
public class CommunicationsOGS1 : CommunicationsManager
{
- public CommunicationsOGS1(NetworkServersInfo serversInfo) :base(serversInfo)
+ public CommunicationsOGS1(NetworkServersInfo serversInfo, BaseHttpServer httpServer ) :base(serversInfo, httpServer)
{
- OGS1GridServices gridInterComms = new OGS1GridServices(serversInfo);
+ OGS1GridServices gridInterComms = new OGS1GridServices(serversInfo, httpServer);
GridServer = gridInterComms;
InterRegion = gridInterComms;
UserServer = new OGS1UserServices(this);
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index b7d62edb80..50a31c6d61 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -18,40 +18,50 @@ namespace OpenSim.Region.Communications.OGS1
public class OGS1GridServices : IGridServices, IInterRegionCommunications
{
public Dictionary listeners = new Dictionary();
+ protected Dictionary regions = new Dictionary();
+
public BaseHttpServer httpListener;
public NetworkServersInfo serversInfo;
+ public BaseHttpServer httpServer;
- public OGS1GridServices(NetworkServersInfo servers_info)
+ public OGS1GridServices(NetworkServersInfo servers_info, BaseHttpServer httpServe)
{
serversInfo = servers_info;
+ httpServer = httpServe;
+ httpServer.AddXmlRPCHandler("expect_user", this.ExpectUser);
}
public RegionCommsListener RegisterRegion(RegionInfo regionInfo)
{
+ if (!this.regions.ContainsKey((uint)regionInfo.RegionHandle))
+ {
+ this.regions.Add(regionInfo.RegionHandle, regionInfo);
+ }
+
Hashtable GridParams = new Hashtable();
// Login / Authentication
-
- GridParams["authkey"] = serversInfo.GridSendKey;
+
+ GridParams["authkey"] = serversInfo.GridSendKey;
GridParams["UUID"] = regionInfo.SimUUID.ToStringHyphenated();
GridParams["sim_ip"] = regionInfo.ExternalHostName;
GridParams["sim_port"] = regionInfo.InternalEndPoint.Port.ToString();
GridParams["region_locx"] = regionInfo.RegionLocX.ToString();
GridParams["region_locy"] = regionInfo.RegionLocY.ToString();
GridParams["sim_name"] = regionInfo.RegionName;
+ GridParams["http_port"] = serversInfo.HttpListenerPort.ToString();
+ GridParams["remoting_port"] = serversInfo.RemotingListenerPort.ToString();
// Package into an XMLRPC Request
- ArrayList SendParams = new ArrayList();
+ ArrayList SendParams = new ArrayList();
SendParams.Add(GridParams);
-
-
// Send Request
XmlRpcRequest GridReq = new XmlRpcRequest("simulator_login", SendParams);
XmlRpcResponse GridResp = GridReq.Send(serversInfo.GridURL, 3000);
Hashtable GridRespData = (Hashtable)GridResp.Value;
-
+
Hashtable griddatahash = GridRespData;
// Process Response
@@ -60,25 +70,34 @@ namespace OpenSim.Region.Communications.OGS1
string errorstring = (string)GridRespData["error"];
MainLog.Instance.Error("Unable to connect to grid: " + errorstring);
return null;
- }
-
- if (!this.listeners.ContainsKey(regionInfo.RegionHandle))
- {
- MainLog.Instance.Verbose("OGS1 - Registering new HTTP listener on port " + regionInfo.InternalEndPoint.Port.ToString());
- // initialised = true;
- httpListener = new BaseHttpServer( regionInfo.InternalEndPoint.Port );
- httpListener.AddXmlRPCHandler("expect_user", this.ExpectUser);
- httpListener.Start();
}
- // Initialise the background listeners
- listeners[regionInfo.RegionHandle] = new RegionCommsListener();
+ /* if (!this.listeners.ContainsKey(regionInfo.RegionHandle))
+ {
+ MainLog.Instance.Verbose("OGS1 - Registering new HTTP listener on port " + regionInfo.InternalEndPoint.Port.ToString());
+ // initialised = true;
+ httpListener = new BaseHttpServer( regionInfo.InternalEndPoint.Port );
+ httpListener.AddXmlRPCHandler("expect_user", this.ExpectUser);
+ httpListener.Start();
+ }*/
- return listeners[regionInfo.RegionHandle];
+ // Initialise the background listeners
+ RegionCommsListener regListener = new RegionCommsListener();
+ if (this.listeners.ContainsKey(regionInfo.RegionHandle))
+ {
+ this.listeners.Add(regionInfo.RegionHandle, regListener);
+ }
+ else
+ {
+ listeners[regionInfo.RegionHandle] = regListener;
+ }
+
+ return regListener;
}
public List RequestNeighbours(RegionInfo regionInfo)
{
+
Hashtable respData = MapBlockQuery((int)regionInfo.RegionLocX - 1, (int)regionInfo.RegionLocY - 1, (int)regionInfo.RegionLocX + 1, (int)regionInfo.RegionLocY + 1);
List neighbours = new List();
@@ -87,24 +106,28 @@ namespace OpenSim.Region.Communications.OGS1
{
foreach (Hashtable n in a)
{
- string internalIpStr = (string)n["sim_ip"];
- int port = (int)n["sim_port"];
- string externalUri = (string)n["sim_uri"];
+ uint regX = Convert.ToUInt32(n["x"]);
+ uint regY = Convert.ToUInt32(n["y"]);
+ if ((regionInfo.RegionLocX != regX) || (regionInfo.RegionLocY != regY))
+ {
+ string internalIpStr = (string)n["sim_ip"];
+ uint port = Convert.ToUInt32(n["sim_port"]);
+ string externalUri = (string)n["sim_uri"];
- IPEndPoint neighbourInternalEndPoint = new IPEndPoint(IPAddress.Parse(internalIpStr), port);
- string neighbourExternalUri = externalUri;
+ IPEndPoint neighbourInternalEndPoint = new IPEndPoint(IPAddress.Parse(internalIpStr), (int)port);
+ string neighbourExternalUri = externalUri;
+ RegionInfo neighbour = new RegionInfo(regX, regY, neighbourInternalEndPoint, internalIpStr);
- RegionInfo neighbour = new RegionInfo((uint)n["x"], (uint)n["y"], neighbourInternalEndPoint, neighbourExternalUri);
+ //OGS1
+ //neighbour.RegionHandle = (ulong)n["regionhandle"]; is now calculated locally
- //OGS1
- //neighbour.RegionHandle = (ulong)n["regionhandle"]; is now calculated locally
+ neighbour.RegionName = (string)n["name"];
- neighbour.RegionName = (string)n["name"];
+ //OGS1+
+ neighbour.SimUUID = (string)n["uuid"];
- //OGS1+
- neighbour.SimUUID = (string)n["uuid"];
-
- neighbours.Add(neighbour);
+ neighbours.Add(neighbour);
+ }
}
}
@@ -113,6 +136,11 @@ namespace OpenSim.Region.Communications.OGS1
public RegionInfo RequestNeighbourInfo(ulong regionHandle)
{
+ if (this.regions.ContainsKey(regionHandle))
+ {
+ return this.regions[regionHandle];
+ }
+ //TODO not a region in this instance so ask remote grid server
MainLog.Instance.Warn("Unimplemented - RequestNeighbourInfo()");
return null;
}
@@ -209,7 +237,7 @@ namespace OpenSim.Region.Communications.OGS1
TcpChannel ch = new TcpChannel(8895);
ChannelServices.RegisterChannel(ch, true);
- WellKnownServiceTypeEntry wellType = new WellKnownServiceTypeEntry( Type.GetType("OGS1InterRegionRemoting"), "InterRegions", WellKnownObjectMode.Singleton);
+ WellKnownServiceTypeEntry wellType = new WellKnownServiceTypeEntry(Type.GetType("OGS1InterRegionRemoting"), "InterRegions", WellKnownObjectMode.Singleton);
RemotingConfiguration.RegisterWellKnownServiceType(wellType);
InterRegionSingleton.Instance.OnArrival += this.IncomingArrival;
InterRegionSingleton.Instance.OnChildAgent += this.IncomingChildAgent;
@@ -225,6 +253,7 @@ namespace OpenSim.Region.Communications.OGS1
}
//TODO need to see if we know about where this region is and use .net remoting
// to inform it.
+ Console.WriteLine("Inform remote region of child agent not implemented yet");
return false;
}
diff --git a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
index 3a3bccbe6c..2bbaf9df61 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
@@ -47,7 +47,6 @@ namespace OpenSim.Region.Communications.OGS1
}
public UserProfileData GetUserProfile(string name)
{
-
//try
//{
Hashtable param = new Hashtable();
diff --git a/OpenSim/Region/Environment/Scenes/EntityBase.cs b/OpenSim/Region/Environment/Scenes/EntityBase.cs
index 6360ae10a9..65a0395d5e 100644
--- a/OpenSim/Region/Environment/Scenes/EntityBase.cs
+++ b/OpenSim/Region/Environment/Scenes/EntityBase.cs
@@ -57,7 +57,7 @@ namespace OpenSim.Region.Environment.Scenes
protected Quaternion m_rotation = new Quaternion(0,0,1,0);
- public virtual Quaternion rotation
+ public virtual Quaternion Rotation
{
get
{
@@ -86,7 +86,7 @@ namespace OpenSim.Region.Environment.Scenes
m_pos = new LLVector3();
m_velocity = new LLVector3();
- rotation = new Quaternion();
+ Rotation = new Quaternion();
m_name = "(basic entity)";
children = new List();
}
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs
index 05bb1f9dce..d23a5691c8 100644
--- a/OpenSim/Region/Environment/Scenes/Primitive.cs
+++ b/OpenSim/Region/Environment/Scenes/Primitive.cs
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment.Scenes
{
Primitive parentPrim = (Primitive)this.m_Parent;
Axiom.Math.Vector3 offsetPos = new Vector3(this.m_pos.X, this.m_pos.Y, this.m_pos.Z);
- offsetPos = parentPrim.rotation * offsetPos;
+ offsetPos = parentPrim.Rotation * offsetPos;
return parentPrim.WorldPos + new LLVector3(offsetPos.x, offsetPos.y, offsetPos.z);
}
else
@@ -139,7 +139,7 @@ namespace OpenSim.Region.Environment.Scenes
this.m_isRootPrim = isRoot;
this.m_RootParent = rootObject;
this.CreateFromPacket(addPacket, ownerID, localID);
- this.rotation = Axiom.Math.Quaternion.Identity;
+ this.Rotation = Axiom.Math.Quaternion.Identity;
}
///
@@ -169,7 +169,7 @@ namespace OpenSim.Region.Environment.Scenes
dupe.LocalId = newLocalID;
dupe.Scale = new LLVector3(this.Scale.X, this.Scale.Y, this.Scale.Z);
- dupe.rotation = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z);
+ dupe.Rotation = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
dupe.Pos = new LLVector3(this.Pos.X, this.Pos.Y, this.Pos.Z);
return dupe;
@@ -278,10 +278,10 @@ namespace OpenSim.Region.Environment.Scenes
this.m_RootParent.AddChildToList(this);
this.Pos = oldPos;
Axiom.Math.Vector3 axPos = new Axiom.Math.Vector3(this.m_pos.X, m_pos.Y, m_pos.Z);
- axPos = this.m_Parent.rotation.Inverse() * axPos;
+ axPos = this.m_Parent.Rotation.Inverse() * axPos;
this.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z);
- Axiom.Math.Quaternion oldRot = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z);
- this.rotation = this.m_Parent.rotation.Inverse() * this.rotation;
+ Axiom.Math.Quaternion oldRot = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
+ this.Rotation = this.m_Parent.Rotation.Inverse() * this.Rotation;
this.updateFlag = 1;
foreach (Primitive child in children)
@@ -304,7 +304,7 @@ namespace OpenSim.Region.Environment.Scenes
axOldPos = oldParentRotation * axOldPos;
oldPos = new LLVector3(axOldPos.x, axOldPos.y, axOldPos.z);
oldPos += oldParentPosition;
- Axiom.Math.Quaternion oldRot = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z);
+ Axiom.Math.Quaternion oldRot = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
this.m_isRootPrim = false;
this.m_Parent = newParent;
this.ParentID = newParent.LocalId;
@@ -313,10 +313,10 @@ namespace OpenSim.Region.Environment.Scenes
this.m_RootParent.AddChildToList(this);
this.Pos = oldPos;
Axiom.Math.Vector3 axPos = new Axiom.Math.Vector3(this.m_pos.X, m_pos.Y, m_pos.Z);
- axPos = this.m_Parent.rotation.Inverse() * axPos;
+ axPos = this.m_Parent.Rotation.Inverse() * axPos;
this.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z);
- this.rotation = oldParentRotation * this.rotation;
- this.rotation = this.m_Parent.rotation.Inverse()* this.rotation ;
+ this.Rotation = oldParentRotation * this.Rotation;
+ this.Rotation = this.m_Parent.Rotation.Inverse()* this.Rotation ;
this.updateFlag = 1;
foreach (Primitive child in children)
{
@@ -401,7 +401,7 @@ namespace OpenSim.Region.Environment.Scenes
LLVector3 oldPos = new LLVector3(Pos.X, Pos.Y, Pos.Z);
LLVector3 diff = oldPos - newPos;
Axiom.Math.Vector3 axDiff = new Vector3(diff.X, diff.Y, diff.Z);
- axDiff = this.rotation.Inverse() * axDiff;
+ axDiff = this.Rotation.Inverse() * axDiff;
diff.X = axDiff.x;
diff.Y = axDiff.y;
diff.Z = axDiff.z;
@@ -431,7 +431,7 @@ namespace OpenSim.Region.Environment.Scenes
///
public void UpdateGroupRotation(LLQuaternion rot)
{
- this.rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
+ this.Rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
this.updateFlag = 2;
}
@@ -443,7 +443,7 @@ namespace OpenSim.Region.Environment.Scenes
///
public void UpdateGroupMouseRotation(LLVector3 pos, LLQuaternion rot)
{
- this.rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
+ this.Rotation = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
this.Pos = pos;
this.updateFlag = 2;
}
@@ -456,16 +456,16 @@ namespace OpenSim.Region.Environment.Scenes
{
//Console.WriteLine("updating single prim rotation");
Axiom.Math.Quaternion axRot = new Axiom.Math.Quaternion(rot.W, rot.X, rot.Y, rot.Z);
- Axiom.Math.Quaternion oldParentRot = new Quaternion(this.rotation.w, this.rotation.x, this.rotation.y, this.rotation.z);
- this.rotation = axRot;
+ Axiom.Math.Quaternion oldParentRot = new Quaternion(this.Rotation.w, this.Rotation.x, this.Rotation.y, this.Rotation.z);
+ this.Rotation = axRot;
foreach (Primitive prim in this.children)
{
Axiom.Math.Vector3 axPos = new Vector3(prim.m_pos.X, prim.m_pos.Y, prim.m_pos.Z);
axPos = oldParentRot * axPos;
axPos = axRot.Inverse() * axPos;
prim.m_pos = new LLVector3(axPos.x, axPos.y, axPos.z);
- prim.rotation = oldParentRot * prim.rotation ;
- prim.rotation = axRot.Inverse()* prim.rotation;
+ prim.Rotation = oldParentRot * prim.Rotation ;
+ prim.Rotation = axRot.Inverse()* prim.Rotation;
prim.updateFlag = 2;
}
this.updateFlag = 2;
@@ -528,7 +528,7 @@ namespace OpenSim.Region.Environment.Scenes
LLVector3 lPos;
lPos = this.Pos;
LLQuaternion lRot;
- lRot = new LLQuaternion(this.rotation.x, this.rotation.y, this.rotation.z, this.rotation.w);
+ lRot = new LLQuaternion(this.Rotation.x, this.Rotation.y, this.Rotation.z, this.Rotation.w);
remoteClient.SendPrimitiveToClient(this.m_regionHandle, 64096, this.LocalId, this.m_Shape, lPos, lRot, new LLUUID("00000000-0000-0000-9999-000000000005"), this.m_flags, this.uuid, this.OwnerID, this.Text, this.ParentID);
}
@@ -571,7 +571,7 @@ namespace OpenSim.Region.Environment.Scenes
Quaternion lRot;
lPos = this.Pos;
- lRot = this.rotation;
+ lRot = this.Rotation;
LLQuaternion mRot = new LLQuaternion(lRot.x, lRot.y, lRot.z, lRot.w);
RemoteClient.SendPrimTerseUpdate(this.m_regionHandle, 64096, this.LocalId, lPos, mRot);
diff --git a/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs b/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs
index 4933b01bba..91a4162174 100644
--- a/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs
+++ b/OpenSim/Region/Environment/Scenes/PrimitiveOld.cs
@@ -445,7 +445,7 @@ namespace OpenSim.Region.Environment.Scenes
else
{
lPos = this.Pos;
- lRot = this.rotation;
+ lRot = this.Rotation;
}
LLQuaternion mRot = new LLQuaternion(lRot.x, lRot.y, lRot.z, lRot.w);
RemoteClient.SendPrimTerseUpdate(this.m_regionHandle, 64096, this.LocalId, lPos, mRot);
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index e64e147f45..69eaa75318 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -164,7 +164,7 @@ namespace OpenSim.Region.Environment.Scenes
case 1: // Say
if ((dis < 30) && (dis > -30))
{
- Console.WriteLine("sending chat");
+ //Console.WriteLine("sending chat");
client.SendChatMessage(message, type, fromPos, fromName,
fromAgentID);
}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 81c56c4c32..cd81384f59 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -685,15 +685,12 @@ namespace OpenSim.Region.Environment.Scenes
///
public void InformClientOfNeighbours(IClientAPI remoteClient)
{
- // Console.WriteLine("informing client of neighbouring regions");
List neighbours = this.commsManager.GridServer.RequestNeighbours(this.m_regInfo);
- //Console.WriteLine("we have " + neighbours.Count + " neighbouring regions");
if (neighbours != null)
{
for (int i = 0; i < neighbours.Count; i++)
{
- // Console.WriteLine("sending neighbours data");
AgentCircuitData agent = remoteClient.RequestClientInfo();
agent.BaseFolder = LLUUID.Zero;
agent.InventoryFolder = LLUUID.Zero;
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index b0e7710d62..7330bc50ee 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -124,7 +124,7 @@ namespace OpenSim.Region.Environment.Scenes
Wearables = AvatarWearable.DefaultWearables;
Animations = new ScenePresence.AvatarAnimations();
Animations.LoadAnims();
-
+
this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
//register for events
@@ -160,7 +160,7 @@ namespace OpenSim.Region.Environment.Scenes
{
this.Velocity = new LLVector3(0, 0, 0);
this.Pos = new LLVector3(128, 128, 70);
-
+
}
}
@@ -276,25 +276,31 @@ namespace OpenSim.Region.Environment.Scenes
{
this.AddNewMovement(agent_control_v3, q);
}
- UpdateMovementAnimations(update_movementflag);
+ UpdateMovementAnimations(update_movementflag);
}
- protected void UpdateMovementAnimations(bool update_movementflag)
- {
- if (update_movementflag)
- {
- if (movementflag != 0) {
- if (this._physActor.Flying) {
- this.SendAnimPack(Animations.AnimsLLUUID["FLY"], 1);
- } else {
- this.SendAnimPack(Animations.AnimsLLUUID["WALK"], 1);
- }
- } else {
- this.SendAnimPack(Animations.AnimsLLUUID["STAND"], 1);
- }
- }
-
- }
+ protected void UpdateMovementAnimations(bool update_movementflag)
+ {
+ if (update_movementflag)
+ {
+ if (movementflag != 0)
+ {
+ if (this._physActor.Flying)
+ {
+ this.SendAnimPack(Animations.AnimsLLUUID["FLY"], 1);
+ }
+ else
+ {
+ this.SendAnimPack(Animations.AnimsLLUUID["WALK"], 1);
+ }
+ }
+ else
+ {
+ this.SendAnimPack(Animations.AnimsLLUUID["STAND"], 1);
+ }
+ }
+
+ }
protected void AddNewMovement(Vector3 vec, Quaternion rotation)
@@ -423,13 +429,13 @@ namespace OpenSim.Region.Environment.Scenes
///
public void SendAnimPack(LLUUID animID, int seq)
{
- this.current_anim = animID;
- this.anim_seq = anim_seq;
- List avatars = this.m_world.RequestAvatarList();
- for (int i = 0; i < avatars.Count; i++)
- {
- avatars[i].ControllingClient.SendAnimation(animID, seq, this.ControllingClient.AgentId);
- }
+ this.current_anim = animID;
+ this.anim_seq = anim_seq;
+ List avatars = this.m_world.RequestAvatarList();
+ for (int i = 0; i < avatars.Count; i++)
+ {
+ avatars[i].ControllingClient.SendAnimation(animID, seq, this.ControllingClient.AgentId);
+ }
}
///
@@ -437,7 +443,7 @@ namespace OpenSim.Region.Environment.Scenes
///
public void SendAnimPack()
{
- this.SendAnimPack(this.current_anim, this.anim_seq);
+ this.SendAnimPack(this.current_anim, this.anim_seq);
}
#endregion
@@ -506,7 +512,7 @@ namespace OpenSim.Region.Environment.Scenes
if (res)
{
this.MakeChildAgent();
- this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.InternalEndPoint );
+ this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.InternalEndPoint);
}
}
}
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs
index 5cfc7692c7..87e877cc44 100644
--- a/OpenSim/Region/Examples/SimpleApp/Program.cs
+++ b/OpenSim/Region/Examples/SimpleApp/Program.cs
@@ -47,13 +47,13 @@ namespace SimpleApp
udpServer.ServerListener();
ClientView.TerrainManager = new TerrainManager(new SecondLife());
+ BaseHttpServer httpServer = new BaseHttpServer(internalEndPoint.Port);
NetworkServersInfo serverInfo = new NetworkServersInfo();
- CommunicationsLocal communicationsManager = new CommunicationsLocal(serverInfo);
+ CommunicationsLocal communicationsManager = new CommunicationsLocal(serverInfo, httpServer);
RegionInfo regionInfo = new RegionInfo( 1000, 1000, internalEndPoint, "127.0.0.1" );
- BaseHttpServer httpServer = new BaseHttpServer( internalEndPoint.Port );
MyWorld world = new MyWorld(packetServer.ClientManager, regionInfo, m_circuitManager, communicationsManager, assetCache, httpServer);
world.PhysScene = PhysicsScene.Null;
udpServer.LocalWorld = world;
diff --git a/prebuild.xml b/prebuild.xml
index 1dcd58ad21..688437a329 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -512,6 +512,7 @@
+
@@ -567,6 +568,7 @@
+