diff options
author | Adam Frisby | 2009-02-22 12:45:23 +0000 |
---|---|---|
committer | Adam Frisby | 2009-02-22 12:45:23 +0000 |
commit | 648f55ed11eb11161a2c5939c0f4d6d7d61eaabd (patch) | |
tree | 546274ffc172440dea98aa78d60777f5965033c8 /OpenSim/Client/MXP | |
parent | * Fixes an assumption whereby Scene assumes that each client is capable of pr... (diff) | |
download | opensim-SC-648f55ed11eb11161a2c5939c0f4d6d7d61eaabd.zip opensim-SC-648f55ed11eb11161a2c5939c0f4d6d7d61eaabd.tar.gz opensim-SC-648f55ed11eb11161a2c5939c0f4d6d7d61eaabd.tar.bz2 opensim-SC-648f55ed11eb11161a2c5939c0f4d6d7d61eaabd.tar.xz |
* MXP Clients are now treated as full root agents - including being given a default avatar.
* MXP Clients now are capable of displaying primitives and objects within the Scene.
Diffstat (limited to 'OpenSim/Client/MXP')
-rw-r--r-- | OpenSim/Client/MXP/ClientStack/MXPClientView.cs | 16 | ||||
-rw-r--r-- | OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs | 30 |
2 files changed, 44 insertions, 2 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs index ccf3a1b..27bf078 100644 --- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs +++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs | |||
@@ -365,7 +365,7 @@ namespace OpenSim.Client.MXP.ClientStack | |||
365 | 365 | ||
366 | public void Start() | 366 | public void Start() |
367 | { | 367 | { |
368 | // We dont do this | 368 | Scene.AddNewClient(this); |
369 | } | 369 | } |
370 | 370 | ||
371 | public void Stop() | 371 | public void Stop() |
@@ -403,6 +403,18 @@ namespace OpenSim.Client.MXP.ClientStack | |||
403 | 403 | ||
404 | public void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args) | 404 | public void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args) |
405 | { | 405 | { |
406 | m_log.Info("[MXP] Completing Handshake to Region"); | ||
407 | |||
408 | if (OnRegionHandShakeReply != null) | ||
409 | { | ||
410 | OnRegionHandShakeReply(this); | ||
411 | } | ||
412 | |||
413 | if (OnCompleteMovementToRegion != null) | ||
414 | { | ||
415 | OnCompleteMovementToRegion(); | ||
416 | } | ||
417 | |||
406 | // Need to translate to MXP somehow | 418 | // Need to translate to MXP somehow |
407 | } | 419 | } |
408 | 420 | ||
@@ -552,6 +564,8 @@ namespace OpenSim.Client.MXP.ClientStack | |||
552 | 564 | ||
553 | private void MXPSendPrimitive(uint localID, UUID ownerID, Vector3 acc, Vector3 rvel, PrimitiveBaseShape primShape, Vector3 pos, UUID objectID, Vector3 vel, Quaternion rotation) | 565 | private void MXPSendPrimitive(uint localID, UUID ownerID, Vector3 acc, Vector3 rvel, PrimitiveBaseShape primShape, Vector3 pos, UUID objectID, Vector3 vel, Quaternion rotation) |
554 | { | 566 | { |
567 | m_log.Info("[MXP] Transmitting Primitive"); | ||
568 | |||
555 | PerceptionEventMessage pe = new PerceptionEventMessage(); | 569 | PerceptionEventMessage pe = new PerceptionEventMessage(); |
556 | 570 | ||
557 | pe.ObjectFragment.ObjectIndex = localID; | 571 | pe.ObjectFragment.ObjectIndex = localID; |
diff --git a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs index 2634717..1e343c4 100644 --- a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs +++ b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs | |||
@@ -4,11 +4,13 @@ | |||
4 | using System; | 4 | using System; |
5 | using System.Collections.Generic; | 5 | using System.Collections.Generic; |
6 | using System.Reflection; | 6 | using System.Reflection; |
7 | using System.Threading; | ||
7 | using log4net; | 8 | using log4net; |
8 | using MXP; | 9 | using MXP; |
9 | using MXP.Messages; | 10 | using MXP.Messages; |
10 | using OpenMetaverse; | 11 | using OpenMetaverse; |
11 | using OpenSim.Client.MXP.ClientStack; | 12 | using OpenSim.Client.MXP.ClientStack; |
13 | using OpenSim.Framework; | ||
12 | using OpenSim.Region.Framework.Scenes; | 14 | using OpenSim.Region.Framework.Scenes; |
13 | 15 | ||
14 | namespace OpenSim.Client.MXP.PacketHandler | 16 | namespace OpenSim.Client.MXP.PacketHandler |
@@ -24,6 +26,8 @@ namespace OpenSim.Client.MXP.PacketHandler | |||
24 | 26 | ||
25 | private readonly Transmitter transmitter; | 27 | private readonly Transmitter transmitter; |
26 | 28 | ||
29 | private readonly Thread m_clientThread; | ||
30 | |||
27 | private readonly IList<Session> sessions = new List<Session>(); | 31 | private readonly IList<Session> sessions = new List<Session>(); |
28 | private readonly IList<Session> sessionsToClient = new List<Session>(); | 32 | private readonly IList<Session> sessionsToClient = new List<Session>(); |
29 | private readonly IList<MXPClientView> sessionsToRemove = new List<MXPClientView>(); | 33 | private readonly IList<MXPClientView> sessionsToRemove = new List<MXPClientView>(); |
@@ -48,6 +52,16 @@ namespace OpenSim.Client.MXP.PacketHandler | |||
48 | programName = "OpenSimulator"; | 52 | programName = "OpenSimulator"; |
49 | 53 | ||
50 | transmitter = new Transmitter(port); | 54 | transmitter = new Transmitter(port); |
55 | |||
56 | m_clientThread = new Thread(StartListener); | ||
57 | m_clientThread.Name = "MXPThread"; | ||
58 | m_clientThread.IsBackground = true; | ||
59 | m_clientThread.Start(); | ||
60 | ThreadTracker.Add(m_clientThread); | ||
61 | } | ||
62 | |||
63 | public void StartListener() | ||
64 | { | ||
51 | transmitter.Startup(); | 65 | transmitter.Startup(); |
52 | } | 66 | } |
53 | 67 | ||
@@ -255,9 +269,23 @@ namespace OpenSim.Client.MXP.PacketHandler | |||
255 | 269 | ||
256 | MXPClientView client = new MXPClientView(session, mxpSessionID, target, | 270 | MXPClientView client = new MXPClientView(session, mxpSessionID, target, |
257 | joinRequestMessage.ParticipantName); | 271 | joinRequestMessage.ParticipantName); |
272 | m_log.Info("[MXP ClientStack] Created Client"); | ||
258 | Clients.Add(client); | 273 | Clients.Add(client); |
259 | 274 | ||
260 | target.AddNewClient(client); | 275 | m_log.Info("[MXP ClientStack] Adding to Scene"); |
276 | target.ClientManager.Add(client.CircuitCode, client); | ||
277 | |||
278 | m_log.Info("[MXP ClientStack] Initialising..."); | ||
279 | try | ||
280 | { | ||
281 | client.Start(); | ||
282 | } catch( Exception e) | ||
283 | { | ||
284 | m_log.Info(e); | ||
285 | } | ||
286 | |||
287 | m_log.Info("[MXP ClientStack] Connected"); | ||
288 | //target.EventManager.TriggerOnNewClient(client); | ||
261 | } | 289 | } |
262 | else | 290 | else |
263 | { | 291 | { |