diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim.RegionServer/SimClient.cs | 32 |
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; |