summaryrefslogtreecommitdiff
path: root/src/station_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r--src/station_cmd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index fd3f2eab5..dc7665942 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -2649,6 +2649,13 @@ static void DrawTile_Station(TileInfo *ti)
if (!HasFoundationNW(ti->tile, slope, z)) ClrBit(parts, 6);
if (!HasFoundationNE(ti->tile, slope, z)) ClrBit(parts, 7);
+ if (parts == 0) {
+ /* We always have to draw at least one sprite to make sure there is a boundingbox and a sprite with the
+ * correct offset for the childsprites.
+ * So, draw the (completely empty) sprite of the default foundations. */
+ goto draw_default_foundation;
+ }
+
StartSpriteCombine();
for (int i = 0; i < 8; i++) {
if (HasBit(parts, i)) {
@@ -2661,6 +2668,7 @@ static void DrawTile_Station(TileInfo *ti)
OffsetGroundSprite(31, 1);
ti->z += ApplyFoundationToSlope(FOUNDATION_LEVELED, &ti->tileh);
} else {
+draw_default_foundation:
DrawFoundation(ti, FOUNDATION_LEVELED);
}
}