(svn r8429) -Codechange: Add a name for AircraftVehicleInfo subtype helicopter and remove some magic numbers related to the subtype.

This commit is contained in:
Darkvater 2007-01-27 12:45:55 +00:00
parent 50ca901b40
commit 08c21c0c61
4 changed files with 11 additions and 8 deletions

View File

@ -45,8 +45,11 @@ typedef struct ShipVehicleInfo {
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
};

View File

@ -745,15 +745,15 @@ static bool AircraftVehicleChangeInfo(uint engine, int numinfo, int prop, byte *
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 */

View File

@ -518,7 +518,7 @@ const ShipVehicleInfo orig_ship_vehicle_info[NUM_SHIP_ENGINES] = {
* @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] = {

View File

@ -2891,9 +2891,9 @@ static SpriteID GetEngineColourMap(EngineID engine_type, PlayerID player, Engine
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;
}