From cd6904c36b34eba0b6820804e179d1f6fabe91cd Mon Sep 17 00:00:00 2001 From: celestar Date: Sat, 15 Jan 2005 08:40:32 +0000 Subject: (svn r1519) -Fix: [1102776], [1099535] Aircraft vehicle lists are now redrawn when an aircraft arrives in the depot. Station-specific vehicle lists are now redrawn daily as well (not only the master list) --- aircraft_cmd.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/aircraft_cmd.c b/aircraft_cmd.c index 5ea991379..4f4483ec2 100644 --- a/aircraft_cmd.c +++ b/aircraft_cmd.c @@ -508,6 +508,19 @@ static void CheckIfAircraftNeedsService(Vehicle *v) } } +void InvalidateAircraftWindows(Vehicle *v) +{ + Order *o; + + InvalidateWindow(WC_AIRCRAFT_LIST, v->owner); + + for ( o = v->schedule_ptr; o->type != OT_NOTHING; o++, i++) { + if (o->type == OT_GOTO_STATION ) { + InvalidateWindow(WC_AIRCRAFT_LIST, o->station << 16 | v->owner); + } + } +} + void OnNewDay_Aircraft(Vehicle *v) { int32 cost; @@ -535,7 +548,8 @@ void OnNewDay_Aircraft(Vehicle *v) SubtractMoneyFromPlayerFract(v->owner, cost); InvalidateWindow(WC_VEHICLE_DETAILS, v->index); - InvalidateWindow(WC_AIRCRAFT_LIST, v->owner); + + InvalidateAircraftWindows(v); } void AircraftYearlyLoop() @@ -1230,6 +1244,7 @@ static void AircraftEnterHangar(Vehicle *v) v->cur_order_index++; } else if (old_order.flags & OF_FULL_LOAD) { // force depot visit v->vehstatus |= VS_STOPPED; + InvalidateAircraftWindows(v); if (v->owner == _local_player) { SetDParam(0, v->unitnumber); -- cgit v1.2.3-70-g09d2