From c17e337eca799326c0c383db22d1f724996e9618 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 20 Aug 2016 01:59:40 +0100 Subject: fix GetLandData(...) in land connectors not suporting large regions --- .../Land/LocalLandServiceConnector.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs index 5329933..2e22965 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs @@ -124,9 +124,22 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", regionHandle, x, y); + uint rx = 0, ry = 0; + Util.RegionHandleToWorldLoc(regionHandle, out rx, out ry); + foreach (Scene s in m_Scenes) { - if (s.RegionInfo.RegionHandle == regionHandle) + uint t = s.RegionInfo.WorldLocX; + if( rx < t) + continue; + t += s.RegionInfo.RegionSizeX; + if( rx >= t) + continue; + t = s.RegionInfo.WorldLocY; + if( ry < t) + continue; + t += s.RegionInfo.RegionSizeY; + if( ry < t) { LandData land = s.GetLandData(x, y); regionAccess = s.RegionInfo.AccessLevel; -- cgit v1.1 From 963b296f93c22a8a560f54db5c7aede9903920b8 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 21 Aug 2016 04:56:23 +0100 Subject: in HGAssetBroker do cache all if asset id changed --- .../CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs index ade6381..9eb41f9 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs @@ -367,12 +367,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset if (String.IsNullOrEmpty(id)) return string.Empty; - asset.ID = id; - - if (isHG && m_Cache != null) - m_Cache.Cache(asset); + if(asset.ID != id) + { + asset.ID = id; + if (m_Cache != null) + m_Cache.Cache(asset); + } - return id; + return id; } public bool UpdateContent(string id, byte[] data) -- cgit v1.1 From ed6d9199ce48c7913cf7b8d084ee2afe922e3045 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 23 Aug 2016 11:52:52 +0100 Subject: coment some debug messages --- .../ServiceConnectorsOut/Land/LocalLandServiceConnector.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs index 2e22965..9e251aa 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs @@ -121,8 +121,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land public LandData GetLandData(UUID scopeID, ulong regionHandle, uint x, uint y, out byte regionAccess) { regionAccess = 2; - m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", - regionHandle, x, y); +// m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", +// regionHandle, x, y); uint rx = 0, ry = 0; Util.RegionHandleToWorldLoc(regionHandle, out rx, out ry); -- cgit v1.1