# airport.h File Reference

Various declarations for airports. More...

`#include "direction_type.h"`
`#include "map_type.h"`
`#include "tile_type.h"`

Go to the source code of this file.

## Data Structures
struct | AirportMovingData
struct | AirportFTAClass
| Finite sTate mAchine --> FTA. More...
struct | AirportFTA
| internal structure used in openttd - Finite sTate mAchine --> FTA More...
## Enumerations
enum | { MAX_TERMINALS = 10 }
enum | { MAX_HELIPADS = 4 }
enum | { MAX_ELEMENTS = 255 }
enum | { MAX_HEADINGS = 22 }
enum | { AT_SMALL = 0, AT_LARGE = 1, AT_HELIPORT = 2, AT_METROPOLITAN = 3, AT_INTERNATIONAL = 4, AT_COMMUTER = 5, AT_HELIDEPOT = 6, AT_INTERCON = 7, AT_HELISTATION = 8, AT_OILRIG = 15, AT_DUMMY = 255 }
enum | { AMED_NOSPDCLAMP = 1 << 0, AMED_TAKEOFF = 1 << 1, AMED_SLOWTURN = 1 << 2, AMED_LAND = 1 << 3, AMED_EXACTPOS = 1 << 4, AMED_BRAKE = 1 << 5, AMED_HELI_RAISE = 1 << 6, AMED_HELI_LOWER = 1 << 7, AMED_HOLD = 1 << 8 }
enum | { TO_ALL = 0, HANGAR = 1, TERM1 = 2, TERM2 = 3, TERM3 = 4, TERM4 = 5, TERM5 = 6, TERM6 = 7, HELIPAD1 = 8, HELIPAD2 = 9, TAKEOFF = 10, STARTTAKEOFF = 11, ENDTAKEOFF = 12, HELITAKEOFF = 13, FLYING = 14, LANDING = 15, ENDLANDING = 16, HELILANDING = 17, HELIENDLANDING = 18, TERM7 = 19, TERM8 = 20, HELIPAD3 = 21, HELIPAD4 = 22 }
## Functions
void | InitializeAirports ()
void | UnInitializeAirports ()
const AirportFTAClass * | GetAirport (const byte airport_type)
uint32 | GetValidAirports ()
| Get buildable airport bitmask.
## Variables
static const uint64 | TERM1_block = 1ULL << 0
static const uint64 | TERM2_block = 1ULL << 1
static const uint64 | TERM3_block = 1ULL << 2
static const uint64 | TERM4_block = 1ULL << 3
static const uint64 | TERM5_block = 1ULL << 4
static const uint64 | TERM6_block = 1ULL << 5
static const uint64 | HELIPAD1_block = 1ULL << 6
static const uint64 | HELIPAD2_block = 1ULL << 7
static const uint64 | RUNWAY_IN_OUT_block = 1ULL << 8
static const uint64 | RUNWAY_IN_block = 1ULL << 8
static const uint64 | AIRPORT_BUSY_block = 1ULL << 8
static const uint64 | RUNWAY_OUT_block = 1ULL << 9
static const uint64 | TAXIWAY_BUSY_block = 1ULL << 10
static const uint64 | OUT_WAY_block = 1ULL << 11
static const uint64 | IN_WAY_block = 1ULL << 12
static const uint64 | AIRPORT_ENTRANCE_block = 1ULL << 13
static const uint64 | TERM_GROUP1_block = 1ULL << 14
static const uint64 | TERM_GROUP2_block = 1ULL << 15
static const uint64 | HANGAR2_AREA_block = 1ULL << 16
static const uint64 | TERM_GROUP2_ENTER1_block = 1ULL << 17
static const uint64 | TERM_GROUP2_ENTER2_block = 1ULL << 18
static const uint64 | TERM_GROUP2_EXIT1_block = 1ULL << 19
static const uint64 | TERM_GROUP2_EXIT2_block = 1ULL << 20
static const uint64 | PRE_HELIPAD_block = 1ULL << 21
static const uint64 | TERM7_block = 1ULL << 22
static const uint64 | TERM8_block = 1ULL << 23
static const uint64 | TERM9_block = 1ULL << 24
static const uint64 | HELIPAD3_block = 1ULL << 24
static const uint64 | TERM10_block = 1ULL << 25
static const uint64 | HELIPAD4_block = 1ULL << 25
static const uint64 | HANGAR1_AREA_block = 1ULL << 26
static const uint64 | OUT_WAY2_block = 1ULL << 27
static const uint64 | IN_WAY2_block = 1ULL << 28
static const uint64 | RUNWAY_IN2_block = 1ULL << 29
static const uint64 | RUNWAY_OUT2_block = 1ULL << 10
| note re-uses TAXIWAY_BUSY
static const uint64 | HELIPAD_GROUP_block = 1ULL << 13
| note re-uses AIRPORT_ENTRANCE
static const uint64 | OUT_WAY_block2 = 1ULL << 31
static const uint64 | NOTHING_block = 1ULL << 30

## Detailed Description

Various declarations for airports.

Definition in file airport.h.

## Function Documentation

uint32 GetValidAirports | ( |  | ) |

Get buildable airport bitmask.

Returns:
  get all buildable airports at this given time, bitmasked. Bit 0 means the small airport is buildable, etc.

Todo:
  set availability of airports by year, instead of airplane

Definition at line 475 of file airport.cpp.

References _cur_year, _settings_game, StationSettings::always_small_airport, SetBit(), and GameSettings::station.

Referenced by CmdBuildAirport(), and AIAirport::IsValidAirportType().