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.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 4539fb38f..807bbcb9f 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -2398,7 +2398,18 @@ static void DrawTile_Station(TileInfo *ti)
}
if (IsAirport(ti->tile)) {
- switch (GetStationGfx(ti->tile)) {
+ StationGfx gfx = GetAirportGfx(ti->tile);
+ if (gfx >= NEW_AIRPORTTILE_OFFSET) {
+ const AirportTileSpec *ats = AirportTileSpec::Get(gfx);
+ if (ats->grf_prop.spritegroup != NULL && DrawNewAirportTile(ti, Station::GetByTile(ti->tile), gfx, ats)) {
+ return;
+ }
+ /* No sprite group (or no valid one) found, meaning no graphics associated.
+ * Use the substitute one instead */
+ assert(ats->grf_prop.subst_id != INVALID_AIRPORTTILE);
+ gfx = ats->grf_prop.subst_id;
+ }
+ switch (gfx) {
case APT_RADAR_GRASS_FENCE_SW:
t = &_station_display_datas_airport_radar_grass_fence_sw[GetStationAnimationFrame(ti->tile)];
break;