(svn r8428) -Codechange: Add proper names to aircraft subtypes instead of magic numbers and add a function IsNormalAircraft() which tells us whether the aircraft is in fact some flying device or a rotor/shadow.

This commit is contained in:
Darkvater
2007-01-27 12:29:55 +00:00
parent 8bebb83de9
commit 50ca901b40
11 changed files with 74 additions and 50 deletions

View File

@@ -6,6 +6,28 @@
#include "station_map.h"
#include "vehicle.h"
typedef enum AircraftSubTypes {
AIR_HELICOPTER = 0,
AIR_AIRCRAFT = 2,
AIR_SHADOW = 4,
AIR_ROTOR = 6
} AircraftSubType;
/** Check if the aircraft type is a normal flying device; eg
* not a rotor or a shadow
* @param v vehicle to check
* @return Returns true if the aircraft is a helicopter/airplane and
* false if it is a shadow or a rotor) */
static inline bool IsNormalAircraft(const Vehicle *v)
{
assert(v->type == VEH_Aircraft);
/* To be fully correct the commented out functionality is the proper one,
* but since value can only be 0 or 2, it is sufficient to only check <= 2
* return (v->subtype == AIR_HELICOPTER) || (v->subtype == AIR_AIRCRAFT); */
return v->subtype <= AIR_AIRCRAFT;
}
static inline bool IsAircraftInHangar(const Vehicle* v)
{