summaryrefslogtreecommitdiff
path: root/landscape.c
diff options
context:
space:
mode:
Diffstat (limited to 'landscape.c')
-rw-r--r--landscape.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/landscape.c b/landscape.c
index 0b083ebc3..46fc11bcd 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);
}