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...
parent
5edffc9ecd
commit
025ac85a46
|
@ -1467,10 +1467,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
mapReply.Data[i].Access = mapBlocks2[i].Access;
|
mapReply.Data[i].Access = mapBlocks2[i].Access;
|
||||||
mapReply.Data[i].Agents = mapBlocks2[i].Agents;
|
mapReply.Data[i].Agents = mapBlocks2[i].Agents;
|
||||||
|
|
||||||
// TODO: hookup varregion sim size here
|
|
||||||
mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock();
|
mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock();
|
||||||
mapReply.Size[i].SizeX = 256;
|
mapReply.Size[i].SizeX = mapBlocks2[i].SizeX;
|
||||||
mapReply.Size[i].SizeY = 256;
|
mapReply.Size[i].SizeY = mapBlocks2[i].SizeY;
|
||||||
}
|
}
|
||||||
OutPacket(mapReply, ThrottleOutPacketType.Land);
|
OutPacket(mapReply, ThrottleOutPacketType.Land);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1121,32 +1121,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
block.SizeX = (ushort)r.RegionSizeX;
|
block.SizeX = (ushort)r.RegionSizeX;
|
||||||
block.SizeY = (ushort)r.RegionSizeY;
|
block.SizeY = (ushort)r.RegionSizeY;
|
||||||
blocks.Add(block);
|
blocks.Add(block);
|
||||||
// If these are larger than legacy regions, create fake map entries for the covered
|
|
||||||
// regions. The map system only does legacy sized regions so we have to fake map
|
|
||||||
// entries for all the covered regions.
|
|
||||||
if (r.RegionSizeX > Constants.RegionSize || r.RegionSizeY > Constants.RegionSize)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < r.RegionSizeX / Constants.RegionSize; x++)
|
|
||||||
{
|
|
||||||
for (int y = 0; y < r.RegionSizeY / Constants.RegionSize; y++)
|
|
||||||
{
|
|
||||||
if (x == 0 && y == 0)
|
|
||||||
continue;
|
|
||||||
block = new MapBlockData
|
|
||||||
{
|
|
||||||
Access = r.Access,
|
|
||||||
MapImageId = r.TerrainImage,
|
|
||||||
Name = r.RegionName,
|
|
||||||
X = (ushort)((r.RegionLocX / Constants.RegionSize) + x),
|
|
||||||
Y = (ushort)((r.RegionLocY / Constants.RegionSize) + y),
|
|
||||||
SizeX = (ushort)r.RegionSizeX,
|
|
||||||
SizeY = (ushort)r.RegionSizeY
|
|
||||||
};
|
|
||||||
//Child piece, so ignore it
|
|
||||||
blocks.Add(block);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return blocks;
|
return blocks;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue