(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)
authorcelestar
Sat, 15 Jan 2005 08:40:32 +0000
changeset 1018 d151a4ce741c
parent 1017 608592d4d7a6
child 1019 6363b8a4273e
(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
--- a/aircraft_cmd.c	Sat Jan 15 01:52:23 2005 +0000
+++ b/aircraft_cmd.c	Sat Jan 15 08:40:32 2005 +0000
@@ -508,6 +508,19 @@
 	}
 }
 
+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 @@
 	SubtractMoneyFromPlayerFract(v->owner, cost);
 
 	InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
-	InvalidateWindow(WC_AIRCRAFT_LIST, v->owner);
+	
+	InvalidateAircraftWindows(v);
 }
 
 void AircraftYearlyLoop()
@@ -1230,6 +1244,7 @@
 			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);