97 RUNWAY_IN_OUT_block = 1ULL << 8,
98 RUNWAY_IN_block = 1ULL << 8,
99 AIRPORT_BUSY_block = 1ULL << 8,
100 RUNWAY_OUT_block = 1ULL << 9,
101 TAXIWAY_BUSY_block = 1ULL << 10,
102 OUT_WAY_block = 1ULL << 11,
103 IN_WAY_block = 1ULL << 12,
104 AIRPORT_ENTRANCE_block = 1ULL << 13,
105 TERM_GROUP1_block = 1ULL << 14,
106 TERM_GROUP2_block = 1ULL << 15,
107 HANGAR2_AREA_block = 1ULL << 16,
108 TERM_GROUP2_ENTER1_block = 1ULL << 17,
109 TERM_GROUP2_ENTER2_block = 1ULL << 18,
110 TERM_GROUP2_EXIT1_block = 1ULL << 19,
111 TERM_GROUP2_EXIT2_block = 1ULL << 20,
112 PRE_HELIPAD_block = 1ULL << 21,
118 HANGAR1_AREA_block = 1ULL << 26,
119 OUT_WAY2_block = 1ULL << 27,
120 IN_WAY2_block = 1ULL << 28,
121 RUNWAY_IN2_block = 1ULL << 29,
124 OUT_WAY_block2 = 1ULL << 31,
127 NOTHING_block = 1ULL << 30,
static const uint64_t TERM7_block
Block belonging to terminal 7.
static const uint64_t TERM4_block
Block belonging to terminal 4.
static const uint MAX_HELIPADS
maximum number of helipads per airport
static const uint64_t HELIPAD_GROUP_block
static const uint MAX_ELEMENTS
maximum number of aircraft positions at airport
static const uint64_t TERM2_block
Block belonging to terminal 2.
static const uint64_t TERM1_block
Movement Blocks on Airports blocks (eg_airport_flags).
static const uint INVALID_AIRPORTTILE
id for an invalid airport tile
static const uint64_t TERM5_block
Block belonging to terminal 5.
static const uint64_t TERM3_block
Block belonging to terminal 3.
static const uint64_t TERM8_block
Block belonging to terminal 8.
static const uint MAX_TERMINALS
Some airport-related constants.
static const uint NEW_AIRPORTTILE_OFFSET
offset of first newgrf airport tile
AirportTypes
Airport types.
@ AT_HELIDEPOT
Heli depot.
@ AT_INVALID
Invalid airport.
@ AT_METROPOLITAN
Metropolitan airport.
@ NUM_AIRPORTS
Maximal number of airports in total.
@ AT_HELISTATION
Heli station airport.
@ NEW_AIRPORT_OFFSET
Number of the first newgrf airport.
@ NUM_AIRPORTS_PER_GRF
Maximal number of airports per NewGRF.
@ AT_INTERCON
Intercontinental airport.
@ AT_INTERNATIONAL
International airport.
@ AT_COMMUTER
Commuter airport.
@ AT_OILRIG
Oilrig airport.
AirportMovingDataFlags
Flags for airport movement data.
@ AMED_BRAKE
Taxiing at the airport.
@ AMED_HOLD
Holding pattern movement (above the airport).
@ AMED_SLOWTURN
Turn slowly (mostly used in the air).
@ AMED_HELI_LOWER
Helicopter landing.
@ AMED_LAND
Landing onto landing strip.
@ AMED_NOSPDCLAMP
No speed restrictions.
@ AMED_TAKEOFF
Takeoff movement.
@ AMED_EXACTPOS
Go exactly to the destination coordinates.
@ AMED_HELI_RAISE
Helicopter take-off.
uint8_t GetVehiclePosOnBuild(TileIndex hangar_tile)
Get the vehicle position when an aircraft is build at the given tile.
static const uint NUM_AIRPORTTILES_PER_GRF
Number of airport tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte l...
const AirportFTAClass * GetAirport(const uint8_t airport_type)
Get the finite state machine of an airport type.
AirportMovingData RotateAirportMovingData(const AirportMovingData *orig, Direction rotation, uint num_tiles_x, uint num_tiles_y)
Rotate the airport moving data to another rotation.
static const uint64_t AIRPORT_CLOSED_block
Dummy block for indicating a closed airport.
static const uint64_t HELIPAD2_block
Block belonging to helipad 2.
static const uint NUM_AIRPORTTILES
Total number of airport tiles.
static const uint64_t TERM6_block
Block belonging to terminal 6.
static const uint64_t HELIPAD3_block
Block belonging to helipad 3.
static const uint64_t HELIPAD1_block
Block belonging to helipad 1.
AirportMovementStates
Movement States on Airports (headings target)
@ HELITAKEOFF
Helicopter wants to leave the airport.
@ TERM4
Heading for terminal 4.
@ STARTTAKEOFF
Airplane has arrived at a runway for take-off.
@ HELIPAD2
Heading for helipad 2.
@ ENDTAKEOFF
Airplane has reached end-point of the take-off runway.
@ TERM5
Heading for terminal 5.
@ TERM6
Heading for terminal 6.
@ TERM3
Heading for terminal 3.
@ TERM8
Heading for terminal 8.
@ HELIPAD3
Heading for helipad 3.
@ HELIPAD1
Heading for helipad 1.
@ TERM2
Heading for terminal 2.
@ HANGAR
Heading for hangar.
@ FLYING
Vehicle is flying in the air.
@ TAKEOFF
Airplane wants to leave the airport.
@ HELILANDING
Helicopter wants to land.
@ TO_ALL
Go in this direction for every target.
@ ENDLANDING
Airplane wants to finish landing.
@ HELIENDLANDING
Helicopter wants to finish landing.
@ MAX_HEADINGS
Last valid target to head for.
@ TERM1
Heading for terminal 1.
@ LANDING
Airplane wants to land.
@ TERM7
Heading for terminal 7.
@ TERMGROUP
Aircraft is looking for a free terminal in a terminalgroup.
static const uint64_t RUNWAY_OUT2_block
Different types to 'show' directions.
Direction
Defines the 8 directions on the map.
#define DECLARE_ENUM_AS_BIT_SET(enum_type)
Operators to allow to work with enum as with type safe bit set in C++.
Finite sTate mAchine (FTA) of an airport.
struct AirportFTA * layout
state machine for airport
const uint8_t num_helipads
Number of helipads on this airport. When 0 helicopters will go to normal terminals.
const AirportMovingData * MovingData(uint8_t position) const
Get movement data at a position.
uint8_t delta_z
Z adjustment for helicopter pads.
const uint8_t * terminals
Array with the number of terminal groups, followed by the number of terminals in each group.
const uint8_t * entry_points
when an airplane arrives at this airport, enter it at position entry_point, index depends on directio...
uint8_t nofelements
number of positions the airport consists of
Flags flags
Flags for this airport type.
Flags
Bitmask of airport flags.
@ AIRPLANES
Can planes land on this airport type?
@ ALL
Mask to check for both planes and helicopters.
@ SHORT_STRIP
This airport has a short landing strip, dangerous for fast aircraft.
@ HELICOPTERS
Can helicopters land on this airport type?
const AirportMovingData * moving_data
Movement data.
Internal structure used in openttd - Finite sTate mAchine --> FTA.
AirportFTA * next
possible extra movement choices from this position
uint8_t heading
heading (current orders), guiding an airplane to its target on an airport
uint64_t block
64 bit blocks (st->airport.flags), should be enough for the most complex airports
uint8_t position
the position that an airplane is at
uint8_t next_position
next position from this position
State machine input struct (from external file, etc.) Finite sTate mAchine --> FTA.
A single location on an airport where aircraft can move to.
uint16_t flag
special flags when moving towards the destination.
int16_t x
x-coordinate of the destination.
int16_t y
y-coordinate of the destination.
Direction direction
Direction to turn the aircraft after reaching the destination.