From bbcb20e192b61a63e0b0462de794ccbdb54d886b Mon Sep 17 00:00:00 2001 From: gareth Date: Tue, 17 Apr 2007 01:38:20 +0000 Subject: Sim crossing now works (except for broken co-ordinates, resets to 0,0 - to be fixed soon) Fixed sandbox mode fully Scrapped former XML-RPC expect_user call for sim crossings Sim client thread can upgrade/downgrade between full and child agent dynamically --- OpenSim.Framework/AgentCiruitData.cs | 1 + OpenSim.Framework/SimProfile.cs | 4 ++-- OpenSim.Framework/UserProfileManager.cs | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'OpenSim.Framework') diff --git a/OpenSim.Framework/AgentCiruitData.cs b/OpenSim.Framework/AgentCiruitData.cs index 461d962..e1a79b9 100644 --- a/OpenSim.Framework/AgentCiruitData.cs +++ b/OpenSim.Framework/AgentCiruitData.cs @@ -11,6 +11,7 @@ namespace OpenSim.Framework.Interfaces public LLUUID AgentID; public LLUUID SessionID; public LLUUID SecureSessionID; + public LLVector3 startpos; public string firstname; public string lastname; public uint circuitcode; diff --git a/OpenSim.Framework/SimProfile.cs b/OpenSim.Framework/SimProfile.cs index ed34863..ad3e028 100644 --- a/OpenSim.Framework/SimProfile.cs +++ b/OpenSim.Framework/SimProfile.cs @@ -25,7 +25,7 @@ namespace OpenSim.Framework.Sims Hashtable RespData = (Hashtable)GridResp.Value; this.UUID = new LLUUID((string)RespData["UUID"]); - this.regionhandle = Helpers.UIntsToLong((997 * 256), (996 * 256)); + this.regionhandle = Helpers.UIntsToLong(((uint)Convert.ToUInt32(RespData["region_locx"]) * 256), ((uint)Convert.ToUInt32(RespData["region_locy"]) * 256)); this.regionname = (string)RespData["regionname"]; this.sim_ip = (string)RespData["sim_ip"]; this.sim_port = (uint)Convert.ToUInt16(RespData["sim_port"]); @@ -57,7 +57,7 @@ namespace OpenSim.Framework.Sims Hashtable RespData = (Hashtable)GridResp.Value; this.UUID = new LLUUID((string)RespData["UUID"]); - this.regionhandle = Helpers.UIntsToLong((997 * 256), (996 * 256)); + this.regionhandle = Helpers.UIntsToLong(((uint)Convert.ToUInt32(RespData["region_locx"]) * 256), ((uint)Convert.ToUInt32(RespData["region_locy"]) * 256)); this.regionname = (string)RespData["regionname"]; this.sim_ip = (string)RespData["sim_ip"]; this.sim_port = (uint)Convert.ToUInt16(RespData["sim_port"]); diff --git a/OpenSim.Framework/UserProfileManager.cs b/OpenSim.Framework/UserProfileManager.cs index a44342c..33f2abd 100644 --- a/OpenSim.Framework/UserProfileManager.cs +++ b/OpenSim.Framework/UserProfileManager.cs @@ -258,7 +258,10 @@ namespace OpenSim.Framework.User SimParams["firstname"] = theUser.firstname; SimParams["lastname"] = theUser.lastname; SimParams["agent_id"] = theUser.UUID.ToString(); - SimParams["circuit_code"] = (Int32)circode; + SimParams["circuit_code"] = (Int32)circode; + SimParams["startpos_x"] = theUser.homepos.X.ToString(); + SimParams["startpos_y"] = theUser.homepos.Y.ToString(); + SimParams["startpos_z"] = theUser.homepos.Z.ToString(); ArrayList SendParams = new ArrayList(); SendParams.Add(SimParams); -- cgit v1.1