changeset 5855:ba456601f207 draft

(svn r8429) -Codechange: Add a name for AircraftVehicleInfo subtype helicopter and remove some magic numbers related to the subtype.
author Darkvater <Darkvater@openttd.org>
date Sat, 27 Jan 2007 12:45:55 +0000
parents b52317eb405c
children 7b0dbb928a46
files src/engine.h src/newgrf.cpp src/table/engines.h src/vehicle.cpp
diffstat 4 files changed, 11 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/engine.h
+++ b/src/engine.h
@@ -45,8 +45,11 @@
 	bool refittable;
 } ShipVehicleInfo;
 
-/* AircraftVehicleInfo subtypes */
+/* AircraftVehicleInfo subtypes, bitmask type.
+ * If bit 0 is 0 then it is a helicopter, otherwise it is a plane
+ * in which case bit 1 tells us whether it's a big(fast) plane or not */
 enum {
+	AIR_HELI = 0,
 	AIR_CTOL = 1, // Conventional Take Off and Landing, i.e. planes
 	AIR_FAST = 2
 };
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -745,15 +745,15 @@
 		case 0x09: /* Helicopter */
 			FOR_EACH_OBJECT {
 				if (grf_load_byte(&buf) == 0) {
-					avi[i].subtype = 0;
+					avi[i].subtype = AIR_HELI;
 				} else {
-					SB(avi[i].subtype, 0, 1, 1);
+					SB(avi[i].subtype, 0, 1, 1); // AIR_CTOL
 				}
 			}
 			break;
 
 		case 0x0A: /* Large */
-			FOR_EACH_OBJECT SB(avi[i].subtype, 1, 1, (grf_load_byte(&buf) != 0 ? 1 : 0));
+			FOR_EACH_OBJECT SB(avi[i].subtype, 1, 1, (grf_load_byte(&buf) != 0 ? 1 : 0)); // AIR_FAST
 			break;
 
 		case 0x0B: /* Cost factor */
--- a/src/table/engines.h
+++ b/src/table/engines.h
@@ -518,7 +518,7 @@
  * @param i passenger_capacity
  */
 #define AVI(a, b, c, d, e, f, g, h, i) { a, b, c, d, {e}, f, g, h, i }
-#define H 0
+#define H AIR_HELI
 #define P AIR_CTOL
 #define J AIR_CTOL | AIR_FAST
 const AircraftVehicleInfo orig_aircraft_vehicle_info[NUM_AIRCRAFT_ENGINES] = {
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -2891,9 +2891,9 @@
 				const AircraftVehicleInfo *avi = AircraftVehInfo(engine_type);
 				if (cargo_type == CT_INVALID) cargo_type = CT_PASSENGERS;
 				switch (avi->subtype) {
-					case 0: scheme = LS_HELICOPTER; break;
-					case 1: scheme = LS_SMALL_PLANE; break;
-					case 3: scheme = LS_LARGE_PLANE; break;
+					case AIR_HELI: scheme = LS_HELICOPTER; break;
+					case AIR_CTOL: scheme = LS_SMALL_PLANE; break;
+					case AIR_CTOL | AIR_FAST: scheme = LS_LARGE_PLANE; break;
 				}
 				break;
 			}