From b56e2c65b88953ecb29c99d8fec8145a940f0c92 Mon Sep 17 00:00:00 2001
From: David Walter Seikel
Date: Thu, 3 Nov 2016 22:15:40 +1000
Subject: No, we don't need to enshrine viewer bugs in the server, we need to
fix the viewer, which is half done.
Less to delete this time.
---
.../EntityTransfer/EntityTransferModule.cs | 45 ----------------
OpenSim/Services/GridService/HypergridLinker.cs | 61 ----------------------
2 files changed, 106 deletions(-)
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index a2417c4..1b4b5e6 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -54,15 +54,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly string LogHeader = "[ENTITY TRANSFER MODULE]";
- public const int DefaultMaxTransferDistance = 4095;
public const bool WaitForAgentArrivedAtDestinationDefault = true;
///
- /// The maximum distance, in standard region units (256m) that an agent is allowed to transfer.
- ///
- public int MaxTransferDistance { get; set; }
-
- ///
/// If true then on a teleport, the source region waits for a callback from the destination region. If
/// a callback fails to arrive within a set time then the user is pulled back into the source region.
///
@@ -220,12 +214,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
WaitForAgentArrivedAtDestination
= transferConfig.GetBoolean("wait_for_callback", WaitForAgentArrivedAtDestinationDefault);
-
- MaxTransferDistance = transferConfig.GetInt("max_distance", DefaultMaxTransferDistance);
- }
- else
- {
- MaxTransferDistance = DefaultMaxTransferDistance;
}
m_entityTransferStateMachine = new EntityTransferStateMachine(this);
@@ -601,28 +589,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
return true;
}
- ///
- /// Determines whether this instance is within the max transfer distance.
- ///
- ///
- ///
- ///
- /// true if this instance is within max transfer distance; otherwise, false.
- ///
- private bool IsWithinMaxTeleportDistance(RegionInfo sourceRegion, GridRegion destRegion)
- {
- if(MaxTransferDistance == 0)
- return true;
-
-// m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Source co-ords are x={0} y={1}", curRegionX, curRegionY);
-//
-// m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Final dest is x={0} y={1} {2}@{3}",
-// destRegionX, destRegionY, finalDestination.RegionID, finalDestination.ServerURI);
-
- // Insanely, RegionLoc on RegionInfo is the 256m map co-ord whilst GridRegion.RegionLoc is the raw meters position.
- return Math.Abs(sourceRegion.RegionLocX - destRegion.RegionCoordX) <= MaxTransferDistance
- && Math.Abs(sourceRegion.RegionLocY - destRegion.RegionCoordY) <= MaxTransferDistance;
- }
///
/// Wraps DoTeleportInternal() and manages the transfer state.
@@ -684,17 +650,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
RegionInfo sourceRegion = sp.Scene.RegionInfo;
- if (!IsWithinMaxTeleportDistance(sourceRegion, finalDestination))
- {
- sp.ControllingClient.SendTeleportFailed(
- string.Format(
- "Can't teleport to {0} ({1},{2}) from {3} ({4},{5}), destination is more than {6} regions way",
- finalDestination.RegionName, finalDestination.RegionCoordX, finalDestination.RegionCoordY,
- sourceRegion.RegionName, sourceRegion.RegionLocX, sourceRegion.RegionLocY,
- MaxTransferDistance));
-
- return;
- }
uint newRegionX, newRegionY, oldRegionX, oldRegionY;
Util.RegionHandleToRegionLoc(reg.RegionHandle, out newRegionX, out newRegionY);
diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs
index 9d016fc..5aaba13 100644
--- a/OpenSim/Services/GridService/HypergridLinker.cs
+++ b/OpenSim/Services/GridService/HypergridLinker.cs
@@ -63,7 +63,6 @@ namespace OpenSim.Services.GridService
protected GatekeeperServiceConnector m_GatekeeperConnector;
protected UUID m_ScopeID = UUID.Zero;
-// protected bool m_Check4096 = true;
protected string m_MapTileDirectory = string.Empty;
protected string m_ThisGatekeeper = string.Empty;
protected Uri m_ThisGatekeeperURI = null;
@@ -120,7 +119,6 @@ namespace OpenSim.Services.GridService
if (scope != string.Empty)
UUID.TryParse(scope, out m_ScopeID);
-// m_Check4096 = gridConfig.GetBoolean("Check4096", true);
m_MapTileDirectory = gridConfig.GetString("MapTileDirectory", "maptiles");
@@ -385,19 +383,6 @@ namespace OpenSim.Services.GridService
return true;
}
- // We are now performing this check for each individual teleport in the EntityTransferModule instead. This
- // allows us to give better feedback when teleports fail because of the distance reason (which can't be
- // done here) and it also hypergrid teleports that are within range (possibly because the source grid
- // itself has regions that are very far apart).
-// uint x, y;
-// if (m_Check4096 && !Check4096(handle, out x, out y))
-// {
-// //RemoveHyperlinkRegion(regInfo.RegionID);
-// reason = "Region is too far (" + x + ", " + y + ")";
-// m_log.Info("[HYPERGRID LINKER]: Unable to link, region is too far (" + x + ", " + y + ")");
-// //return false;
-// }
-
regInfo.RegionID = regionID;
if (externalName == string.Empty)
@@ -448,52 +433,6 @@ namespace OpenSim.Services.GridService
}
}
-// Not currently used
-// ///
-// /// Cope with this viewer limitation.
-// ///
-// ///
-// ///
-// public bool Check4096(ulong realHandle, out uint x, out uint y)
-// {
-// uint ux = 0, uy = 0;
-// Utils.LongToUInts(realHandle, out ux, out uy);
-// x = Util.WorldToRegionLoc(ux);
-// y = Util.WorldToRegionLoc(uy);
-//
-// const uint limit = Util.RegionToWorldLoc(4096 - 1);
-// uint xmin = ux - limit;
-// uint xmax = ux + limit;
-// uint ymin = uy - limit;
-// uint ymax = uy + limit;
-// // World map boundary checks
-// if (xmin < 0 || xmin > ux)
-// xmin = 0;
-// if (xmax > int.MaxValue || xmax < ux)
-// xmax = int.MaxValue;
-// if (ymin < 0 || ymin > uy)
-// ymin = 0;
-// if (ymax > int.MaxValue || ymax < uy)
-// ymax = int.MaxValue;
-//
-// // Check for any regions that are within the possible teleport range to the linked region
-// List regions = m_GridService.GetRegionRange(m_ScopeID, (int)xmin, (int)xmax, (int)ymin, (int)ymax);
-// if (regions.Count == 0)
-// {
-// return false;
-// }
-// else
-// {
-// // Check for regions which are not linked regions
-// List hyperlinks = m_GridService.GetHyperlinks(m_ScopeID);
-// IEnumerable availableRegions = regions.Except(hyperlinks);
-// if (availableRegions.Count() == 0)
-// return false;
-// }
-//
-// return true;
-// }
-
private void AddHyperlinkRegion(GridRegion regionInfo, ulong regionHandle)
{
RegionData rdata = m_GridService.RegionInfo2RegionData(regionInfo);
--
cgit v1.1