diff --git a/landscape.c b/landscape.c index 0b083ebc3b..46fc11bcd7 100644 --- a/landscape.c +++ b/landscape.c @@ -195,7 +195,7 @@ static bool HasFoundationNE(TileIndex tile, Slope slope_here, uint z_here) void DrawFoundation(TileInfo *ti, uint f) { - uint32 sprite_base = SPR_SLOPES_BASE-14; + uint32 sprite_base = SPR_SLOPES_BASE - 15; Slope slope; uint z; @@ -205,24 +205,16 @@ void DrawFoundation(TileInfo *ti, uint f) if (f < 15) { // leveled foundation - if (sprite_base < SPR_SLOPES_BASE) sprite_base = SPR_FOUNDATION_BASE + 1; // use original slope sprites + // Use the original slope sprites if NW and NE borders should be visible + if (sprite_base == SPR_SLOPES_BASE - 15) sprite_base = SPR_FOUNDATION_BASE; - AddSortableSpriteToDraw(f - 1 + sprite_base, ti->x, ti->y, 16, 16, 7, ti->z); + AddSortableSpriteToDraw(sprite_base + f, ti->x, ti->y, 16, 16, 7, ti->z); ti->z += TILE_HEIGHT; ti->tileh = SLOPE_FLAT; OffsetGroundSprite(31, 1); } else { // inclined foundation - sprite_base += 14; - -#define M(x) (1 << (x)) - AddSortableSpriteToDraw( - HASBIT(M(SLOPE_W) | M(SLOPE_S) | M(SLOPE_E) | M(SLOPE_N), ti->tileh) ? - sprite_base + (f - 15) : SPR_FOUNDATION_BASE + ti->tileh, - ti->x, ti->y, 16, 16, 1, ti->z - ); -#undef M - + AddSortableSpriteToDraw(sprite_base + f, ti->x, ti->y, 16, 16, 1, ti->z); ti->tileh = _inclined_tileh[f - 15]; OffsetGroundSprite(31, 9); }