fixes #94
This commit is contained in:
@@ -58,8 +58,8 @@ namespace OpenRa.Game.Graphics
|
||||
var sprites = overlaySprites[o];
|
||||
var spriteIndex = 0;
|
||||
if (Ore.overlayIsFence[o]) spriteIndex = NearbyFences(x, y);
|
||||
else if (Ore.overlayIsOre[o]) spriteIndex = map.MapTiles[x,y].density;
|
||||
else if (Ore.overlayIsGems[o]) spriteIndex = map.MapTiles[x,y].density;
|
||||
else if (Ore.overlayIsOre[o]) spriteIndex = map.MapTiles[x,y].density - 1;
|
||||
else if (Ore.overlayIsGems[o]) spriteIndex = map.MapTiles[x,y].density - 1;
|
||||
spriteRenderer.DrawSprite(sprites[spriteIndex],
|
||||
Game.CellSize * (float2)location, 0);
|
||||
}
|
||||
|
||||
@@ -81,22 +81,24 @@ namespace OpenRa.Game
|
||||
|
||||
static byte GetOreDensity(this Map map, int i, int j)
|
||||
{
|
||||
// perf fix. it's ugly, i know :(
|
||||
int sum = 0;
|
||||
for (var u = -1; u < 2; u++)
|
||||
for (var v = -1; v < 2; v++)
|
||||
if (map.ContainsOre(i + u, j + v))
|
||||
++sum;
|
||||
sum = sum * 3 / 2;
|
||||
if (sum > 11)
|
||||
return 11;
|
||||
sum = (sum * 4 + 2) / 3;
|
||||
return (byte)sum;
|
||||
}
|
||||
|
||||
static byte GetGemDensity(this Map map, int i, int j)
|
||||
{
|
||||
return (byte)Math.Min(2, (AdjacentTiles(new int2(i, j)).Sum(
|
||||
p => map.ContainsGem(p.X, p.Y) ? 1 : 0) / 3));
|
||||
int sum = 0;
|
||||
for (var u = -1; u < 2; u++)
|
||||
for (var v = -1; v < 2; v++)
|
||||
if (map.ContainsGem(i + u, j + v))
|
||||
++sum;
|
||||
sum = (sum+2) / 3; /* 3 gem units/tile is full. */
|
||||
return (byte)sum;
|
||||
}
|
||||
|
||||
public static bool HasOverlay(this Map map, int i, int j)
|
||||
|
||||
Reference in New Issue
Block a user