diff options
author | Melanie Thielker | 2008-08-14 00:04:37 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-08-14 00:04:37 +0000 |
commit | e3157e61aa50d057b4345cb9d49c973afeb26b15 (patch) | |
tree | 8452565ff0d7e6c3d07541743e0e5f665bc7d03c /OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |
parent | * minor: make it clear on the console when a client is being logged out becau... (diff) | |
download | opensim-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.cs | 23 |
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) |