Fix some bogus cell accesses in Map.

This commit is contained in:
Paul Chote
2014-10-05 21:22:41 +13:00
parent 9312d1915f
commit 41c296e5c2
2 changed files with 11 additions and 11 deletions

View File

@@ -271,8 +271,9 @@ namespace OpenRA.Editor
for (var i = 0; i < ChunkSize; i++)
for (var j = 0; j < ChunkSize; j++)
{
var cell = new CPos(u * ChunkSize + i, v * ChunkSize + j);
var tr = Map.MapTiles.Value[cell];
var ui = u * ChunkSize + i;
var vj = v * ChunkSize + j;
var tr = Map.MapTiles.Value[ui, vj];
var tile = TileSetRenderer.Data(tr.Type);
var index = (tr.Index < tile.Length) ? tr.Index : (byte)0;
var rawImage = tile[index];
@@ -280,9 +281,9 @@ namespace OpenRA.Editor
for (var y = 0; y < TileSetRenderer.TileSize; y++)
p[(j * TileSetRenderer.TileSize + y) * stride + i * TileSetRenderer.TileSize + x] = Palette.GetColor(rawImage[x + TileSetRenderer.TileSize * y]).ToArgb();
if (Map.MapResources.Value[cell].Type != 0)
if (Map.MapResources.Value[ui, vj].Type != 0)
{
var resourceImage = ResourceTemplates[Map.MapResources.Value[cell].Type].Bitmap;
var resourceImage = ResourceTemplates[Map.MapResources.Value[ui, vj].Type].Bitmap;
var srcdata = resourceImage.LockBits(resourceImage.Bounds(),
ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);