@@ -744,9 +744,16 @@ static void DeleteStationIfEmpty(BaseSta
void Station::AfterStationTileSetChange(bool adding, StationType type)
{
this->UpdateVirtCoord();
this->RecomputeCatchment();
DirtyCompanyInfrastructureWindows(this->owner);
if (adding) InvalidateWindowData(WC_STATION_LIST, this->owner, 0);
if (adding) {
MarkCatchmentTilesDirty();
InvalidateWindowData(WC_STATION_LIST, this->owner, 0);
} else {
}
switch (type) {
case STATION_RAIL:
@@ -1628,6 +1635,7 @@ CommandCost RemoveFromRailBaseStation(Ti
if (st->train_station.tile == INVALID_TILE) {
st->facilities &= ~FACIL_TRAIN;
SetWindowWidgetDirty(WC_STATION_VIEW, st->index, WID_SV_TRAINS);
st->UpdateVirtCoord();
DeleteStationIfEmpty(st);
@@ -1662,6 +1670,7 @@ CommandCost CmdRemoveFromRailStation(DoC
if (st->train_station.tile == INVALID_TILE) SetWindowWidgetDirty(WC_STATION_VIEW, st->index, WID_SV_TRAINS);
st->MarkTilesDirty(false);
st->RecomputeCatchment();
@@ -3495,7 +3495,7 @@ CommandCost CmdScrollViewport(DoCommandF
return CommandCost();
static void MarkCatchmentTilesDirty()
void MarkCatchmentTilesDirty()
if (_viewport_highlight_town != nullptr) {
MarkWholeScreenDirty();
@@ -98,5 +98,6 @@ struct Town;
void SetViewportCatchmentStation(const Station *st, bool sel);
void SetViewportCatchmentTown(const Town *t, bool sel);
void MarkCatchmentTilesDirty();
#endif /* VIEWPORT_FUNC_H */
Status change: