diff options
author | UbitUmarov | 2016-08-20 01:59:40 +0100 |
---|---|---|
committer | UbitUmarov | 2016-08-20 01:59:40 +0100 |
commit | c17e337eca799326c0c383db22d1f724996e9618 (patch) | |
tree | d60f94864560994ab686c84432f1054474dac77f /OpenSim/Region/CoreModules | |
parent | fix physics sits on child prims (diff) | |
download | opensim-SC_OLD-c17e337eca799326c0c383db22d1f724996e9618.zip opensim-SC_OLD-c17e337eca799326c0c383db22d1f724996e9618.tar.gz opensim-SC_OLD-c17e337eca799326c0c383db22d1f724996e9618.tar.bz2 opensim-SC_OLD-c17e337eca799326c0c383db22d1f724996e9618.tar.xz |
fix GetLandData(...) in land connectors not suporting large regions
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs | 16 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs | 15 |
2 files changed, 29 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs index 2fd21be..551947b 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs | |||
@@ -128,9 +128,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land | |||
128 | { | 128 | { |
129 | m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}", | 129 | m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}", |
130 | regionHandle, m_Scenes.Count); | 130 | regionHandle, m_Scenes.Count); |
131 | |||
132 | uint rx = 0, ry = 0; | ||
133 | Util.RegionHandleToWorldLoc(regionHandle, out rx, out ry); | ||
134 | |||
131 | foreach (Scene s in m_Scenes) | 135 | foreach (Scene s in m_Scenes) |
132 | { | 136 | { |
133 | if (s.RegionInfo.RegionHandle == regionHandle) | 137 | uint t = s.RegionInfo.WorldLocX; |
138 | if( rx < t) | ||
139 | continue; | ||
140 | t += s.RegionInfo.RegionSizeX; | ||
141 | if( rx >= t) | ||
142 | continue; | ||
143 | t = s.RegionInfo.WorldLocY; | ||
144 | if( ry < t) | ||
145 | continue; | ||
146 | t += s.RegionInfo.RegionSizeY; | ||
147 | if( ry < t) | ||
134 | { | 148 | { |
135 | m_log.Debug("[LAND IN CONNECTOR]: Found region to GetLandData from"); | 149 | m_log.Debug("[LAND IN CONNECTOR]: Found region to GetLandData from"); |
136 | regionAccess = s.RegionInfo.AccessLevel; | 150 | regionAccess = s.RegionInfo.AccessLevel; |
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 | |||
124 | m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", | 124 | m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", |
125 | regionHandle, x, y); | 125 | regionHandle, x, y); |
126 | 126 | ||
127 | uint rx = 0, ry = 0; | ||
128 | Util.RegionHandleToWorldLoc(regionHandle, out rx, out ry); | ||
129 | |||
127 | foreach (Scene s in m_Scenes) | 130 | foreach (Scene s in m_Scenes) |
128 | { | 131 | { |
129 | if (s.RegionInfo.RegionHandle == regionHandle) | 132 | uint t = s.RegionInfo.WorldLocX; |
133 | if( rx < t) | ||
134 | continue; | ||
135 | t += s.RegionInfo.RegionSizeX; | ||
136 | if( rx >= t) | ||
137 | continue; | ||
138 | t = s.RegionInfo.WorldLocY; | ||
139 | if( ry < t) | ||
140 | continue; | ||
141 | t += s.RegionInfo.RegionSizeY; | ||
142 | if( ry < t) | ||
130 | { | 143 | { |
131 | LandData land = s.GetLandData(x, y); | 144 | LandData land = s.GetLandData(x, y); |
132 | regionAccess = s.RegionInfo.AccessLevel; | 145 | regionAccess = s.RegionInfo.AccessLevel; |