diff options
author | celestar <celestar@openttd.org> | 2005-01-15 08:40:32 +0000 |
---|---|---|
committer | celestar <celestar@openttd.org> | 2005-01-15 08:40:32 +0000 |
commit | cd6904c36b34eba0b6820804e179d1f6fabe91cd (patch) | |
tree | 7d0106c1fcaaf8d35823ce731c34fe3520be9903 | |
parent | cd4272e08d4b409b25c861a31ef80d334d0236b9 (diff) | |
download | openttd-cd6904c36b34eba0b6820804e179d1f6fabe91cd.tar.xz |
(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)
-rw-r--r-- | aircraft_cmd.c | 17 |
1 files changed, 16 insertions, 1 deletions
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); |