summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--economy.c1
-rw-r--r--station.h1
-rw-r--r--station_cmd.c3
3 files changed, 4 insertions, 1 deletions
diff --git a/economy.c b/economy.c
index 7c945fe00..76c04f041 100644
--- a/economy.c
+++ b/economy.c
@@ -1500,6 +1500,7 @@ int LoadUnloadVehicle(Vehicle *v, bool just_arrived)
if (result != 0) {
InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
+ MarkStationTilesDirty(st);
if (result & 2) InvalidateWindow(WC_STATION_VIEW, last_visited);
diff --git a/station.h b/station.h
index 0499c8aa8..1187c1f35 100644
--- a/station.h
+++ b/station.h
@@ -210,6 +210,7 @@ void GetProductionAroundTiles(AcceptedCargo produced, TileIndex tile, int w, int
void GetAcceptanceAroundTiles(AcceptedCargo accepts, TileIndex tile, int w, int h, int rad);
uint GetStationPlatforms(const Station *st, TileIndex tile);
uint GetPlatformLength(TileIndex tile, DiagDirection dir);
+void MarkStationTilesDirty(const Station *st);
const DrawTileSprites *GetStationTileLayout(byte gfx);
diff --git a/station_cmd.c b/station_cmd.c
index 3c82289d9..d2f8288a5 100644
--- a/station_cmd.c
+++ b/station_cmd.c
@@ -79,7 +79,7 @@ static bool TileBelongsToRailStation(const Station *st, TileIndex tile)
return IsTileType(tile, MP_STATION) && GetStationIndex(tile) == st->index && IsRailwayStation(tile);
}
-static void MarkStationTilesDirty(const Station *st)
+void MarkStationTilesDirty(const Station *st)
{
TileIndex tile = st->train_tile;
int w, h;
@@ -2591,6 +2591,7 @@ static void UpdateStationWaiting(Station *st, int type, uint amount)
st->goods[type].enroute_time = 0;
st->goods[type].enroute_from = st->index;
InvalidateWindow(WC_STATION_VIEW, st->index);
+ MarkStationTilesDirty(st);
}
/** Rename a station