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 | 7f7c6297f7bb6bb225741773a5438a916a91da08 (patch) | |
tree | 7d0106c1fcaaf8d35823ce731c34fe3520be9903 | |
parent | f9b5f704b1f68520040364ff104a787bdb90a2fa (diff) | |
download | openttd-7f7c6297f7bb6bb225741773a5438a916a91da08.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); |