aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorJeff Ames2008-03-18 15:30:38 +0000
committerJeff Ames2008-03-18 15:30:38 +0000
commite5b91442822df211f9f8277aaf0c40e1339810f3 (patch)
tree116ac977981e7bea0b7dd4c8f9cbad87e02c5b65 /OpenSim/Region/Environment
parent* Applying Mantis Patch #518.2 - State not persisted in MySQL DataStore (diff)
downloadopensim-SC_OLD-e5b91442822df211f9f8277aaf0c40e1339810f3.zip
opensim-SC_OLD-e5b91442822df211f9f8277aaf0c40e1339810f3.tar.gz
opensim-SC_OLD-e5b91442822df211f9f8277aaf0c40e1339810f3.tar.bz2
opensim-SC_OLD-e5b91442822df211f9f8277aaf0c40e1339810f3.tar.xz
Formatting cleanup.
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Modules/ChatModule.cs49
-rw-r--r--OpenSim/Region/Environment/Modules/VectorRenderModule.cs73
-rw-r--r--OpenSim/Region/Environment/PermissionManager.cs20
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs130
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs120
5 files changed, 198 insertions, 194 deletions
diff --git a/OpenSim/Region/Environment/Modules/ChatModule.cs b/OpenSim/Region/Environment/Modules/ChatModule.cs
index 6638e95..ab6b791 100644
--- a/OpenSim/Region/Environment/Modules/ChatModule.cs
+++ b/OpenSim/Region/Environment/Modules/ChatModule.cs
@@ -91,7 +91,8 @@ namespace OpenSim.Region.Environment.Modules
91 91
92 // setup IRC Relay 92 // setup IRC Relay
93 if (m_irc == null) { m_irc = new IRCChatModule(config); } 93 if (m_irc == null) { m_irc = new IRCChatModule(config); }
94 if (m_irc_connector == null) { 94 if (m_irc_connector == null)
95 {
95 m_irc_connector = new Thread(IRCConnectRun); 96 m_irc_connector = new Thread(IRCConnectRun);
96 m_irc_connector.Name = "IRCConnectorThread"; 97 m_irc_connector.Name = "IRCConnectorThread";
97 m_irc_connector.IsBackground = true; 98 m_irc_connector.IsBackground = true;
@@ -106,12 +107,14 @@ namespace OpenSim.Region.Environment.Modules
106 try 107 try
107 { 108 {
108 //m_irc.Connect(m_scenes); 109 //m_irc.Connect(m_scenes);
109 if (m_irc_connector == null) { 110 if (m_irc_connector == null)
111 {
110 m_irc_connector = new Thread(IRCConnectRun); 112 m_irc_connector = new Thread(IRCConnectRun);
111 m_irc_connector.Name = "IRCConnectorThread"; 113 m_irc_connector.Name = "IRCConnectorThread";
112 m_irc_connector.IsBackground = true; 114 m_irc_connector.IsBackground = true;
113 } 115 }
114 if (!m_irc_connector.IsAlive) { 116 if (!m_irc_connector.IsAlive)
117 {
115 m_irc_connector.Start(); 118 m_irc_connector.Start();
116 OpenSim.Framework.ThreadTracker.Add(m_irc_connector); 119 OpenSim.Framework.ThreadTracker.Add(m_irc_connector);
117 } 120 }
@@ -255,11 +258,14 @@ namespace OpenSim.Region.Environment.Modules
255 // In a non-blocking way. Eventually the connector will get it started 258 // In a non-blocking way. Eventually the connector will get it started
256 try 259 try
257 { 260 {
258 if (m_irc_connector == null) { m_irc_connector = new Thread(IRCConnectRun); 261 if (m_irc_connector == null)
259 m_irc_connector.Name = "IRCConnectorThread"; 262 {
260 m_irc_connector.IsBackground = true; 263 m_irc_connector = new Thread(IRCConnectRun);
264 m_irc_connector.Name = "IRCConnectorThread";
265 m_irc_connector.IsBackground = true;
261 } 266 }
262 if (!m_irc_connector.IsAlive) { 267 if (!m_irc_connector.IsAlive)
268 {
263 m_irc_connector.Start(); 269 m_irc_connector.Start();
264 OpenSim.Framework.ThreadTracker.Add(m_irc_connector); 270 OpenSim.Framework.ThreadTracker.Add(m_irc_connector);
265 } 271 }
@@ -298,7 +304,6 @@ namespace OpenSim.Region.Environment.Modules
298 if ((m_irc.Enabled)&&(!m_irc.Connected)) 304 if ((m_irc.Enabled)&&(!m_irc.Connected))
299 { 305 {
300 m_irc.Connect(m_scenes); 306 m_irc.Connect(m_scenes);
301
302 } 307 }
303 Thread.Sleep(15000); 308 Thread.Sleep(15000);
304 } 309 }
@@ -625,15 +630,15 @@ namespace OpenSim.Region.Environment.Modules
625 foreach (Scene m_scene in m_scenes) 630 foreach (Scene m_scene in m_scenes)
626 { 631 {
627 m_scene.ForEachScenePresence(delegate(ScenePresence avatar) 632 m_scene.ForEachScenePresence(delegate(ScenePresence avatar)
628 { 633 {
629 if (!avatar.IsChildAgent) 634 if (!avatar.IsChildAgent)
630 { 635 {
631 avatar.ControllingClient.SendChatMessage( 636 avatar.ControllingClient.SendChatMessage(
632 Helpers.StringToField(message), 255, 637 Helpers.StringToField(message), 255,
633 pos, sender, 638 pos, sender,
634 LLUUID.Zero); 639 LLUUID.Zero);
635 } 640 }
636 }); 641 });
637 } 642 }
638 } 643 }
639 catch (Exception ex) // IRC gate should not crash Sim 644 catch (Exception ex) // IRC gate should not crash Sim
@@ -644,15 +649,15 @@ namespace OpenSim.Region.Environment.Modules
644 649
645 public enum ErrorReplies 650 public enum ErrorReplies
646 { 651 {
647 NotRegistered = 451, // ":You have not registered" 652 NotRegistered = 451, // ":You have not registered"
648 NicknameInUse = 433 // "<nick> :Nickname is already in use" 653 NicknameInUse = 433 // "<nick> :Nickname is already in use"
649 } 654 }
650 655
651 public enum Replies 656 public enum Replies
652 { 657 {
653 MotdStart = 375, // ":- <server> Message of the day - " 658 MotdStart = 375, // ":- <server> Message of the day - "
654 Motd = 372, // ":- <text>" 659 Motd = 372, // ":- <text>"
655 EndOfMotd = 376 // ":End of /MOTD command" 660 EndOfMotd = 376 // ":End of /MOTD command"
656 } 661 }
657 662
658 public void ProcessIRCCommand(string command) 663 public void ProcessIRCCommand(string command)
diff --git a/OpenSim/Region/Environment/Modules/VectorRenderModule.cs b/OpenSim/Region/Environment/Modules/VectorRenderModule.cs
index 8bb903f..c0a00c9 100644
--- a/OpenSim/Region/Environment/Modules/VectorRenderModule.cs
+++ b/OpenSim/Region/Environment/Modules/VectorRenderModule.cs
@@ -126,41 +126,43 @@ namespace OpenSim.Region.Environment.Modules
126 126
127 } 127 }
128 128
129 /* private void CairoDraw(string data, System.Drawing.Graphics graph) 129/*
130 { 130 private void CairoDraw(string data, System.Drawing.Graphics graph)
131 using (Win32Surface draw = new Win32Surface(graph.GetHdc())) 131 {
132 { 132 using (Win32Surface draw = new Win32Surface(graph.GetHdc()))
133 Context contex = new Context(draw); 133 {
134 134 Context contex = new Context(draw);
135 contex.Antialias = Antialias.None; //fastest method but low quality 135
136 contex.LineWidth = 7; 136 contex.Antialias = Antialias.None; //fastest method but low quality
137 char[] lineDelimiter = { ';' }; 137 contex.LineWidth = 7;
138 char[] partsDelimiter = { ',' }; 138 char[] lineDelimiter = { ';' };
139 string[] lines = data.Split(lineDelimiter); 139 char[] partsDelimiter = { ',' };
140 140 string[] lines = data.Split(lineDelimiter);
141 foreach (string line in lines) 141
142 { 142 foreach (string line in lines)
143 string nextLine = line.Trim(); 143 {
144 144 string nextLine = line.Trim();
145 if (nextLine.StartsWith("MoveTO")) 145
146 { 146 if (nextLine.StartsWith("MoveTO"))
147 float x = 0; 147 {
148 float y = 0; 148 float x = 0;
149 GetParams(partsDelimiter, ref nextLine, ref x, ref y); 149 float y = 0;
150 contex.MoveTo(x, y); 150 GetParams(partsDelimiter, ref nextLine, ref x, ref y);
151 } 151 contex.MoveTo(x, y);
152 else if (nextLine.StartsWith("LineTo")) 152 }
153 { 153 else if (nextLine.StartsWith("LineTo"))
154 float x = 0; 154 {
155 float y = 0; 155 float x = 0;
156 GetParams(partsDelimiter, ref nextLine, ref x, ref y); 156 float y = 0;
157 contex.LineTo(x, y); 157 GetParams(partsDelimiter, ref nextLine, ref x, ref y);
158 contex.Stroke(); 158 contex.LineTo(x, y);
159 } 159 contex.Stroke();
160 } 160 }
161 } 161 }
162 graph.ReleaseHdc(); 162 }
163 }*/ 163 graph.ReleaseHdc();
164 }
165*/
164 166
165 private void GDIDraw(string data, System.Drawing.Graphics graph) 167 private void GDIDraw(string data, System.Drawing.Graphics graph)
166 { 168 {
@@ -172,7 +174,6 @@ namespace OpenSim.Region.Environment.Modules
172 char[] lineDelimiter = { ';' }; 174 char[] lineDelimiter = { ';' };
173 char[] partsDelimiter = { ',' }; 175 char[] partsDelimiter = { ',' };
174 string[] lines = data.Split(lineDelimiter); 176 string[] lines = data.Split(lineDelimiter);
175
176 177
177 foreach (string line in lines) 178 foreach (string line in lines)
178 { 179 {
diff --git a/OpenSim/Region/Environment/PermissionManager.cs b/OpenSim/Region/Environment/PermissionManager.cs
index 8e2ea15..a23f119 100644
--- a/OpenSim/Region/Environment/PermissionManager.cs
+++ b/OpenSim/Region/Environment/PermissionManager.cs
@@ -201,12 +201,12 @@ namespace OpenSim.Region.Environment
201 201
202 objflags &= (uint) 202 objflags &= (uint)
203 ~(LLObject.ObjectFlags.ObjectCopy | // Tells client you can copy the object 203 ~(LLObject.ObjectFlags.ObjectCopy | // Tells client you can copy the object
204 LLObject.ObjectFlags.ObjectModify | // tells client you can modify the object 204 LLObject.ObjectFlags.ObjectModify | // tells client you can modify the object
205 LLObject.ObjectFlags.ObjectMove | // tells client that you can move the object (only, no mod) 205 LLObject.ObjectFlags.ObjectMove | // tells client that you can move the object (only, no mod)
206 LLObject.ObjectFlags.ObjectTransfer | // tells the client that you can /take/ the object if you don't own it 206 LLObject.ObjectFlags.ObjectTransfer | // tells the client that you can /take/ the object if you don't own it
207 LLObject.ObjectFlags.ObjectYouOwner | // Tells client that you're the owner of the object 207 LLObject.ObjectFlags.ObjectYouOwner | // Tells client that you're the owner of the object
208 LLObject.ObjectFlags.ObjectYouOfficer // Tells client that you've got group object editing permission. Used when ObjectGroupOwned is set 208 LLObject.ObjectFlags.ObjectYouOfficer // Tells client that you've got group object editing permission. Used when ObjectGroupOwned is set
209 ); 209 );
210 210
211 // Creating the three ObjectFlags options for this method to choose from. 211 // Creating the three ObjectFlags options for this method to choose from.
212 // Customize the OwnerMask 212 // Customize the OwnerMask
@@ -495,10 +495,10 @@ namespace OpenSim.Region.Environment
495 return IsAdministrator(user); 495 return IsAdministrator(user);
496 } 496 }
497 497
498 public virtual bool CanRunConsoleCommand(LLUUID user) 498 public virtual bool CanRunConsoleCommand(LLUUID user)
499 { 499 {
500 return IsAdministrator(user); 500 return IsAdministrator(user);
501 } 501 }
502 502
503 public virtual bool CanTerraform(LLUUID user, LLVector3 position) 503 public virtual bool CanTerraform(LLUUID user, LLVector3 position)
504 { 504 {
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 1204020..6984d8f 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -227,6 +227,7 @@ namespace OpenSim.Region.Environment.Scenes
227 get { return m_innerScene.RestorePresences; } 227 get { return m_innerScene.RestorePresences; }
228 set { m_innerScene.RestorePresences = value; } 228 set { m_innerScene.RestorePresences = value; }
229 } 229 }
230
230 #endregion 231 #endregion
231 232
232 #region Constructors 233 #region Constructors
@@ -395,15 +396,15 @@ namespace OpenSim.Region.Environment.Scenes
395 try 396 try
396 { 397 {
397 ForEachScenePresence(delegate(ScenePresence agent) 398 ForEachScenePresence(delegate(ScenePresence agent)
399 {
400 // If agent is a root agent.
401 if (!agent.IsChildAgent)
398 { 402 {
399 // If agent is a root agent. 403 //agent.ControllingClient.new
400 if (!agent.IsChildAgent) 404 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
401 { 405 InformClientOfNeighbor(agent, otherRegion);
402 //agent.ControllingClient.new
403 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
404 InformClientOfNeighbor(agent, otherRegion);
405 }
406 } 406 }
407 }
407 ); 408 );
408 } 409 }
409 catch (NullReferenceException) 410 catch (NullReferenceException)
@@ -463,7 +464,7 @@ namespace OpenSim.Region.Environment.Scenes
463 { 464 {
464 if (m_RestartTimerCounter == 4 || m_RestartTimerCounter == 6 || m_RestartTimerCounter == 7) 465 if (m_RestartTimerCounter == 4 || m_RestartTimerCounter == 6 || m_RestartTimerCounter == 7)
465 SendRegionMessageFromEstateTools(LLUUID.Random(), LLUUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in " + 466 SendRegionMessageFromEstateTools(LLUUID.Random(), LLUUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in " +
466 ((8 - m_RestartTimerCounter) * 15) + " seconds"); 467 ((8 - m_RestartTimerCounter) * 15) + " seconds");
467 468
468 // SendGeneralAlert(RegionInfo.RegionName + ": Restarting in " + ((8 - m_RestartTimerCounter)*15) + 469 // SendGeneralAlert(RegionInfo.RegionName + ": Restarting in " + ((8 - m_RestartTimerCounter)*15) +
469 //" seconds"); 470 //" seconds");
@@ -505,15 +506,15 @@ namespace OpenSim.Region.Environment.Scenes
505 try 506 try
506 { 507 {
507 ForEachScenePresence(delegate(ScenePresence agent) 508 ForEachScenePresence(delegate(ScenePresence agent)
509 {
510 // If agent is a root agent.
511 if (!agent.IsChildAgent)
508 { 512 {
509 // If agent is a root agent. 513 //agent.ControllingClient.new
510 if (!agent.IsChildAgent) 514 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
511 { 515 InformClientOfNeighbor(agent, region);
512 //agent.ControllingClient.new
513 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
514 InformClientOfNeighbor(agent, region);
515 }
516 } 516 }
517 }
517 ); 518 );
518 } 519 }
519 catch (NullReferenceException) 520 catch (NullReferenceException)
@@ -580,16 +581,16 @@ namespace OpenSim.Region.Environment.Scenes
580 m_log.Warn("[SCENE]: Closing down the single simulator: " + RegionInfo.RegionName); 581 m_log.Warn("[SCENE]: Closing down the single simulator: " + RegionInfo.RegionName);
581 // Kick all ROOT agents with the message, 'The simulator is going down' 582 // Kick all ROOT agents with the message, 'The simulator is going down'
582 ForEachScenePresence(delegate(ScenePresence avatar) 583 ForEachScenePresence(delegate(ScenePresence avatar)
583 { 584 {
584 if (avatar.KnownChildRegions.Contains(RegionInfo.RegionHandle)) 585 if (avatar.KnownChildRegions.Contains(RegionInfo.RegionHandle))
585 avatar.KnownChildRegions.Remove(RegionInfo.RegionHandle); 586 avatar.KnownChildRegions.Remove(RegionInfo.RegionHandle);
586 587
587 if (!avatar.IsChildAgent) 588 if (!avatar.IsChildAgent)
588 avatar.ControllingClient.Kick("The simulator is going down."); 589 avatar.ControllingClient.Kick("The simulator is going down.");
589 590
590 avatar.ControllingClient.OutPacket(PacketPool.Instance.GetPacket(libsecondlife.Packets.PacketType.DisableSimulator), 591 avatar.ControllingClient.OutPacket(PacketPool.Instance.GetPacket(libsecondlife.Packets.PacketType.DisableSimulator),
591 ThrottleOutPacketType.Task); 592 ThrottleOutPacketType.Task);
592 }); 593 });
593 594
594 // Wait here, or the kick messages won't actually get to the agents before the scene terminates. 595 // Wait here, or the kick messages won't actually get to the agents before the scene terminates.
595 Thread.Sleep(500); 596 Thread.Sleep(500);
@@ -793,7 +794,7 @@ namespace OpenSim.Region.Environment.Scenes
793 { 794 {
794 tmpval = tmpval - (tmpval - 1.0f); 795 tmpval = tmpval - (tmpval - 1.0f);
795 } 796 }
796 m_timedilation = tmpval; 797 m_timedilation = tmpval;
797 798
798 m_lastupdate = DateTime.Now; 799 m_lastupdate = DateTime.Now;
799 } 800 }
@@ -884,9 +885,9 @@ namespace OpenSim.Region.Environment.Scenes
884 { 885 {
885 List<MapBlockData> mapBlocks = 886 List<MapBlockData> mapBlocks =
886 m_sceneGridService.RequestNeighbourMapBlocks((int)(RegionInfo.RegionLocX - 9), 887 m_sceneGridService.RequestNeighbourMapBlocks((int)(RegionInfo.RegionLocX - 9),
887 (int)(RegionInfo.RegionLocY - 9), 888 (int)(RegionInfo.RegionLocY - 9),
888 (int)(RegionInfo.RegionLocX + 9), 889 (int)(RegionInfo.RegionLocX + 9),
889 (int)(RegionInfo.RegionLocY + 9)); 890 (int)(RegionInfo.RegionLocY + 9));
890 List<AssetBase> textures = new List<AssetBase>(); 891 List<AssetBase> textures = new List<AssetBase>();
891 List<Image> bitImages = new List<Image>(); 892 List<Image> bitImages = new List<Image>();
892 893
@@ -1048,7 +1049,6 @@ namespace OpenSim.Region.Environment.Scenes
1048 m_log.Info("[SCENE]: Loaded " + PrimsFromDB.Count.ToString() + " SceneObject(s)"); 1049 m_log.Info("[SCENE]: Loaded " + PrimsFromDB.Count.ToString() + " SceneObject(s)");
1049 } 1050 }
1050 1051
1051
1052 /// <summary> 1052 /// <summary>
1053 /// Returns a new unallocated primitive ID 1053 /// Returns a new unallocated primitive ID
1054 /// </summary> 1054 /// </summary>
@@ -1134,7 +1134,7 @@ namespace OpenSim.Region.Environment.Scenes
1134 } 1134 }
1135 1135
1136 public SceneObjectGroup AddTree(LLVector3 scale, LLQuaternion rotation, LLVector3 position, 1136 public SceneObjectGroup AddTree(LLVector3 scale, LLQuaternion rotation, LLVector3 position,
1137 Tree treeType, bool newTree) 1137 Tree treeType, bool newTree)
1138 { 1138 {
1139 LLUUID uuid = this.RegionInfo.MasterAvatarAssignedUUID; 1139 LLUUID uuid = this.RegionInfo.MasterAvatarAssignedUUID;
1140 PrimitiveBaseShape treeShape = new PrimitiveBaseShape(); 1140 PrimitiveBaseShape treeShape = new PrimitiveBaseShape();
@@ -1228,7 +1228,7 @@ namespace OpenSim.Region.Environment.Scenes
1228 { 1228 {
1229 pos.Y = ((pos.Y - Constants.RegionSize)); 1229 pos.Y = ((pos.Y - Constants.RegionSize));
1230 newRegionHandle = Util.UIntsToLong((uint)(thisx * Constants.RegionSize), (uint)((thisy + 1) * Constants.RegionSize)); 1230 newRegionHandle = Util.UIntsToLong((uint)(thisx * Constants.RegionSize), (uint)((thisy + 1) * Constants.RegionSize));
1231 // y + 1 1231 // y + 1
1232 } 1232 }
1233 else if (position.Y < -1f) 1233 else if (position.Y < -1f)
1234 { 1234 {
@@ -1269,12 +1269,14 @@ namespace OpenSim.Region.Environment.Scenes
1269 } 1269 }
1270 } 1270 }
1271 } 1271 }
1272
1272 public void IncomingInterRegionPrimGroup(ulong regionHandle, LLUUID primID, string objXMLData) 1273 public void IncomingInterRegionPrimGroup(ulong regionHandle, LLUUID primID, string objXMLData)
1273 { 1274 {
1274 m_log.Warn("{[INTERREGION]: A new prim arrived from a neighbor"); 1275 m_log.Warn("{[INTERREGION]: A new prim arrived from a neighbor");
1275 m_sceneXmlLoader.LoadGroupFromXml2String(objXMLData); 1276 m_sceneXmlLoader.LoadGroupFromXml2String(objXMLData);
1276 1277
1277 } 1278 }
1279
1278 #endregion 1280 #endregion
1279 1281
1280 #region Add/Remove Avatar Methods 1282 #region Add/Remove Avatar Methods
@@ -1301,11 +1303,11 @@ namespace OpenSim.Region.Environment.Scenes
1301 1303
1302 m_innerScene.AddScenePresence(presence); 1304 m_innerScene.AddScenePresence(presence);
1303 1305
1304 lock (m_restorePresences) 1306 lock (m_restorePresences)
1305 { 1307 {
1306 Monitor.PulseAll(m_restorePresences); 1308 Monitor.PulseAll(m_restorePresences);
1307 } 1309 }
1308 } 1310 }
1309 else 1311 else
1310 { 1312 {
1311 m_log.Info("[REGION]: Add New Scene Presence"); 1313 m_log.Info("[REGION]: Add New Scene Presence");
@@ -1382,8 +1384,8 @@ namespace OpenSim.Region.Environment.Scenes
1382 client.OnMoveInventoryItem += MoveInventoryItem; 1384 client.OnMoveInventoryItem += MoveInventoryItem;
1383 client.OnRemoveInventoryItem += RemoveInventoryItem; 1385 client.OnRemoveInventoryItem += RemoveInventoryItem;
1384 client.OnRemoveInventoryFolder += RemoveInventoryFolder; 1386 client.OnRemoveInventoryFolder += RemoveInventoryFolder;
1385 // client.OnAssetUploadRequest += CommsManager.TransactionsManager.HandleUDPUploadRequest; 1387 // client.OnAssetUploadRequest += CommsManager.TransactionsManager.HandleUDPUploadRequest;
1386 // client.OnXferReceive += CommsManager.TransactionsManager.HandleXfer; 1388 // client.OnXferReceive += CommsManager.TransactionsManager.HandleXfer;
1387 client.OnRezScript += RezScript; 1389 client.OnRezScript += RezScript;
1388 1390
1389 client.OnRequestTaskInventory += RequestTaskInventory; 1391 client.OnRequestTaskInventory += RequestTaskInventory;
@@ -1452,8 +1454,8 @@ namespace OpenSim.Region.Environment.Scenes
1452 { 1454 {
1453 m_innerScene.removeUserCount(true); 1455 m_innerScene.removeUserCount(true);
1454 m_sceneGridService.LogOffUser(agentID, RegionInfo.RegionID, RegionInfo.RegionHandle, 1456 m_sceneGridService.LogOffUser(agentID, RegionInfo.RegionID, RegionInfo.RegionHandle,
1455 avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y, 1457 avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y,
1456 avatar.AbsolutePosition.Z); 1458 avatar.AbsolutePosition.Z);
1457 List<ulong> childknownRegions = new List<ulong>(); 1459 List<ulong> childknownRegions = new List<ulong>();
1458 List<ulong> ckn = avatar.GetKnownRegionList(); 1460 List<ulong> ckn = avatar.GetKnownRegionList();
1459 for (int i = 0; i < ckn.Count; i++) 1461 for (int i = 0; i < ckn.Count; i++)
@@ -1477,16 +1479,16 @@ namespace OpenSim.Region.Environment.Scenes
1477 } 1479 }
1478 m_eventManager.TriggerOnRemovePresence(agentID); 1480 m_eventManager.TriggerOnRemovePresence(agentID);
1479 Broadcast(delegate(IClientAPI client) 1481 Broadcast(delegate(IClientAPI client)
1482 {
1483 try
1484 {
1485 client.SendKillObject(avatar.RegionHandle, avatar.LocalId);
1486 }
1487 catch (System.NullReferenceException)
1480 { 1488 {
1481 try 1489 //We can safely ignore null reference exceptions. It means the avatar are dead and cleaned up anyway.
1482 { 1490 }
1483 client.SendKillObject(avatar.RegionHandle, avatar.LocalId); 1491 });
1484 }
1485 catch (System.NullReferenceException)
1486 {
1487 //We can safely ignore null reference exceptions. It means the avatar are dead and cleaned up anyway.
1488 }
1489 });
1490 1492
1491 ForEachScenePresence( 1493 ForEachScenePresence(
1492 delegate(ScenePresence presence) { presence.CoarseLocationChange(); }); 1494 delegate(ScenePresence presence) { presence.CoarseLocationChange(); });
@@ -1903,8 +1905,6 @@ namespace OpenSim.Region.Environment.Scenes
1903 } 1905 }
1904 } 1906 }
1905 1907
1906
1907
1908 #endregion 1908 #endregion
1909 1909
1910 #region Other Methods 1910 #region Other Methods
@@ -2152,10 +2152,10 @@ namespace OpenSim.Region.Environment.Scenes
2152 { 2152 {
2153 2153
2154 ClientManager.ForEachClient(delegate(IClientAPI controller) 2154 ClientManager.ForEachClient(delegate(IClientAPI controller)
2155 { 2155 {
2156 controller.SendBlueBoxMessage(FromAvatarID, fromSessionID, FromAvatarName, Message); 2156 controller.SendBlueBoxMessage(FromAvatarID, fromSessionID, FromAvatarName, Message);
2157 } 2157 }
2158 ); 2158 );
2159 } 2159 }
2160 2160
2161 /// <summary> 2161 /// <summary>
@@ -2180,27 +2180,27 @@ namespace OpenSim.Region.Environment.Scenes
2180 if (agentID == kickUserID) 2180 if (agentID == kickUserID)
2181 { 2181 {
2182 ClientManager.ForEachClient(delegate(IClientAPI controller) 2182 ClientManager.ForEachClient(delegate(IClientAPI controller)
2183 { 2183 {
2184 if (controller.AgentId != godID) 2184 if (controller.AgentId != godID)
2185 controller.Kick(Helpers.FieldToUTF8String(reason)); 2185 controller.Kick(Helpers.FieldToUTF8String(reason));
2186 2186
2187 2187
2188 2188
2189 } 2189 }
2190 ); 2190 );
2191 // This is a bit crude. It seems the client will be null before it actually stops the thread 2191 // This is a bit crude. It seems the client will be null before it actually stops the thread
2192 // The thread will kill itself eventually :/ 2192 // The thread will kill itself eventually :/
2193 // Is there another way to make sure *all* clients get this 'inter region' message? 2193 // Is there another way to make sure *all* clients get this 'inter region' message?
2194 ClientManager.ForEachClient(delegate(IClientAPI controller) 2194 ClientManager.ForEachClient(delegate(IClientAPI controller)
2195 { 2195 {
2196 ScenePresence p = GetScenePresence(controller.AgentId); 2196 ScenePresence p = GetScenePresence(controller.AgentId);
2197 bool childagent = !p.Equals(null) && p.IsChildAgent; 2197 bool childagent = !p.Equals(null) && p.IsChildAgent;
2198 if (controller.AgentId != godID && !childagent) 2198 if (controller.AgentId != godID && !childagent)
2199 // Do we really want to kick the initiator of this madness? 2199 // Do we really want to kick the initiator of this madness?
2200 { 2200 {
2201 controller.Close(true); 2201 controller.Close(true);
2202 }
2203 } 2202 }
2203 }
2204 ); 2204 );
2205 } 2205 }
2206 else 2206 else
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index b00b678..050bf95 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -115,12 +115,11 @@ namespace OpenSim.Region.Environment.Scenes
115 115
116 protected AvatarAppearance m_appearance; 116 protected AvatarAppearance m_appearance;
117 117
118 //neighbouring regions we have enabled a child agent in
118 private readonly List<ulong> m_knownChildRegions = new List<ulong>(); 119 private readonly List<ulong> m_knownChildRegions = new List<ulong>();
119 //neighbouring regions we have enabled a child agent in
120 120
121 private SignificantClientMovement handlerSignificantClientMovement = null; //OnSignificantClientMovement; 121 private SignificantClientMovement handlerSignificantClientMovement = null; //OnSignificantClientMovement;
122 122
123
124 /// <summary> 123 /// <summary>
125 /// Implemented Control Flags 124 /// Implemented Control Flags
126 /// </summary> 125 /// </summary>
@@ -1447,12 +1446,12 @@ namespace OpenSim.Region.Environment.Scenes
1447 m_perfMonMS=System.Environment.TickCount; 1446 m_perfMonMS=System.Environment.TickCount;
1448 1447
1449 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) 1448 m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
1449 {
1450 if (scenePresence.UUID != UUID)
1450 { 1451 {
1451 if (scenePresence.UUID != UUID) 1452 m_appearance.SendAppearanceToOtherAgent(scenePresence);
1452 { 1453 }
1453 m_appearance.SendAppearanceToOtherAgent(scenePresence); 1454 });
1454 }
1455 });
1456 m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS); 1455 m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS);
1457 } 1456 }
1458 1457
@@ -1780,9 +1779,9 @@ namespace OpenSim.Region.Environment.Scenes
1780 } 1779 }
1781 1780
1782 [SecurityPermission(SecurityAction.LinkDemand, 1781 [SecurityPermission(SecurityAction.LinkDemand,
1783 Flags = SecurityPermissionFlag.SerializationFormatter)] 1782 Flags = SecurityPermissionFlag.SerializationFormatter)]
1784 public virtual void GetObjectData( 1783 public virtual void GetObjectData(
1785 SerializationInfo info, StreamingContext context) 1784 SerializationInfo info, StreamingContext context)
1786 { 1785 {
1787 if (info == null) 1786 if (info == null)
1788 { 1787 {
@@ -1792,7 +1791,6 @@ namespace OpenSim.Region.Environment.Scenes
1792 info.AddValue("FullID", FullID.UUID); 1791 info.AddValue("FullID", FullID.UUID);
1793 info.AddValue("LastFullUpdateTime", LastFullUpdateTime); 1792 info.AddValue("LastFullUpdateTime", LastFullUpdateTime);
1794 info.AddValue("LastTerseUpdateTime", LastTerseUpdateTime); 1793 info.AddValue("LastTerseUpdateTime", LastTerseUpdateTime);
1795
1796 } 1794 }
1797 } 1795 }
1798 1796
@@ -1929,9 +1927,9 @@ namespace OpenSim.Region.Environment.Scenes
1929 1927
1930 m_requestedSitOffset 1928 m_requestedSitOffset
1931 = new LLVector3( 1929 = new LLVector3(
1932 (float)info.GetValue("m_requestedSitOffset.X", typeof(float)), 1930 (float)info.GetValue("m_requestedSitOffset.X", typeof(float)),
1933 (float)info.GetValue("m_requestedSitOffset.Y", typeof(float)), 1931 (float)info.GetValue("m_requestedSitOffset.Y", typeof(float)),
1934 (float)info.GetValue("m_requestedSitOffset.Z", typeof(float))); 1932 (float)info.GetValue("m_requestedSitOffset.Z", typeof(float)));
1935 1933
1936 m_sitAvatarHeight = (float)info.GetValue("m_sitAvatarHeight", typeof(float)); 1934 m_sitAvatarHeight = (float)info.GetValue("m_sitAvatarHeight", typeof(float));
1937 m_godlevel = (float)info.GetValue("m_godlevel", typeof(float)); 1935 m_godlevel = (float)info.GetValue("m_godlevel", typeof(float));
@@ -1939,10 +1937,10 @@ namespace OpenSim.Region.Environment.Scenes
1939 1937
1940 m_bodyRot 1938 m_bodyRot
1941 = new Quaternion( 1939 = new Quaternion(
1942 (float)info.GetValue("m_bodyRot.w", typeof(float)), 1940 (float)info.GetValue("m_bodyRot.w", typeof(float)),
1943 (float)info.GetValue("m_bodyRot.x", typeof(float)), 1941 (float)info.GetValue("m_bodyRot.x", typeof(float)),
1944 (float)info.GetValue("m_bodyRot.y", typeof(float)), 1942 (float)info.GetValue("m_bodyRot.y", typeof(float)),
1945 (float)info.GetValue("m_bodyRot.z", typeof(float))); 1943 (float)info.GetValue("m_bodyRot.z", typeof(float)));
1946 1944
1947 IsRestrictedToRegion = (bool)info.GetValue("IsRestrictedToRegion", typeof(bool)); 1945 IsRestrictedToRegion = (bool)info.GetValue("IsRestrictedToRegion", typeof(bool));
1948 m_newForce = (bool)info.GetValue("m_newForce", typeof(bool)); 1946 m_newForce = (bool)info.GetValue("m_newForce", typeof(bool));
@@ -1964,33 +1962,33 @@ namespace OpenSim.Region.Environment.Scenes
1964 1962
1965 lastPhysPos 1963 lastPhysPos
1966 = new LLVector3( 1964 = new LLVector3(
1967 (float)info.GetValue("lastPhysPos.X", typeof(float)), 1965 (float)info.GetValue("lastPhysPos.X", typeof(float)),
1968 (float)info.GetValue("lastPhysPos.Y", typeof(float)), 1966 (float)info.GetValue("lastPhysPos.Y", typeof(float)),
1969 (float)info.GetValue("lastPhysPos.Z", typeof(float))); 1967 (float)info.GetValue("lastPhysPos.Z", typeof(float)));
1970 1968
1971 m_CameraCenter 1969 m_CameraCenter
1972 = new Vector3( 1970 = new Vector3(
1973 (float)info.GetValue("m_CameraCenter.X", typeof(float)), 1971 (float)info.GetValue("m_CameraCenter.X", typeof(float)),
1974 (float)info.GetValue("m_CameraCenter.Y", typeof(float)), 1972 (float)info.GetValue("m_CameraCenter.Y", typeof(float)),
1975 (float)info.GetValue("m_CameraCenter.Z", typeof(float))); 1973 (float)info.GetValue("m_CameraCenter.Z", typeof(float)));
1976 1974
1977 m_CameraAtAxis 1975 m_CameraAtAxis
1978 = new Vector3( 1976 = new Vector3(
1979 (float)info.GetValue("m_CameraAtAxis.X", typeof(float)), 1977 (float)info.GetValue("m_CameraAtAxis.X", typeof(float)),
1980 (float)info.GetValue("m_CameraAtAxis.Y", typeof(float)), 1978 (float)info.GetValue("m_CameraAtAxis.Y", typeof(float)),
1981 (float)info.GetValue("m_CameraAtAxis.Z", typeof(float))); 1979 (float)info.GetValue("m_CameraAtAxis.Z", typeof(float)));
1982 1980
1983 m_CameraLeftAxis 1981 m_CameraLeftAxis
1984 = new Vector3( 1982 = new Vector3(
1985 (float)info.GetValue("m_CameraLeftAxis.X", typeof(float)), 1983 (float)info.GetValue("m_CameraLeftAxis.X", typeof(float)),
1986 (float)info.GetValue("m_CameraLeftAxis.Y", typeof(float)), 1984 (float)info.GetValue("m_CameraLeftAxis.Y", typeof(float)),
1987 (float)info.GetValue("m_CameraLeftAxis.Z", typeof(float))); 1985 (float)info.GetValue("m_CameraLeftAxis.Z", typeof(float)));
1988 1986
1989 m_CameraUpAxis 1987 m_CameraUpAxis
1990 = new Vector3( 1988 = new Vector3(
1991 (float)info.GetValue("m_CameraUpAxis.X", typeof(float)), 1989 (float)info.GetValue("m_CameraUpAxis.X", typeof(float)),
1992 (float)info.GetValue("m_CameraUpAxis.Y", typeof(float)), 1990 (float)info.GetValue("m_CameraUpAxis.Y", typeof(float)),
1993 (float)info.GetValue("m_CameraUpAxis.Z", typeof(float))); 1991 (float)info.GetValue("m_CameraUpAxis.Z", typeof(float)));
1994 1992
1995 m_DrawDistance = (float)info.GetValue("m_DrawDistance", typeof(float)); 1993 m_DrawDistance = (float)info.GetValue("m_DrawDistance", typeof(float));
1996 m_appearance = (AvatarAppearance)info.GetValue("m_appearance", typeof(AvatarAppearance)); 1994 m_appearance = (AvatarAppearance)info.GetValue("m_appearance", typeof(AvatarAppearance));
@@ -1998,9 +1996,9 @@ namespace OpenSim.Region.Environment.Scenes
1998 1996
1999 posLastSignificantMove 1997 posLastSignificantMove
2000 = new LLVector3( 1998 = new LLVector3(
2001 (float)info.GetValue("posLastSignificantMove.X", typeof(float)), 1999 (float)info.GetValue("posLastSignificantMove.X", typeof(float)),
2002 (float)info.GetValue("posLastSignificantMove.Y", typeof(float)), 2000 (float)info.GetValue("posLastSignificantMove.Y", typeof(float)),
2003 (float)info.GetValue("posLastSignificantMove.Z", typeof(float))); 2001 (float)info.GetValue("posLastSignificantMove.Z", typeof(float)));
2004 2002
2005 // m_partsUpdateQueue = (UpdateQueue)info.GetValue("m_partsUpdateQueue", typeof(UpdateQueue)); 2003 // m_partsUpdateQueue = (UpdateQueue)info.GetValue("m_partsUpdateQueue", typeof(UpdateQueue));
2006 2004
@@ -2018,41 +2016,41 @@ namespace OpenSim.Region.Environment.Scenes
2018 m_lastname = (string)info.GetValue("m_lastname", typeof(string)); 2016 m_lastname = (string)info.GetValue("m_lastname", typeof(string));
2019 m_allowMovement = (bool)info.GetValue("m_allowMovement", typeof(bool)); 2017 m_allowMovement = (bool)info.GetValue("m_allowMovement", typeof(bool));
2020 m_parentPosition = new LLVector3((float)info.GetValue("m_parentPosition.X", typeof(float)), 2018 m_parentPosition = new LLVector3((float)info.GetValue("m_parentPosition.X", typeof(float)),
2021 (float)info.GetValue("m_parentPosition.Y", typeof(float)), 2019 (float)info.GetValue("m_parentPosition.Y", typeof(float)),
2022 (float)info.GetValue("m_parentPosition.Z", typeof(float))); 2020 (float)info.GetValue("m_parentPosition.Z", typeof(float)));
2023 2021
2024 m_isChildAgent = (bool)info.GetValue("m_isChildAgent", typeof(bool)); 2022 m_isChildAgent = (bool)info.GetValue("m_isChildAgent", typeof(bool));
2025 m_parentID = (uint)info.GetValue("m_parentID", typeof(uint)); 2023 m_parentID = (uint)info.GetValue("m_parentID", typeof(uint));
2026 2024
2027// for OpenSim_v0.5 2025// for OpenSim_v0.5
2028 currentParcelUUID = new LLUUID((Guid)info.GetValue("currentParcelUUID", typeof(Guid))); 2026 currentParcelUUID = new LLUUID((Guid)info.GetValue("currentParcelUUID", typeof(Guid)));
2029 2027
2030 lastKnownAllowedPosition 2028 lastKnownAllowedPosition
2031 = new Vector3( 2029 = new Vector3(
2032 (float)info.GetValue("lastKnownAllowedPosition.X", typeof(float)), 2030 (float)info.GetValue("lastKnownAllowedPosition.X", typeof(float)),
2033 (float)info.GetValue("lastKnownAllowedPosition.Y", typeof(float)), 2031 (float)info.GetValue("lastKnownAllowedPosition.Y", typeof(float)),
2034 (float)info.GetValue("lastKnownAllowedPosition.Z", typeof(float))); 2032 (float)info.GetValue("lastKnownAllowedPosition.Z", typeof(float)));
2035 2033
2036 sentMessageAboutRestrictedParcelFlyingDown = (bool)info.GetValue("sentMessageAboutRestrictedParcelFlyingDown", typeof(bool)); 2034 sentMessageAboutRestrictedParcelFlyingDown = (bool)info.GetValue("sentMessageAboutRestrictedParcelFlyingDown", typeof(bool));
2037 2035
2038 m_LastChildAgentUpdatePosition 2036 m_LastChildAgentUpdatePosition
2039 = new LLVector3( 2037 = new LLVector3(
2040 (float)info.GetValue("m_LastChildAgentUpdatePosition.X", typeof(float)), 2038 (float)info.GetValue("m_LastChildAgentUpdatePosition.X", typeof(float)),
2041 (float)info.GetValue("m_LastChildAgentUpdatePosition.Y", typeof(float)), 2039 (float)info.GetValue("m_LastChildAgentUpdatePosition.Y", typeof(float)),
2042 (float)info.GetValue("m_LastChildAgentUpdatePosition.Z", typeof(float))); 2040 (float)info.GetValue("m_LastChildAgentUpdatePosition.Z", typeof(float)));
2043 2041
2044 m_perfMonMS = (int)info.GetValue("m_perfMonMS", typeof(int)); 2042 m_perfMonMS = (int)info.GetValue("m_perfMonMS", typeof(int));
2045 m_AgentControlFlags = (uint)info.GetValue("m_AgentControlFlags", typeof(uint)); 2043 m_AgentControlFlags = (uint)info.GetValue("m_AgentControlFlags", typeof(uint));
2046 2044
2047 m_headrotation 2045 m_headrotation
2048 = new LLQuaternion( 2046 = new LLQuaternion(
2049 (float)info.GetValue("m_headrotation.W", typeof(float)), 2047 (float)info.GetValue("m_headrotation.W", typeof(float)),
2050 (float)info.GetValue("m_headrotation.X", typeof(float)), 2048 (float)info.GetValue("m_headrotation.X", typeof(float)),
2051 (float)info.GetValue("m_headrotation.Y", typeof(float)), 2049 (float)info.GetValue("m_headrotation.Y", typeof(float)),
2052 (float)info.GetValue("m_headrotation.Z", typeof(float))); 2050 (float)info.GetValue("m_headrotation.Z", typeof(float)));
2053 2051
2054 m_state = (byte)info.GetValue("m_state", typeof(byte)); 2052 m_state = (byte)info.GetValue("m_state", typeof(byte));
2055 2053
2056 List<Guid> knownPrimUUID_work = (List<Guid>)info.GetValue("m_knownPrimUUID", typeof(List<Guid>)); 2054 List<Guid> knownPrimUUID_work = (List<Guid>)info.GetValue("m_knownPrimUUID", typeof(List<Guid>));
2057 2055
2058 foreach (Guid id in knownPrimUUID_work) 2056 foreach (Guid id in knownPrimUUID_work)
@@ -2064,9 +2062,9 @@ namespace OpenSim.Region.Environment.Scenes
2064 } 2062 }
2065 2063
2066 [SecurityPermission(SecurityAction.LinkDemand, 2064 [SecurityPermission(SecurityAction.LinkDemand,
2067 Flags = SecurityPermissionFlag.SerializationFormatter)] 2065 Flags = SecurityPermissionFlag.SerializationFormatter)]
2068 public override void GetObjectData( 2066 public override void GetObjectData(
2069 SerializationInfo info, StreamingContext context) 2067 SerializationInfo info, StreamingContext context)
2070 { 2068 {
2071 if (info == null) 2069 if (info == null)
2072 { 2070 {
@@ -2196,17 +2194,17 @@ namespace OpenSim.Region.Environment.Scenes
2196 info.AddValue("m_LastChildAgentUpdatePosition.X", m_LastChildAgentUpdatePosition.X); 2194 info.AddValue("m_LastChildAgentUpdatePosition.X", m_LastChildAgentUpdatePosition.X);
2197 info.AddValue("m_LastChildAgentUpdatePosition.Y", m_LastChildAgentUpdatePosition.Y); 2195 info.AddValue("m_LastChildAgentUpdatePosition.Y", m_LastChildAgentUpdatePosition.Y);
2198 info.AddValue("m_LastChildAgentUpdatePosition.Z", m_LastChildAgentUpdatePosition.Z); 2196 info.AddValue("m_LastChildAgentUpdatePosition.Z", m_LastChildAgentUpdatePosition.Z);
2199 2197
2200 info.AddValue("m_perfMonMS", m_perfMonMS); 2198 info.AddValue("m_perfMonMS", m_perfMonMS);
2201 info.AddValue("m_AgentControlFlags", m_AgentControlFlags); 2199 info.AddValue("m_AgentControlFlags", m_AgentControlFlags);
2202 2200
2203 info.AddValue("m_headrotation.W", m_headrotation.W); 2201 info.AddValue("m_headrotation.W", m_headrotation.W);
2204 info.AddValue("m_headrotation.X", m_headrotation.X); 2202 info.AddValue("m_headrotation.X", m_headrotation.X);
2205 info.AddValue("m_headrotation.Y", m_headrotation.Y); 2203 info.AddValue("m_headrotation.Y", m_headrotation.Y);
2206 info.AddValue("m_headrotation.Z", m_headrotation.Z); 2204 info.AddValue("m_headrotation.Z", m_headrotation.Z);
2207 2205
2208 info.AddValue("m_state", m_state); 2206 info.AddValue("m_state", m_state);
2209 2207
2210 List<Guid> knownPrimUUID_work = new List<Guid>(); 2208 List<Guid> knownPrimUUID_work = new List<Guid>();
2211 2209
2212 foreach (LLUUID id in m_knownPrimUUID) 2210 foreach (LLUUID id in m_knownPrimUUID)
@@ -2215,6 +2213,6 @@ namespace OpenSim.Region.Environment.Scenes
2215 } 2213 }
2216 2214
2217 info.AddValue("m_knownPrimUUID", knownPrimUUID_work); 2215 info.AddValue("m_knownPrimUUID", knownPrimUUID_work);
2218 } 2216 }
2219 } 2217 }
2220} 2218}