aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-14 00:04:37 +0000
committerMelanie Thielker2008-08-14 00:04:37 +0000
commite3157e61aa50d057b4345cb9d49c973afeb26b15 (patch)
tree8452565ff0d7e6c3d07541743e0e5f665bc7d03c /OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
parent* minor: make it clear on the console when a client is being logged out becau... (diff)
downloadopensim-SC_OLD-e3157e61aa50d057b4345cb9d49c973afeb26b15.zip
opensim-SC_OLD-e3157e61aa50d057b4345cb9d49c973afeb26b15.tar.gz
opensim-SC_OLD-e3157e61aa50d057b4345cb9d49c973afeb26b15.tar.bz2
opensim-SC_OLD-e3157e61aa50d057b4345cb9d49c973afeb26b15.tar.xz
Mantis #1946
Thank you, HomerHorwitz, for a patch that corrects and improves TP to landmark and home position handling.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs23
1 files changed, 17 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
index 348b643..008d67a 100644
--- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
@@ -532,6 +532,17 @@ namespace OpenSim.Region.Environment.Scenes
532 } 532 }
533 533
534 /// <summary> 534 /// <summary>
535 /// Helper function to request neighbors from grid-comms
536 /// </summary>
537 /// <param name="regionID"></param>
538 /// <returns></returns>
539 public virtual RegionInfo RequestNeighbouringRegionInfo(LLUUID regionID)
540 {
541 //m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending Grid Services Request about neighbor " + regionID);
542 return m_commsProvider.GridService.RequestNeighbourInfo(regionID);
543 }
544
545 /// <summary>
535 /// Requests map blocks in area of minX, maxX, minY, MaxY in world cordinates 546 /// Requests map blocks in area of minX, maxX, minY, MaxY in world cordinates
536 /// </summary> 547 /// </summary>
537 /// <param name="minX"></param> 548 /// <param name="minX"></param>
@@ -597,8 +608,8 @@ namespace OpenSim.Region.Environment.Scenes
597 // once we reach here... 608 // once we reach here...
598 avatar.Scene.RemoveCapsHandler(avatar.UUID); 609 avatar.Scene.RemoveCapsHandler(avatar.UUID);
599 610
600 m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent); 611 m_commsProvider.InterRegion.InformRegionOfChildAgent(reg.RegionHandle, agent);
601 m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId, 612 m_commsProvider.InterRegion.ExpectAvatarCrossing(reg.RegionHandle, avatar.ControllingClient.AgentId,
602 position, false); 613 position, false);
603 AgentCircuitData circuitdata = avatar.ControllingClient.RequestClientInfo(); 614 AgentCircuitData circuitdata = avatar.ControllingClient.RequestClientInfo();
604 615
@@ -610,17 +621,17 @@ namespace OpenSim.Region.Environment.Scenes
610 m_log.DebugFormat( 621 m_log.DebugFormat(
611 "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID); 622 "[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID);
612 623
613 avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), 624 avatar.ControllingClient.SendRegionTeleport(reg.RegionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4),
614 capsPath); 625 capsPath);
615 avatar.MakeChildAgent(); 626 avatar.MakeChildAgent();
616 Thread.Sleep(5000); 627 Thread.Sleep(5000);
617 avatar.CrossAttachmentsIntoNewRegion(regionHandle); 628 avatar.CrossAttachmentsIntoNewRegion(reg.RegionHandle);
618 if (KillObject != null) 629 if (KillObject != null)
619 { 630 {
620 KillObject(avatar.LocalId); 631 KillObject(avatar.LocalId);
621 } 632 }
622 uint newRegionX = (uint)(regionHandle >> 40); 633 uint newRegionX = (uint)(reg.RegionHandle >> 40);
623 uint newRegionY = (((uint)(regionHandle)) >> 8); 634 uint newRegionY = (((uint)(reg.RegionHandle)) >> 8);
624 uint oldRegionX = (uint)(m_regionInfo.RegionHandle >> 40); 635 uint oldRegionX = (uint)(m_regionInfo.RegionHandle >> 40);
625 uint oldRegionY = (((uint)(m_regionInfo.RegionHandle)) >> 8); 636 uint oldRegionY = (((uint)(m_regionInfo.RegionHandle)) >> 8);
626 if (Util.fast_distance2d((int)(newRegionX - oldRegionX), (int)(newRegionY - oldRegionY)) > 3) 637 if (Util.fast_distance2d((int)(newRegionX - oldRegionX), (int)(newRegionY - oldRegionY)) > 3)