Fix: Redraw orders when a station feature is added/removed. (#12061)

This commit is contained in:
Joan Josep 2024-02-11 18:47:49 +01:00 committed by GitHub
parent 9ec9c8d8b5
commit 1b33b4058e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 0 deletions

View File

@ -233,6 +233,7 @@ void Station::AddFacility(StationFacility new_facility_bit, TileIndex facil_xy)
this->facilities |= new_facility_bit;
this->owner = _current_company;
this->build_date = TimerGameCalendar::date;
SetWindowClassesDirty(WC_VEHICLE_ORDERS);
}
/**

View File

@ -1695,6 +1695,7 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, std::vector<T *> &affected_st
/* if we deleted the whole station, delete the train facility. */
if (st->train_station.tile == INVALID_TILE) {
st->facilities &= ~FACIL_TRAIN;
SetWindowClassesDirty(WC_VEHICLE_ORDERS);
SetWindowWidgetDirty(WC_STATION_VIEW, st->index, WID_SV_TRAINS);
MarkCatchmentTilesDirty();
st->UpdateVirtCoord();
@ -2142,6 +2143,7 @@ static CommandCost RemoveRoadStop(TileIndex tile, DoCommandFlag flags, int repla
/* removed the only stop? */
if (*primary_stop == nullptr) {
st->facilities &= (is_truck ? ~FACIL_TRUCK_STOP : ~FACIL_BUS_STOP);
SetWindowClassesDirty(WC_VEHICLE_ORDERS);
}
} else {
/* tell the predecessor in the list to skip this stop */
@ -2574,6 +2576,7 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags)
st->airport.Clear();
st->facilities &= ~FACIL_AIRPORT;
SetWindowClassesDirty(WC_VEHICLE_ORDERS);
InvalidateWindowData(WC_STATION_VIEW, st->index, -1);
@ -2827,6 +2830,7 @@ static CommandCost RemoveDock(TileIndex tile, DoCommandFlag flags)
st->ship_station.Clear();
st->docking_station.Clear();
st->facilities &= ~FACIL_DOCK;
SetWindowClassesDirty(WC_VEHICLE_ORDERS);
}
Company::Get(st->owner)->infrastructure.station -= 2;