diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index cf2ef29..b472038 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | |||
@@ -282,11 +282,12 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
282 | { | 282 | { |
283 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); ; | 283 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); ; |
284 | 284 | ||
285 | // Get regions that are within 8 regions of here | ||
285 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | 286 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, |
286 | (int)(m_scene.RegionInfo.RegionLocX - 8) * (int)Constants.RegionSize, | 287 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocX - 8), |
287 | (int)(m_scene.RegionInfo.RegionLocX + 8) * (int)Constants.RegionSize, | 288 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocX + 8), |
288 | (int)(m_scene.RegionInfo.RegionLocY - 8) * (int)Constants.RegionSize, | 289 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocY - 8), |
289 | (int)(m_scene.RegionInfo.RegionLocY + 8) * (int)Constants.RegionSize); | 290 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocY + 8) ); |
290 | foreach (GridRegion r in regions) | 291 | foreach (GridRegion r in regions) |
291 | { | 292 | { |
292 | MapBlockData block = new MapBlockData(); | 293 | MapBlockData block = new MapBlockData(); |
@@ -410,7 +411,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
410 | } | 411 | } |
411 | uint xstart = 0; | 412 | uint xstart = 0; |
412 | uint ystart = 0; | 413 | uint ystart = 0; |
413 | Utils.LongToUInts(m_scene.RegionInfo.RegionHandle, out xstart, out ystart); | 414 | Util.RegionHandleToWorldLoc(m_scene.RegionInfo.RegionHandle, out xstart, out ystart); |
414 | if (itemtype == 6) // Service 6 right now (MAP_ITEM_AGENTS_LOCATION; green dots) | 415 | if (itemtype == 6) // Service 6 right now (MAP_ITEM_AGENTS_LOCATION; green dots) |
415 | { | 416 | { |
416 | if (regionhandle == 0 || regionhandle == m_scene.RegionInfo.RegionHandle) | 417 | if (regionhandle == 0 || regionhandle == m_scene.RegionInfo.RegionHandle) |
@@ -808,7 +809,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
808 | if (httpserver.Length == 0) | 809 | if (httpserver.Length == 0) |
809 | { | 810 | { |
810 | uint x = 0, y = 0; | 811 | uint x = 0, y = 0; |
811 | Utils.LongToUInts(regionhandle, out x, out y); | 812 | Util.RegionHandleToWorldLoc(regionhandle, out x, out y); |
812 | GridRegion mreg = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, (int)x, (int)y); | 813 | GridRegion mreg = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, (int)x, (int)y); |
813 | 814 | ||
814 | if (mreg != null) | 815 | if (mreg != null) |
@@ -1016,17 +1017,15 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
1016 | // on an unloaded square. | 1017 | // on an unloaded square. |
1017 | // But make sure: Look whether the one we requested is in there | 1018 | // But make sure: Look whether the one we requested is in there |
1018 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | 1019 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, |
1019 | minX * (int)Constants.RegionSize, | 1020 | (int)Util.RegionToWorldLoc((uint)minX), (int)Util.RegionToWorldLoc((uint)maxX), |
1020 | maxX * (int)Constants.RegionSize, | 1021 | (int)Util.RegionToWorldLoc((uint)minY), (int)Util.RegionToWorldLoc((uint)maxY) ); |
1021 | minY * (int)Constants.RegionSize, | ||
1022 | maxY * (int)Constants.RegionSize); | ||
1023 | 1022 | ||
1024 | if (regions != null) | 1023 | if (regions != null) |
1025 | { | 1024 | { |
1026 | foreach (GridRegion r in regions) | 1025 | foreach (GridRegion r in regions) |
1027 | { | 1026 | { |
1028 | if ((r.RegionLocX == minX * (int)Constants.RegionSize) && | 1027 | if (r.RegionLocX == Util.RegionToWorldLoc((uint)minX) |
1029 | (r.RegionLocY == minY * (int)Constants.RegionSize)) | 1028 | && r.RegionLocY == Util.RegionToWorldLoc((uint)minY) ) |
1030 | { | 1029 | { |
1031 | // found it => add it to response | 1030 | // found it => add it to response |
1032 | MapBlockData block = new MapBlockData(); | 1031 | MapBlockData block = new MapBlockData(); |
@@ -1060,10 +1059,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
1060 | { | 1059 | { |
1061 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); | 1060 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); |
1062 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | 1061 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, |
1063 | (minX - 4) * (int)Constants.RegionSize, | 1062 | (int)Util.RegionToWorldLoc((uint)(minX - 4)), (int)Util.RegionToWorldLoc((uint)(maxX + 4)), |
1064 | (maxX + 4) * (int)Constants.RegionSize, | 1063 | (int)Util.RegionToWorldLoc((uint)(minY - 4)), (int)Util.RegionToWorldLoc((uint)(maxY + 4)) ); |
1065 | (minY - 4) * (int)Constants.RegionSize, | ||
1066 | (maxY + 4) * (int)Constants.RegionSize); | ||
1067 | foreach (GridRegion r in regions) | 1064 | foreach (GridRegion r in regions) |
1068 | { | 1065 | { |
1069 | MapBlockData block = new MapBlockData(); | 1066 | MapBlockData block = new MapBlockData(); |
@@ -1091,8 +1088,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
1091 | break; | 1088 | break; |
1092 | } | 1089 | } |
1093 | block.Name = r.RegionName; | 1090 | block.Name = r.RegionName; |
1094 | block.X = (ushort)(r.RegionLocX / Constants.RegionSize); | 1091 | block.X = (ushort)Util.WorldToRegionLoc((uint)r.RegionLocX); |
1095 | block.Y = (ushort)(r.RegionLocY / Constants.RegionSize); | 1092 | block.Y = (ushort)Util.WorldToRegionLoc((uint)r.RegionLocY); |
1096 | } | 1093 | } |
1097 | 1094 | ||
1098 | public Hashtable OnHTTPThrottled(Hashtable keysvals) | 1095 | public Hashtable OnHTTPThrottled(Hashtable keysvals) |
@@ -1223,10 +1220,10 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
1223 | 1220 | ||
1224 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); | 1221 | List<MapBlockData> mapBlocks = new List<MapBlockData>(); |
1225 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, | 1222 | List<GridRegion> regions = m_scene.GridService.GetRegionRange(m_scene.RegionInfo.ScopeID, |
1226 | (int)(m_scene.RegionInfo.RegionLocX - 9) * (int)Constants.RegionSize, | 1223 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocX - 9), |
1227 | (int)(m_scene.RegionInfo.RegionLocX + 9) * (int)Constants.RegionSize, | 1224 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocX + 9), |
1228 | (int)(m_scene.RegionInfo.RegionLocY - 9) * (int)Constants.RegionSize, | 1225 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocY - 9), |
1229 | (int)(m_scene.RegionInfo.RegionLocY + 9) * (int)Constants.RegionSize); | 1226 | (int)Util.RegionToWorldLoc(m_scene.RegionInfo.RegionLocY + 9)); |
1230 | List<AssetBase> textures = new List<AssetBase>(); | 1227 | List<AssetBase> textures = new List<AssetBase>(); |
1231 | List<Image> bitImages = new List<Image>(); | 1228 | List<Image> bitImages = new List<Image>(); |
1232 | 1229 | ||