summaryrefslogtreecommitdiff
path: root/aircraft_cmd.c
diff options
context:
space:
mode:
authorcelestar <celestar@openttd.org>2005-01-15 08:40:32 +0000
committercelestar <celestar@openttd.org>2005-01-15 08:40:32 +0000
commit7f7c6297f7bb6bb225741773a5438a916a91da08 (patch)
tree7d0106c1fcaaf8d35823ce731c34fe3520be9903 /aircraft_cmd.c
parentf9b5f704b1f68520040364ff104a787bdb90a2fa (diff)
downloadopenttd-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)
Diffstat (limited to 'aircraft_cmd.c')
-rw-r--r--aircraft_cmd.c17
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);