From ec8101a24ad8181c12525421024616fc509b60da Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 28 Jul 2016 00:34:16 +0100 Subject: remove references to RegionCombinerModule --- .../EntityTransfer/EntityTransferModule.cs | 74 ++++++---------------- .../World/Archiver/ArchiveWriteRequest.cs | 14 +--- .../CoreModules/World/Archiver/ArchiverModule.cs | 2 - .../Framework/Interfaces/IRegionCombinerModule.cs | 64 ------------------- OpenSim/Region/Framework/Scenes/Scene.cs | 14 +--- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 22 +------ .../Shared/Api/Implementation/OSSL_Api.cs | 21 +----- 7 files changed, 26 insertions(+), 185 deletions(-) delete mode 100644 OpenSim/Region/Framework/Interfaces/IRegionCombinerModule.cs (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index fbb99b0..6ad949c 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -173,7 +173,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer private BannedRegionCache m_bannedRegionCache = new BannedRegionCache(); private IEventQueue m_eqModule; - private IRegionCombinerModule m_regionCombinerModule; #region ISharedRegionModule @@ -339,7 +338,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; m_eqModule = Scene.RequestModuleInterface(); - m_regionCombinerModule = Scene.RequestModuleInterface(); } #endregion @@ -1341,18 +1339,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer protected virtual bool NeedsNewAgent(float viewdist, uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY, int oldsizeX, int oldsizeY, int newsizeX, int newsizeY) { - if (m_regionCombinerModule != null && m_regionCombinerModule.IsRootForMegaregion(Scene.RegionInfo.RegionID)) - { - Vector2 swCorner, neCorner; - GetMegaregionViewRange(out swCorner, out neCorner); - - m_log.DebugFormat( - "[ENTITY TRANSFER MODULE]: Megaregion view of {0} is from {1} to {2} with new agent check for {3},{4}", - Scene.Name, swCorner, neCorner, newRegionX, newRegionY); - - return !(newRegionX >= swCorner.X && newRegionX <= neCorner.X && newRegionY >= swCorner.Y && newRegionY <= neCorner.Y); - } - return Util.IsOutsideView(viewdist, oldRegionX, newRegionX, oldRegionY, newRegionY, oldsizeX, oldsizeY, newsizeX, newsizeY); } @@ -2385,13 +2371,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { Vector2 extent = Vector2.Zero; - if (m_regionCombinerModule != null) - { - Vector2 megaRegionSize = m_regionCombinerModule.GetSizeOfMegaregion(Scene.RegionInfo.RegionID); - extent.X = (float)Util.WorldToRegionLoc((uint)megaRegionSize.X); - extent.Y = (float)Util.WorldToRegionLoc((uint)megaRegionSize.Y); - } - swCorner.X = Scene.RegionInfo.RegionLocX - 1; swCorner.Y = Scene.RegionInfo.RegionLocY - 1; neCorner.X = Scene.RegionInfo.RegionLocX + extent.X; @@ -2411,46 +2390,29 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer RegionInfo m_regionInfo = pScene.RegionInfo; List neighbours; - // Leaving this as a "megaregions" computation vs "non-megaregions" computation; it isn't - // clear what should be done with a "far view" given that megaregions already extended the - // view to include everything in the megaregion - if (m_regionCombinerModule == null || !m_regionCombinerModule.IsRootForMegaregion(Scene.RegionInfo.RegionID)) - { - uint dd = (uint)avatar.RegionViewDistance; + uint dd = (uint)avatar.RegionViewDistance; - // until avatar movement updates client connections, we need to seend at least this current region imediate Neighbors - uint ddX = Math.Max(dd, Constants.RegionSize); - uint ddY = Math.Max(dd, Constants.RegionSize); + // until avatar movement updates client connections, we need to seend at least this current region imediate neighbors + uint ddX = Math.Max(dd, Constants.RegionSize); + uint ddY = Math.Max(dd, Constants.RegionSize); - ddX--; - ddY--; + ddX--; + ddY--; - // reference to region edges. Should be avatar position - uint startX = Util.RegionToWorldLoc(pRegionLocX); - uint endX = startX + m_regionInfo.RegionSizeX; - uint startY = Util.RegionToWorldLoc(pRegionLocY); - uint endY = startY + m_regionInfo.RegionSizeY; + // reference to region edges. Should be avatar position + uint startX = Util.RegionToWorldLoc(pRegionLocX); + uint endX = startX + m_regionInfo.RegionSizeX; + uint startY = Util.RegionToWorldLoc(pRegionLocY); + uint endY = startY + m_regionInfo.RegionSizeY; - startX -= ddX; - startY -= ddY; - endX += ddX; - endY += ddY; + startX -= ddX; + startY -= ddY; + endX += ddX; + endY += ddY; - neighbours - = avatar.Scene.GridService.GetRegionRange( - m_regionInfo.ScopeID, (int)startX, (int)endX, (int)startY, (int)endY); - } - else - { - Vector2 swCorner, neCorner; - GetMegaregionViewRange(out swCorner, out neCorner); - - neighbours - = pScene.GridService.GetRegionRange( - m_regionInfo.ScopeID, - (int)Util.RegionToWorldLoc((uint)swCorner.X), (int)Util.RegionToWorldLoc((uint)neCorner.X), - (int)Util.RegionToWorldLoc((uint)swCorner.Y), (int)Util.RegionToWorldLoc((uint)neCorner.Y)); - } + neighbours + = avatar.Scene.GridService.GetRegionRange( + m_regionInfo.ScopeID, (int)startX, (int)endX, (int)startY, (int)endY); // The r.RegionFlags == null check only needs to be made for simulators before 2015-01-14 (pre 0.8.1). neighbours.RemoveAll( r => r.RegionID == m_regionInfo.RegionID ); diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index cb2c7f1..6c8f37b 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -522,22 +522,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver protected static void WriteRegionInfo(Scene scene, XmlTextWriter xtw) { - bool isMegaregion; Vector2 size; - IRegionCombinerModule rcMod = scene.RequestModuleInterface(); - - if (rcMod != null) - isMegaregion = rcMod.IsRootForMegaregion(scene.RegionInfo.RegionID); - else - isMegaregion = false; - - if (isMegaregion) - size = rcMod.GetSizeOfMegaregion(scene.RegionInfo.RegionID); - else - size = new Vector2((float)scene.RegionInfo.RegionSizeX, (float)scene.RegionInfo.RegionSizeY); + size = new Vector2((float)scene.RegionInfo.RegionSizeX, (float)scene.RegionInfo.RegionSizeY); - xtw.WriteElementString("is_megaregion", isMegaregion.ToString()); xtw.WriteElementString("size_in_meters", string.Format("{0},{1}", size.X, size.Y)); } diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs index ca94f42..150d4ec 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs @@ -53,7 +53,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public Scene Scene { get; private set; } - public IRegionCombinerModule RegionCombinerModule { get; private set; } /// /// The file used to load and save an opensimulator archive if no filename has been specified @@ -85,7 +84,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver public void RegionLoaded(Scene scene) { - RegionCombinerModule = scene.RequestModuleInterface(); } public void RemoveRegion(Scene scene) diff --git a/OpenSim/Region/Framework/Interfaces/IRegionCombinerModule.cs b/OpenSim/Region/Framework/Interfaces/IRegionCombinerModule.cs deleted file mode 100644 index c6f531e..0000000 --- a/OpenSim/Region/Framework/Interfaces/IRegionCombinerModule.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using OpenSim.Region.Framework.Scenes; -using System.IO; -using OpenMetaverse; - -namespace OpenSim.Region.Framework.Interfaces -{ - public interface IRegionCombinerModule - { - /// - /// Does the given id belong to the root region of a megaregion? - /// - bool IsRootForMegaregion(UUID regionId); - - /// - /// Gets the size of megaregion. - /// - /// - /// Returns size in meters. - /// Do not rely on this method remaining the same - this area is actively under development. - /// - /// - /// The id of the root region for a megaregion. - /// This may change in the future to allow any region id that makes up a megaregion. - /// Currently, will throw an exception if this does not match a root region. - /// - Vector2 GetSizeOfMegaregion(UUID regionId); - - /// - /// Tests to see of position (relative to the region) is within the megaregion - /// - bool PositionIsInMegaregion(UUID currentRegion, int xx, int yy); - } -} \ No newline at end of file diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index fac5547..37352af 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2925,18 +2925,8 @@ namespace OpenSim.Region.Framework.Scenes if (xx < 0 || yy < 0) return false; - IRegionCombinerModule regionCombinerModule = RequestModuleInterface(); - if (regionCombinerModule == null) - { - // Regular region. Just check for region size - if (xx < RegionInfo.RegionSizeX && yy < RegionInfo.RegionSizeY ) - ret = true; - } - else - { - // We're in a mega-region so see if we are still in that larger region - ret = regionCombinerModule.PositionIsInMegaregion(this.RegionInfo.RegionID, xx, yy); - } + if (xx < RegionInfo.RegionSizeX && yy < RegionInfo.RegionSizeY ) + ret = true; return ret; } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 3167282..7c1a7631 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2910,11 +2910,7 @@ namespace OpenSim.Region.Framework.Scenes // Allow move to another sub-region within a megaregion Vector2 regionSize; - IRegionCombinerModule regionCombinerModule = m_scene.RequestModuleInterface(); - if (regionCombinerModule != null) - regionSize = regionCombinerModule.GetSizeOfMegaregion(m_scene.RegionInfo.RegionID); - else - regionSize = new Vector2(m_scene.RegionInfo.RegionSizeX, m_scene.RegionInfo.RegionSizeY); + regionSize = new Vector2(m_scene.RegionInfo.RegionSizeX, m_scene.RegionInfo.RegionSizeY); if (pos.X < 0 || pos.X >= regionSize.X || pos.Y < 0 || pos.Y >= regionSize.Y @@ -2923,21 +2919,7 @@ namespace OpenSim.Region.Framework.Scenes float terrainHeight; Scene targetScene = m_scene; - // Get terrain height for sub-region in a megaregion if necessary - if (regionCombinerModule != null) - { - int X = (int)((m_scene.RegionInfo.WorldLocX) + pos.X); - int Y = (int)((m_scene.RegionInfo.WorldLocY) + pos.Y); - GridRegion target_region = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, X, Y); - // If X and Y is NaN, target_region will be null - if (target_region == null) - return; - UUID target_regionID = target_region.RegionID; - SceneManager.Instance.TryGetScene(target_region.RegionID, out targetScene); - terrainHeight = (float)targetScene.Heightmap[(int)(pos.X % regionSize.X), (int)(pos.Y % regionSize.Y)]; - } - else - terrainHeight = m_scene.GetGroundHeight(pos.X, pos.Y); + terrainHeight = m_scene.GetGroundHeight(pos.X, pos.Y); // dont try to land underground terrainHeight += Appearance.AvatarHeight * 0.5f + 0.2f; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 7a2b24f..319f14c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3347,24 +3347,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.None, "osGetRegionSize"); m_host.AddScriptLPS(1); - bool isMegaregion; - IRegionCombinerModule rcMod = World.RequestModuleInterface(); - if (rcMod != null) - isMegaregion = rcMod.IsRootForMegaregion(World.RegionInfo.RegionID); - else - isMegaregion = false; - - if (isMegaregion) - { - Vector2 size = rcMod.GetSizeOfMegaregion(World.RegionInfo.RegionID); - return new LSL_Vector(size.X, size.Y, Constants.RegionHeight); - } - else - { - Scene scene = m_ScriptEngine.World; - GridRegion region = scene.GridService.GetRegionByUUID(UUID.Zero, World.RegionInfo.RegionID); - return new LSL_Vector((float)region.RegionSizeX, (float)region.RegionSizeY, (float)Constants.RegionHeight); - } + Scene scene = m_ScriptEngine.World; + GridRegion region = scene.GridService.GetRegionByUUID(UUID.Zero, World.RegionInfo.RegionID); + return new LSL_Vector((float)region.RegionSizeX, (float)region.RegionSizeY, (float)Constants.RegionHeight); } public int osGetSimulatorMemory() -- cgit v1.1