src/build_vehicle_gui.cpp
changeset 10430 3125f2adebc5
parent 10208 72c00af5c95d
--- a/src/build_vehicle_gui.cpp	Tue Dec 16 20:15:36 2008 +0000
+++ b/src/build_vehicle_gui.cpp	Tue Dec 16 22:02:12 2008 +0000
@@ -566,8 +566,6 @@
 /* Draw road vehicle specific details */
 static int DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number, const RoadVehicleInfo *rvi)
 {
-	bool refittable = (EngInfo(engine_number)->refit_mask != 0);
-
 	/* Purchase cost - Max speed */
 	SetDParam(0, GetEngineProperty(engine_number, 0x11, rvi->cost_factor) * (_price.roadveh_base >> 3) >> 5);
 	SetDParam(1, rvi->max_speed * 10 / 32);
@@ -580,7 +578,7 @@
 	y += 10;
 
 	/* Cargo type + capacity */
-	return DrawCargoCapacityInfo(x, y, engine_number, VEH_ROAD, refittable);
+	return DrawCargoCapacityInfo(x, y, engine_number, VEH_ROAD, IsEngineRefittable(engine_number));
 }
 
 /* Draw ship specific details */
@@ -595,7 +593,7 @@
 	/* Cargo type + capacity */
 	SetDParam(0, svi->cargo_type);
 	SetDParam(1, GetEngineProperty(engine_number, 0x0D, svi->capacity));
-	SetDParam(2, svi->refittable ? STR_9842_REFITTABLE : STR_EMPTY);
+	SetDParam(2, IsEngineRefittable(engine_number) ? STR_9842_REFITTABLE : STR_EMPTY);
 	DrawString(x, y, STR_PURCHASE_INFO_CAPACITY, TC_FROMSTRING);
 	y += 10;
 
@@ -654,15 +652,13 @@
 	const Engine *e = GetEngine(engine_number);
 	YearMonthDay ymd;
 	ConvertDateToYMD(e->intro_date, &ymd);
-	bool refitable = false;
+	bool refittable = IsEngineRefittable(engine_number);
 
 	switch (e->type) {
 		default: NOT_REACHED();
 		case VEH_TRAIN: {
 			const RailVehicleInfo *rvi = RailVehInfo(engine_number);
-			uint capacity = GetEngineProperty(engine_number, 0x14, rvi->capacity);
-
-			refitable = (EngInfo(engine_number)->refit_mask != 0) && (capacity > 0);
+			refittable &= GetEngineProperty(engine_number, 0x14, rvi->capacity) > 0;
 
 			if (rvi->railveh_type == RAILVEH_WAGON) {
 				y = DrawRailWagonPurchaseInfo(x, y, engine_number, rvi);
@@ -671,7 +667,7 @@
 			}
 
 			/* Cargo type + capacity, or N/A */
-			int new_y = DrawCargoCapacityInfo(x, y, engine_number, VEH_TRAIN, refitable);
+			int new_y = DrawCargoCapacityInfo(x, y, engine_number, VEH_TRAIN, refittable);
 
 			if (new_y == y) {
 				SetDParam(0, CT_INVALID);
@@ -685,16 +681,12 @@
 		}
 		case VEH_ROAD:
 			y = DrawRoadVehPurchaseInfo(x, y, engine_number, RoadVehInfo(engine_number));
-			refitable = true;
 			break;
-		case VEH_SHIP: {
-			const ShipVehicleInfo *svi = ShipVehInfo(engine_number);
-			y = DrawShipPurchaseInfo(x, y, engine_number, svi);
-			refitable = svi->refittable;
-		} break;
+		case VEH_SHIP:
+			y = DrawShipPurchaseInfo(x, y, engine_number, ShipVehInfo(engine_number));
+			break;
 		case VEH_AIRCRAFT:
 			y = DrawAircraftPurchaseInfo(x, y, engine_number, AircraftVehInfo(engine_number));
-			refitable = true;
 			break;
 	}
 
@@ -714,7 +706,7 @@
 
 	/* Additional text from NewGRF */
 	y += ShowAdditionalText(x, y, w, engine_number);
-	if (refitable) y += ShowRefitOptionsList(x, y, w, engine_number);
+	if (refittable) y += ShowRefitOptionsList(x, y, w, engine_number);
 
 	return y;
 }