diff options
author | Diva Canto | 2014-06-21 15:38:38 -0700 |
---|---|---|
committer | Diva Canto | 2014-06-21 15:38:38 -0700 |
commit | ca2379ee8388d9c04fbd3c6eae49b7407bde5b95 (patch) | |
tree | 0838492d1e9e871034743c8a7a694f570be6505c /OpenSim/Region | |
parent | BulletSim: add some locking for collision lists to prevent collsions (diff) | |
download | opensim-SC-ca2379ee8388d9c04fbd3c6eae49b7407bde5b95.zip opensim-SC-ca2379ee8388d9c04fbd3c6eae49b7407bde5b95.tar.gz opensim-SC-ca2379ee8388d9c04fbd3c6eae49b7407bde5b95.tar.bz2 opensim-SC-ca2379ee8388d9c04fbd3c6eae49b7407bde5b95.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...
Diffstat (limited to 'OpenSim/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 44386c9..bd0f5ca 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -1543,10 +1543,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1543 | mapReply.Data[i].Access = mapBlocks2[i].Access; | 1543 | mapReply.Data[i].Access = mapBlocks2[i].Access; |
1544 | mapReply.Data[i].Agents = mapBlocks2[i].Agents; | 1544 | mapReply.Data[i].Agents = mapBlocks2[i].Agents; |
1545 | 1545 | ||
1546 | // TODO: hookup varregion sim size here | ||
1547 | mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock(); | 1546 | mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock(); |
1548 | mapReply.Size[i].SizeX = 256; | 1547 | mapReply.Size[i].SizeX = mapBlocks2[i].SizeX; |
1549 | mapReply.Size[i].SizeY = 256; | 1548 | mapReply.Size[i].SizeY = mapBlocks2[i].SizeY; |
1550 | } | 1549 | } |
1551 | OutPacket(mapReply, ThrottleOutPacketType.Land); | 1550 | OutPacket(mapReply, ThrottleOutPacketType.Land); |
1552 | } | 1551 | } |
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 | } |