diff options
author | Diva Canto | 2014-06-21 15:38:38 -0700 |
---|---|---|
committer | Justin Clark-Casey | 2014-08-02 00:49:43 +0100 |
commit | 025ac85a46834e303c42cbed146860b28265c7ef (patch) | |
tree | fa72219195d11f7dbc943b50754a5af375c3f29b | |
parent | BulletSim: add some locking for collision lists to prevent collsions (diff) | |
download | opensim-SC_OLD-025ac85a46834e303c42cbed146860b28265c7ef.zip opensim-SC_OLD-025ac85a46834e303c42cbed146860b28265c7ef.tar.gz opensim-SC_OLD-025ac85a46834e303c42cbed146860b28265c7ef.tar.bz2 opensim-SC_OLD-025ac85a46834e303c42cbed146860b28265c7ef.tar.xz |
Bug fix in map teleports in varregions. The cherry was missing from the ice-cream Sunday: the packet itself was hardcoding the size of the region...
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | 26 |
2 files changed, 2 insertions, 29 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index c28e58d..196f19e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -1467,10 +1467,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1467 | mapReply.Data[i].Access = mapBlocks2[i].Access; | 1467 | mapReply.Data[i].Access = mapBlocks2[i].Access; |
1468 | mapReply.Data[i].Agents = mapBlocks2[i].Agents; | 1468 | mapReply.Data[i].Agents = mapBlocks2[i].Agents; |
1469 | 1469 | ||
1470 | // TODO: hookup varregion sim size here | ||
1471 | mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock(); | 1470 | mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock(); |
1472 | mapReply.Size[i].SizeX = 256; | 1471 | mapReply.Size[i].SizeX = mapBlocks2[i].SizeX; |
1473 | mapReply.Size[i].SizeY = 256; | 1472 | mapReply.Size[i].SizeY = mapBlocks2[i].SizeY; |
1474 | } | 1473 | } |
1475 | OutPacket(mapReply, ThrottleOutPacketType.Land); | 1474 | OutPacket(mapReply, ThrottleOutPacketType.Land); |
1476 | } | 1475 | } |
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index e4977cf..2d28d6e 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | |||
@@ -1121,32 +1121,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
1121 | block.SizeX = (ushort)r.RegionSizeX; | 1121 | block.SizeX = (ushort)r.RegionSizeX; |
1122 | block.SizeY = (ushort)r.RegionSizeY; | 1122 | block.SizeY = (ushort)r.RegionSizeY; |
1123 | blocks.Add(block); | 1123 | blocks.Add(block); |
1124 | // If these are larger than legacy regions, create fake map entries for the covered | ||
1125 | // regions. The map system only does legacy sized regions so we have to fake map | ||
1126 | // entries for all the covered regions. | ||
1127 | if (r.RegionSizeX > Constants.RegionSize || r.RegionSizeY > Constants.RegionSize) | ||
1128 | { | ||
1129 | for (int x = 0; x < r.RegionSizeX / Constants.RegionSize; x++) | ||
1130 | { | ||
1131 | for (int y = 0; y < r.RegionSizeY / Constants.RegionSize; y++) | ||
1132 | { | ||
1133 | if (x == 0 && y == 0) | ||
1134 | continue; | ||
1135 | block = new MapBlockData | ||
1136 | { | ||
1137 | Access = r.Access, | ||
1138 | MapImageId = r.TerrainImage, | ||
1139 | Name = r.RegionName, | ||
1140 | X = (ushort)((r.RegionLocX / Constants.RegionSize) + x), | ||
1141 | Y = (ushort)((r.RegionLocY / Constants.RegionSize) + y), | ||
1142 | SizeX = (ushort)r.RegionSizeX, | ||
1143 | SizeY = (ushort)r.RegionSizeY | ||
1144 | }; | ||
1145 | //Child piece, so ignore it | ||
1146 | blocks.Add(block); | ||
1147 | } | ||
1148 | } | ||
1149 | } | ||
1150 | } | 1124 | } |
1151 | return blocks; | 1125 | return blocks; |
1152 | } | 1126 | } |