diff options
author | gareth | 2007-04-17 01:38:20 +0000 |
---|---|---|
committer | gareth | 2007-04-17 01:38:20 +0000 |
commit | bbcb20e192b61a63e0b0462de794ccbdb54d886b (patch) | |
tree | 37f05557c0f5e04849f4b0ff94752563e967220d /OpenSim.RegionServer/OpenSimMain.cs | |
parent | Started to fix sandbox mode (diff) | |
download | opensim-SC_OLD-bbcb20e192b61a63e0b0462de794ccbdb54d886b.zip opensim-SC_OLD-bbcb20e192b61a63e0b0462de794ccbdb54d886b.tar.gz opensim-SC_OLD-bbcb20e192b61a63e0b0462de794ccbdb54d886b.tar.bz2 opensim-SC_OLD-bbcb20e192b61a63e0b0462de794ccbdb54d886b.tar.xz |
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
Diffstat (limited to '')
-rw-r--r-- | OpenSim.RegionServer/OpenSimMain.cs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs index 2492ee2..038c7e6 100644 --- a/OpenSim.RegionServer/OpenSimMain.cs +++ b/OpenSim.RegionServer/OpenSimMain.cs | |||
@@ -67,7 +67,7 @@ namespace OpenSim | |||
67 | //private Dictionary<uint, SimClient> ClientThreads = new Dictionary<uint, SimClient>(); | 67 | //private Dictionary<uint, SimClient> ClientThreads = new Dictionary<uint, SimClient>(); |
68 | private Dictionary<EndPoint, uint> clientCircuits = new Dictionary<EndPoint, uint>(); | 68 | private Dictionary<EndPoint, uint> clientCircuits = new Dictionary<EndPoint, uint>(); |
69 | private DateTime startuptime; | 69 | private DateTime startuptime; |
70 | private RegionInfo regionData; | 70 | public RegionInfo regionData; |
71 | 71 | ||
72 | public Socket Server; | 72 | public Socket Server; |
73 | private IPEndPoint ServerIncoming; | 73 | private IPEndPoint ServerIncoming; |
@@ -206,12 +206,19 @@ namespace OpenSim | |||
206 | agent_data.firstname = (string)requestData["firstname"]; | 206 | agent_data.firstname = (string)requestData["firstname"]; |
207 | agent_data.lastname = (string)requestData["lastname"]; | 207 | agent_data.lastname = (string)requestData["lastname"]; |
208 | agent_data.AgentID = new LLUUID((string)requestData["agent_id"]); | 208 | agent_data.AgentID = new LLUUID((string)requestData["agent_id"]); |
209 | agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); | 209 | agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); |
210 | if (requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1")) | 210 | if(requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1")) { |
211 | { | 211 | agent_data.child=true; |
212 | agent_data.child = true; | 212 | } else { |
213 | } | 213 | agent_data.startpos = new LLVector3(Convert.ToUInt32(requestData["startpos_x"]),Convert.ToUInt32(requestData["startpos_y"]),Convert.ToUInt32(requestData["startpos_z"])); |
214 | ((RemoteGridBase)gridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data); | 214 | agent_data.child=false; |
215 | } | ||
216 | |||
217 | if(((RemoteGridBase)gridServer).agentcircuits.ContainsKey((uint)agent_data.circuitcode)) { | ||
218 | ((RemoteGridBase)gridServer).agentcircuits[(uint)agent_data.circuitcode]=agent_data; | ||
219 | } else { | ||
220 | ((RemoteGridBase)gridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data); | ||
221 | } | ||
215 | 222 | ||
216 | return new XmlRpcResponse(); | 223 | return new XmlRpcResponse(); |
217 | }); | 224 | }); |
@@ -286,7 +293,7 @@ namespace OpenSim | |||
286 | pluginAssembly = null; | 293 | pluginAssembly = null; |
287 | return config; | 294 | return config; |
288 | } | 295 | } |
289 | 296 | ||
290 | private void OnReceivedData(IAsyncResult result) | 297 | private void OnReceivedData(IAsyncResult result) |
291 | { | 298 | { |
292 | ipeSender = new IPEndPoint(IPAddress.Any, 0); | 299 | ipeSender = new IPEndPoint(IPAddress.Any, 0); |