# HG changeset patch # User Darkvater # Date 1169901955 0 # Node ID ba456601f207c4d080db97e3d09af01747920b17 # Parent b52317eb405c00ae7fd38088033ae60ade6b912e (svn r8429) -Codechange: Add a name for AircraftVehicleInfo subtype helicopter and remove some magic numbers related to the subtype. diff --git a/src/engine.h b/src/engine.h --- 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 }; diff --git a/src/newgrf.cpp b/src/newgrf.cpp --- 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 */ diff --git a/src/table/engines.h b/src/table/engines.h --- 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] = { diff --git a/src/vehicle.cpp b/src/vehicle.cpp --- 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; }