aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
diff options
context:
space:
mode:
authorMW2007-05-27 18:52:42 +0000
committerMW2007-05-27 18:52:42 +0000
commitc746a2f9f4f0b1e7eea564effdae63472f79ab22 (patch)
tree54d23af3d168958bfec995cf2987cf5af79ac149 /OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
parentGoodbye World (diff)
downloadopensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.zip
opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.tar.gz
opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.tar.bz2
opensim-SC-c746a2f9f4f0b1e7eea564effdae63472f79ab22.tar.xz
Should allow multiple worlds (and UDP servers) to be ran in one instance, just missing backend comms and working Avatar/primitives classes.
Diffstat (limited to '')
-rw-r--r--OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs18
1 files changed, 6 insertions, 12 deletions
diff --git a/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs b/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
index 75fcf18..3c39781 100644
--- a/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
+++ b/OpenSim/OpenSim.RegionServer/ClientView.PacketHandlers.cs
@@ -13,7 +13,6 @@ using OpenSim.Framework.Interfaces;
13using OpenSim.Framework.Types; 13using OpenSim.Framework.Types;
14using OpenSim.Framework.Inventory; 14using OpenSim.Framework.Inventory;
15using OpenSim.Framework.Utilities; 15using OpenSim.Framework.Utilities;
16using OpenSim.world;
17using OpenSim.Assets; 16using OpenSim.Assets;
18 17
19namespace OpenSim 18namespace OpenSim
@@ -42,26 +41,21 @@ namespace OpenSim
42 KillObjectPacket kill = new KillObjectPacket(); 41 KillObjectPacket kill = new KillObjectPacket();
43 kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; 42 kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1];
44 kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); 43 kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock();
45 kill.ObjectData[0].ID = this.ClientAvatar.localid; 44 // kill.ObjectData[0].ID = this.ClientAvatar.localid;
46 foreach (ClientView client in m_clientThreads.Values) 45 foreach (ClientView client in m_clientThreads.Values)
47 { 46 {
48 client.OutPacket(kill); 47 client.OutPacket(kill);
49 } 48 }
50 if (this.m_userServer != null) 49
51 { 50 this.m_inventoryCache.ClientLeaving(this.AgentID, null);
52 this.m_inventoryCache.ClientLeaving(this.AgentID, this.m_userServer); 51
53 }
54 else
55 {
56 this.m_inventoryCache.ClientLeaving(this.AgentID, null);
57 }
58 52
59 m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode); 53 m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode);
60 /*lock (m_world.Entities) 54 /*lock (m_world.Entities)
61 { 55 {
62 m_world.Entities.Remove(this.AgentID); 56 m_world.Entities.Remove(this.AgentID);
63 }*/ 57 }*/
64 m_world.RemoveViewerAgent(this); 58 // m_world.RemoveViewerAgent(this);
65 //need to do other cleaning up here too 59 //need to do other cleaning up here too
66 m_clientThreads.Remove(this.CircuitCode); 60 m_clientThreads.Remove(this.CircuitCode);
67 m_networkServer.RemoveClientCircuit(this.CircuitCode); 61 m_networkServer.RemoveClientCircuit(this.CircuitCode);
@@ -109,7 +103,7 @@ namespace OpenSim
109 else if (multipleupdate.ObjectData[i].Type == 13)//scale 103 else if (multipleupdate.ObjectData[i].Type == 13)//scale
110 { 104 {
111 libsecondlife.LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12); 105 libsecondlife.LLVector3 scale = new LLVector3(multipleupdate.ObjectData[i].Data, 12);
112 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this); 106 OnUpdatePrimScale(multipleupdate.ObjectData[i].ObjectLocalID, scale, this);
113 } 107 }
114 } 108 }
115 return true; 109 return true;