(svn r1652) Fix: train and road vehicle lists are now redrawn when vehicles enters/leaves a depot (Hackykid)
authorbjarni
Mon, 24 Jan 2005 22:24:47 +0000
changeset 1151 06c115ce7b7a
parent 1150 7b5946a53372
child 1152 e1e41020a099
(svn r1652) Fix: train and road vehicle lists are now redrawn when vehicles enters/leaves a depot (Hackykid)
fix: the ship status bar was not updated properly after a breakdown if show_speed was off (Hackykid)
aircraft_cmd.c
roadveh_cmd.c
roadveh_gui.c
ship_cmd.c
train_cmd.c
train_gui.c
--- a/aircraft_cmd.c	Mon Jan 24 22:09:20 2005 +0000
+++ b/aircraft_cmd.c	Mon Jan 24 22:24:47 2005 +0000
@@ -1029,15 +1029,15 @@
 			v->current_order.type == OT_LOADING) {
 		if (v->current_order.type != OT_GOTO_DEPOT ||
 				!(v->current_order.flags & OF_UNLOAD))
- 			return;
- 	}
+			return;
+	}
 
 	if (v->current_order.type == OT_GOTO_DEPOT &&
 			(v->current_order.flags & (OF_UNLOAD | OF_FULL_LOAD)) == (OF_UNLOAD | OF_FULL_LOAD) &&
- 			!VehicleNeedsService(v) &&
+			!VehicleNeedsService(v) &&
 			v->set_for_replacement == false) {
- 		v->cur_order_index++;
- 	}
+			v->cur_order_index++;
+		}
 
 	if (v->cur_order_index >= v->num_orders)
 		v->cur_order_index = 0;
--- a/roadveh_cmd.c	Mon Jan 24 22:09:20 2005 +0000
+++ b/roadveh_cmd.c	Mon Jan 24 22:24:47 2005 +0000
@@ -515,7 +515,7 @@
 
 	// Make sure it's a road/rail crossing
 	if (!IsTileType(tile, MP_STREET) ||
-	    (_map5[tile] & 0xF0) != 0x10)
+		(_map5[tile] & 0xF0) != 0x10)
 				return;
 
 	if (VehicleFromPos(tile, v, (VehicleFromPosProc*)EnumCheckRoadVehCrashTrain) != NULL)
@@ -671,7 +671,7 @@
 			(_dists[v->direction] > 0 && (x_diff >= _dists[v->direction] || x_diff < 0)) ||
 			(_dists[v->direction+8] < 0 && (y_diff <= _dists[v->direction+8] || y_diff > 0)) ||
 			(_dists[v->direction+8] > 0 && (y_diff >= _dists[v->direction+8] || y_diff < 0)))
-   				return NULL;
+				return NULL;
 
 	return v;
 }
@@ -1408,6 +1408,7 @@
 	}
 
 	InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
+	InvalidateWindowClasses(WC_ROADVEH_LIST);
 }
 
 static void AgeRoadVehCargo(Vehicle *v)
@@ -1504,7 +1505,7 @@
 	SubtractMoneyFromPlayerFract(v->owner, cost);
 
 	InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
-	InvalidateWindow(WC_ROADVEH_LIST, v->owner);
+	InvalidateWindowClasses(WC_ROADVEH_LIST);
 }
 
 void HandleClickOnRoadVeh(Vehicle *v)
--- a/roadveh_gui.c	Mon Jan 24 22:09:20 2005 +0000
+++ b/roadveh_gui.c	Mon Jan 24 22:24:47 2005 +0000
@@ -822,7 +822,7 @@
 			DrawVehicleProfitButton(v, x, y + 13);
 
 			SetDParam(0, v->unitnumber);
-			if (IsRoadDepotTile(v->tile))
+			if (IsRoadDepotTile(v->tile) && (v->vehstatus & VS_HIDDEN))
 				str = STR_021F;
 			else
 				str = v->age > v->max_age - 366 ? STR_00E3 : STR_00E2;
--- a/ship_cmd.c	Mon Jan 24 22:09:20 2005 +0000
+++ b/ship_cmd.c	Mon Jan 24 22:24:47 2005 +0000
@@ -175,7 +175,7 @@
 	if (!(v->tick_counter & 1)) {
 		if (!--v->breakdown_delay) {
 			v->breakdown_ctr = 0;
-			InvalidateWindowClasses(WC_SHIPS_LIST);
+			InvalidateWindow(WC_VEHICLE_VIEW, v->index);
 		}
 	}
 }
--- a/train_cmd.c	Mon Jan 24 22:09:20 2005 +0000
+++ b/train_cmd.c	Mon Jan 24 22:24:47 2005 +0000
@@ -1336,15 +1336,21 @@
 			return false;
 
 	if (v->u.rail.force_proceed == 0) {
-		if (++v->load_unload_time_rem < 37)
+		if (++v->load_unload_time_rem < 37) {
+			InvalidateWindowClasses(WC_TRAINS_LIST);
 			return true;
+		}
+
 		v->load_unload_time_rem = 0;
 
-		if (UpdateSignalsOnSegment(v->tile, v->direction))
+		if (UpdateSignalsOnSegment(v->tile, v->direction)) {
+			InvalidateWindowClasses(WC_TRAINS_LIST);
 			return true;
+		}
 	}
 
 	VehicleServiceInDepot(v);
+	InvalidateWindowClasses(WC_TRAINS_LIST);
 	TrainPlayLeaveStationSound(v);
 
 	v->u.rail.track = 1;
@@ -2485,7 +2491,7 @@
 	/* Calculate next tile */
 	tile += TileOffsByDir(t);
 	// determine the track status on the next tile.
- 	ts = GetTileTrackStatus(tile, TRANSPORT_RAIL) & _reachable_tracks[t];
+	ts = GetTileTrackStatus(tile, TRANSPORT_RAIL) & _reachable_tracks[t];
 
 	/* Calc position within the current tile ?? */
 	x = v->x_pos & 0xF;
@@ -2690,6 +2696,7 @@
 			}
 		}
 	}
+	InvalidateWindowClasses(WC_TRAINS_LIST);
 }
 
 static void CheckIfTrainNeedsService(Vehicle *v)
@@ -2797,7 +2804,7 @@
 			SubtractMoneyFromPlayerFract(v->owner, cost);
 
 			InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
-			InvalidateWindow(WC_TRAINS_LIST, v->owner);
+			InvalidateWindowClasses(WC_TRAINS_LIST);
 		}
 	}
 }
--- a/train_gui.c	Mon Jan 24 22:09:20 2005 +0000
+++ b/train_gui.c	Mon Jan 24 22:24:47 2005 +0000
@@ -1319,7 +1319,7 @@
 			DrawVehicleProfitButton(v, x, y + 13);
 
 			SetDParam(0, v->unitnumber);
-			if (IsTrainDepotTile(v->tile))
+			if (IsTrainDepotTile(v->tile) && (v->vehstatus & VS_HIDDEN))
 				str = STR_021F;
 			else
 				str = v->age > v->max_age - 366 ? STR_00E3 : STR_00E2;