diff options
author | Homer Horwitz | 2008-10-04 18:08:35 +0000 |
---|---|---|
committer | Homer Horwitz | 2008-10-04 18:08:35 +0000 |
commit | 63d7a92fb4a1a513ae539d9bf42c67fc22abcf90 (patch) | |
tree | 443bc4f5eca452163b84d90bef95a7518e0b2b2a /OpenSim/Region/Environment/Scenes | |
parent | Cap proxy mesh scale minimum to 0.01 meter for X, Y, and Z terms. (diff) | |
download | opensim-SC-63d7a92fb4a1a513ae539d9bf42c67fc22abcf90.zip opensim-SC-63d7a92fb4a1a513ae539d9bf42c67fc22abcf90.tar.gz opensim-SC-63d7a92fb4a1a513ae539d9bf42c67fc22abcf90.tar.bz2 opensim-SC-63d7a92fb4a1a513ae539d9bf42c67fc22abcf90.tar.xz |
Added immediate TP failure message for TPs to regions that aren't there,
instead of the 130s timeout somewhere. Additionally, mark the map-tile as
offline. This partly fixes the TP problems of Mantis 2332; the rest is a viewer
problem (just relogin).
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index 08793d9..b342cb6 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -736,6 +736,25 @@ namespace OpenSim.Region.Environment.Scenes | |||
736 | avatar.ControllingClient.SendTeleportFailed("Remote Region appears to be down"); | 736 | avatar.ControllingClient.SendTeleportFailed("Remote Region appears to be down"); |
737 | } | 737 | } |
738 | } | 738 | } |
739 | else | ||
740 | { | ||
741 | // TP to a place that doesn't exist (anymore) | ||
742 | // Inform the viewer about that | ||
743 | avatar.ControllingClient.SendTeleportFailed("The region you tried to teleport to doesn't exist anymore"); | ||
744 | |||
745 | // and set the map-tile to '(Offline)' | ||
746 | uint regX, regY; | ||
747 | Helpers.LongToUInts(regionHandle, out regX, out regY); | ||
748 | |||
749 | MapBlockData block = new MapBlockData(); | ||
750 | block.X = (ushort)(regX / Constants.RegionSize); | ||
751 | block.Y = (ushort)(regY / Constants.RegionSize); | ||
752 | block.Access = 254; // == not there | ||
753 | |||
754 | List<MapBlockData> blocks = new List<MapBlockData>(); | ||
755 | blocks.Add(block); | ||
756 | avatar.ControllingClient.SendMapBlock(blocks, 0); | ||
757 | } | ||
739 | } | 758 | } |
740 | } | 759 | } |
741 | 760 | ||