aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.RegionServer/SimClient.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim.RegionServer/SimClient.cs')
-rw-r--r--OpenSim.RegionServer/SimClient.cs32
1 files changed, 19 insertions, 13 deletions
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs
index 6d174c8..c478d92 100644
--- a/OpenSim.RegionServer/SimClient.cs
+++ b/OpenSim.RegionServer/SimClient.cs
@@ -54,6 +54,7 @@ namespace OpenSim
54 public LLUUID AgentID; 54 public LLUUID AgentID;
55 public LLUUID SessionID; 55 public LLUUID SessionID;
56 public LLUUID SecureSessionID = LLUUID.Zero; 56 public LLUUID SecureSessionID = LLUUID.Zero;
57 public bool m_child;
57 public uint CircuitCode; 58 public uint CircuitCode;
58 public world.Avatar ClientAvatar; 59 public world.Avatar ClientAvatar;
59 private UseCircuitCodePacket cirpack; 60 private UseCircuitCodePacket cirpack;
@@ -94,7 +95,7 @@ namespace OpenSim
94 } 95 }
95 } 96 }
96 97
97 public SimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, World world, Dictionary<uint, SimClient> clientThreads, AssetCache assetCache, IGridServer gridServer, OpenSimNetworkHandler application, InventoryCache inventoryCache, bool sandboxMode) 98 public SimClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, World world, Dictionary<uint, SimClient> clientThreads, AssetCache assetCache, IGridServer gridServer, OpenSimNetworkHandler application, InventoryCache inventoryCache, bool sandboxMode, bool child)
98 { 99 {
99 m_world = world; 100 m_world = world;
100 m_clientThreads = clientThreads; 101 m_clientThreads = clientThreads;
@@ -103,6 +104,7 @@ namespace OpenSim
103 m_application = application; 104 m_application = application;
104 m_inventoryCache = inventoryCache; 105 m_inventoryCache = inventoryCache;
105 m_sandboxMode = sandboxMode; 106 m_sandboxMode = sandboxMode;
107 m_child=child;
106 108
107 OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenSimClient.cs - Started up new client thread to handle incoming request"); 109 OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenSimClient.cs - Started up new client thread to handle incoming request");
108 cirpack = initialcirpack; 110 cirpack = initialcirpack;
@@ -228,8 +230,10 @@ namespace OpenSim
228 switch (Pack.Type) 230 switch (Pack.Type)
229 { 231 {
230 case PacketType.CompleteAgentMovement: 232 case PacketType.CompleteAgentMovement:
231 ClientAvatar.CompleteMovement(m_world); 233 if(!m_child) {
232 ClientAvatar.SendInitialPosition(); 234 ClientAvatar.CompleteMovement(m_world);
235 ClientAvatar.SendInitialPosition();
236 }
233 break; 237 break;
234 case PacketType.RegionHandshakeReply: 238 case PacketType.RegionHandshakeReply:
235 m_world.SendLayerData(this); 239 m_world.SendLayerData(this);
@@ -476,16 +480,18 @@ namespace OpenSim
476 } 480 }
477 break; 481 break;
478 case PacketType.AgentAnimation: 482 case PacketType.AgentAnimation:
479 AgentAnimationPacket AgentAni = (AgentAnimationPacket)Pack; 483 if(!m_child) {
480 for (int i = 0; i < AgentAni.AnimationList.Length; i++) 484 AgentAnimationPacket AgentAni = (AgentAnimationPacket)Pack;
481 { 485 for (int i = 0; i < AgentAni.AnimationList.Length; i++)
482 if (AgentAni.AnimationList[i].StartAnim) 486 {
483 { 487 if (AgentAni.AnimationList[i].StartAnim)
484 ClientAvatar.current_anim = AgentAni.AnimationList[i].AnimID; 488 {
485 ClientAvatar.anim_seq = 1; 489 ClientAvatar.current_anim = AgentAni.AnimationList[i].AnimID;
486 ClientAvatar.SendAnimPack(); 490 ClientAvatar.anim_seq = 1;
487 } 491 ClientAvatar.SendAnimPack();
488 } 492 }
493 }
494 }
489 break; 495 break;
490 case PacketType.ObjectSelect: 496 case PacketType.ObjectSelect:
491 ObjectSelectPacket incomingselect = (ObjectSelectPacket)Pack; 497 ObjectSelectPacket incomingselect = (ObjectSelectPacket)Pack;