OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Variables
airport_movement.h File Reference

Heart of the airports and their finite state machines. More...

Go to the source code of this file.

## Data Structures
struct | AirportFTAbuildup
| State machine input struct (from external file, etc.) Finite sTate mAchine –> FTA. More...

## Macros
#define | AMD(x, y, flags, dir) { x, y, flags, {dir} }
| Airport movement data creation macro.
#define | _airport_entries_oilrig _airport_entries_heliport
#define | _airport_fta_oilrig _airport_fta_heliport

## Variables
static const AirportMovingData | _airport_moving_data_dummy []
| Dummy airport.
static const AirportMovingData | _airport_moving_data_country [22]
| Country Airfield (small) 4x3.
static const AirportMovingData | _airport_moving_data_commuter [37]
| Commuter Airfield (small) 5x4.
static const AirportMovingData | _airport_moving_data_city []
| City Airport (large) 6x6.
static const AirportMovingData | _airport_moving_data_metropolitan [28]
| Metropolitan Airport (metropolitan) - 2 runways.
static const AirportMovingData | _airport_moving_data_international [51]
| International Airport (international) - 2 runways, 6 terminals, dedicated helipad.
static const AirportMovingData | _airport_moving_data_intercontinental [77]
| Intercontinental Airport - 4 runways, 8 terminals, 2 dedicated helipads.
static const AirportMovingData | _airport_moving_data_heliport [9]
| Heliport (heliport).
static const AirportMovingData | _airport_moving_data_helidepot [18]
| HeliDepot 2x2 (heliport).
static const AirportMovingData | _airport_moving_data_helistation [33]
| HeliDepot 2x2 (heliport).
static const AirportMovingData | _airport_moving_data_oilrig [9]
| Oilrig.
static const byte | _airport_entries_dummy [] = {0, 1, 2, 3}
static const AirportFTAbuildup | _airport_fta_dummy []
static const HangarTileTable | _airport_depots_country [] = { {{3, 0}, DIR_SE, 0} }
static const byte | _airport_terminal_country [] = {1, 2}
static const byte | _airport_entries_country [] = {16, 15, 18, 17}
static const AirportFTAbuildup | _airport_fta_country []
static const HangarTileTable | _airport_depots_commuter [] = { {{4, 0}, DIR_SE, 0} }
static const byte | _airport_terminal_commuter [] = { 1, 3 }
static const byte | _airport_entries_commuter [] = {22, 21, 24, 23}
static const AirportFTAbuildup | _airport_fta_commuter []
static const HangarTileTable | _airport_depots_city [] = { {{5, 0}, DIR_SE, 0} }
static const byte | _airport_terminal_city [] = { 1, 3 }
static const byte | _airport_entries_city [] = {26, 29, 27, 28}
static const AirportFTAbuildup | _airport_fta_city []
static const HangarTileTable | _airport_depots_metropolitan [] = { {{5, 0}, DIR_SE, 0} }
static const byte | _airport_terminal_metropolitan [] = { 1, 3 }
static const byte | _airport_entries_metropolitan [] = {20, 19, 22, 21}
static const AirportFTAbuildup | _airport_fta_metropolitan []
static const HangarTileTable | _airport_depots_international [] = { {{0, 3}, DIR_SE, 0}, {{6, 1}, DIR_SE, 1} }
static const byte | _airport_terminal_international [] = { 2, 3, 3 }
static const byte | _airport_entries_international [] = { 38, 37, 40, 39 }
static const AirportFTAbuildup | _airport_fta_international []
static const HangarTileTable | _airport_depots_intercontinental [] = { {{0, 5}, DIR_SE, 0}, {{8, 4}, DIR_SE, 1} }
static const byte | _airport_terminal_intercontinental [] = { 2, 4, 4 }
static const byte | _airport_entries_intercontinental [] = { 44, 43, 46, 45 }
static const AirportFTAbuildup | _airport_fta_intercontinental []
static const byte | _airport_entries_heliport [] = { 7, 7, 7, 7 }
static const AirportFTAbuildup | _airport_fta_heliport []
static const HangarTileTable | _airport_depots_helidepot [] = { {{1, 0}, DIR_SE, 0} }
static const byte | _airport_entries_helidepot [] = { 4, 4, 4, 4 }
static const AirportFTAbuildup | _airport_fta_helidepot []
static const HangarTileTable | _airport_depots_helistation [] = { {{0, 0}, DIR_SE, 0} }
static const byte | _airport_entries_helistation [] = { 25, 25, 25, 25 }
static const AirportFTAbuildup | _airport_fta_helistation []

## Detailed Description

Heart of the airports and their finite state machines.

Definition in file airport_movement.h.

## Macro Definition Documentation

#define AMD | ( |  | x,
|  |  | y,
|  |  | flags,
|  |  | dir
| ) |  | { x, y, flags, {dir} }

Airport movement data creation macro.

Parameters

  x | X position.
  y | Y position.
  flags | Movement flags.
  dir | Direction.

Definition at line 37 of file airport_movement.h.

## Variable Documentation

const AirportFTAbuildup _airport_fta_country[]
| static

Initial value:
{
{ 0, HANGAR, NOTHING_block, 1 },
{ 1, 255, AIRPORT_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM1, TERM1_block, 2 }, { 1, TERM2, 0, 4 }, { 1, HELITAKEOFF, 0, 19 }, { 1, 0, 0, 6 },
{ 2, TERM1, TERM1_block, 1 },
{ 3, TERM2, TERM2_block, 5 },
{ 4, 255, AIRPORT_BUSY_block, 0 }, { 4, TERM2, 0, 5 }, { 4, HANGAR, 0, 1 }, { 4, TAKEOFF, 0, 6 }, { 4, HELITAKEOFF, 0, 1 },
{ 5, 255, AIRPORT_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, 0, 0, 4 },
{ 6, 0, AIRPORT_BUSY_block, 7 },
{ 7, TAKEOFF, AIRPORT_BUSY_block, 8 },
{ 8, STARTTAKEOFF, NOTHING_block, 9 },
{ 9, ENDTAKEOFF, NOTHING_block, 0 },
{ 10, FLYING, NOTHING_block, 15 }, { 10, LANDING, 0, 11 }, { 10, HELILANDING, 0, 20 },
{ 11, LANDING, AIRPORT_BUSY_block, 12 },
{ 12, 0, AIRPORT_BUSY_block, 13 },
{ 13, ENDLANDING, AIRPORT_BUSY_block, 14 }, { 13, TERM2, 0, 5 }, { 13, 0, 0, 14 },
{ 14, 0, AIRPORT_BUSY_block, 1 },
{ 15, 0, NOTHING_block, 16 },
{ 16, 0, NOTHING_block, 17 },
{ 17, 0, NOTHING_block, 18 },
{ 18, 0, NOTHING_block, 10 },
{ 19, HELITAKEOFF, NOTHING_block, 0 },
{ 20, HELILANDING, AIRPORT_BUSY_block, 21 },
{ 21, HELIENDLANDING, AIRPORT_BUSY_block, 1 },
{ MAX_ELEMENTS, 0, 0, 0 }
}

Definition at line 423 of file airport_movement.h.

const AirportFTAbuildup _airport_fta_dummy[]
| static

Initial value:
{
{ 0, 0, 0, 3},
{ 1, 0, 0, 0},
{ 2, 0, 0, 1},
{ 3, 0, 0, 2},
{ MAX_ELEMENTS, 0, 0, 0 }
}

Definition at line 410 of file airport_movement.h.

const AirportFTAbuildup _airport_fta_helidepot[]
| static

Initial value:
{
{ 0, HANGAR, NOTHING_block, 1 },
{ 1, 255, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELIPAD1, HELIPAD1_block, 14 }, { 1, HELITAKEOFF, 0, 15 }, { 1, 0, 0, 0 },
{ 2, FLYING, NOTHING_block, 3 }, { 2, HELILANDING, PRE_HELIPAD_block, 7 }, { 2, HANGAR, 0, 12 }, { 2, HELITAKEOFF, NOTHING_block, 16 },
{ 3, 0, NOTHING_block, 4 },
{ 4, 0, NOTHING_block, 5 },
{ 5, 0, NOTHING_block, 6 },
{ 6, 0, NOTHING_block, 2 },
{ 7, HELILANDING, PRE_HELIPAD_block, 8 },
{ 8, HELIENDLANDING, PRE_HELIPAD_block, 8 }, { 8, HELIPAD1, 0, 9 }, { 8, HANGAR, 0, 12 }, { 8, 0, 0, 2 },
{ 9, 0, NOTHING_block, 10 },
{ 10, 255, NOTHING_block, 10 }, { 10, HELIPAD1, HELIPAD1_block, 14 }, { 10, HANGAR, 0, 1 }, { 10, 0, 0, 14 },
{ 11, HELITAKEOFF, NOTHING_block, 0 },
{ 12, 0, HANGAR2_AREA_block, 13 },
{ 13, 0, HANGAR2_AREA_block, 1 },
{ 14, HELIPAD1, HELIPAD1_block, 14 }, { 14, HANGAR, 0, 1 }, { 14, HELITAKEOFF, 0, 17 },
{ 15, HELITAKEOFF, NOTHING_block, 0 },
{ 16, HELITAKEOFF, 0, 14 },
{ 17, 0, NOTHING_block, 11 },
{ MAX_ELEMENTS, 0, 0, 0 }
}

Definition at line 761 of file airport_movement.h.

const AirportFTAbuildup _airport_fta_heliport[]
| static

Initial value:
{
{ 0, HELIPAD1, HELIPAD1_block, 1 },
{ 1, HELITAKEOFF, NOTHING_block, 0 },
{ 2, 255, AIRPORT_BUSY_block, 0 }, { 2, HELILANDING, 0, 3 }, { 2, HELITAKEOFF, 0, 1 },
{ 3, HELILANDING, AIRPORT_BUSY_block, 4 },
{ 4, HELIENDLANDING, AIRPORT_BUSY_block, 4 }, { 4, HELIPAD1, HELIPAD1_block, 0 }, { 4, HELITAKEOFF, 0, 2 },
{ 5, 0, NOTHING_block, 6 },
{ 6, 0, NOTHING_block, 7 },
{ 7, 0, NOTHING_block, 8 },
{ 8, FLYING, NOTHING_block, 5 }, { 8, HELILANDING, HELIPAD1_block, 2 },
{ MAX_ELEMENTS, 0, 0, 0 }
}

Definition at line 742 of file airport_movement.h.

const AirportMovingData _airport_moving_data_city[]
| static

City Airport (large) 6x6.

Definition at line 116 of file airport_movement.h.

const AirportMovingData _airport_moving_data_commuter[37]
| static

Commuter Airfield (small) 5x4.

Definition at line 74 of file airport_movement.h.

const AirportMovingData _airport_moving_data_country[22]
| static

Initial value:
{
AMD( 53, 3, AMED_EXACTPOS, DIR_SE),
AMD( 53, 27, 0, DIR_N ),
AMD( 32, 23, AMED_EXACTPOS, DIR_NW),
AMD( 10, 23, AMED_EXACTPOS, DIR_NW),
AMD( 43, 37, 0, DIR_N ),
AMD( 24, 37, 0, DIR_N ),
AMD( 53, 37, 0, DIR_N ),
AMD( 61, 40, AMED_EXACTPOS, DIR_NE),
AMD( 3, 40, AMED_NOSPDCLAMP, DIR_N ),
AMD( -79, 40, AMED_NOSPDCLAMP | AMED_TAKEOFF, DIR_N ),
AMD( 177, 40, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 56, 40, AMED_NOSPDCLAMP | AMED_LAND, DIR_N ),
AMD( 3, 40, AMED_NOSPDCLAMP | AMED_BRAKE, DIR_N ),
AMD( 7, 40, 0, DIR_N ),
AMD( 53, 40, 0, DIR_N ),
AMD( 1, 193, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 1, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 257, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 273, 47, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 44, 37, AMED_HELI_RAISE, DIR_N ),
AMD( 44, 40, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 44, 40, AMED_HELI_LOWER, DIR_N ),
}

Country Airfield (small) 4x3.

Definition at line 48 of file airport_movement.h.

const AirportMovingData _airport_moving_data_dummy[]
| static

Initial value:
{
AMD( 0, 0, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 0, 96, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 96, 96, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 96, 0, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
}

Dummy airport.

Definition at line 40 of file airport_movement.h.

const AirportMovingData _airport_moving_data_helidepot[18]
| static

Initial value:
{
AMD( 24, 4, AMED_EXACTPOS, DIR_NE),
AMD( 24, 28, 0, DIR_N ),
AMD( 5, 38, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( -15, -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( -15, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 49, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 49, -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 8, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW),
AMD( 8, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW),
AMD( 8, 16, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW),
AMD( 8, 16, AMED_HELI_LOWER, DIR_NW),
AMD( 8, 24, AMED_HELI_RAISE, DIR_N ),
AMD( 32, 24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW),
AMD( 32, 24, AMED_HELI_LOWER, DIR_NW),
AMD( 8, 24, AMED_EXACTPOS, DIR_NW),
AMD( 24, 28, AMED_HELI_RAISE, DIR_N ),
AMD( 8, 24, AMED_HELI_RAISE, DIR_SW),
AMD( 8, 24, AMED_SLOWTURN | AMED_EXACTPOS, DIR_E ),
}

HeliDepot 2x2 (heliport).

Definition at line 334 of file airport_movement.h.

const AirportMovingData _airport_moving_data_heliport[9]
| static

Initial value:
{
AMD( 5, 9, AMED_EXACTPOS, DIR_NE),
AMD( 2, 9, AMED_HELI_RAISE, DIR_N ),
AMD( -3, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( -3, 9, AMED_HELI_LOWER, DIR_N ),
AMD( 2, 9, 0, DIR_N ),
AMD( -31, 59, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( -31, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 49, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 70, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
}

Heliport (heliport).

Definition at line 321 of file airport_movement.h.

const AirportMovingData _airport_moving_data_helistation[33]
| static

HeliDepot 2x2 (heliport).

Definition at line 356 of file airport_movement.h.

const AirportMovingData _airport_moving_data_intercontinental[77]
| static

Intercontinental Airport - 4 runways, 8 terminals, 2 dedicated helipads.

Definition at line 238 of file airport_movement.h.

const AirportMovingData _airport_moving_data_international[51]
| static

International Airport (international) - 2 runways, 6 terminals, dedicated helipad.

Definition at line 182 of file airport_movement.h.

const AirportMovingData _airport_moving_data_metropolitan[28]
| static

Initial value:
{
AMD( 85, 3, AMED_EXACTPOS, DIR_SE),
AMD( 85, 22, 0, DIR_N ),
AMD( 26, 41, AMED_EXACTPOS, DIR_SW),
AMD( 56, 22, AMED_EXACTPOS, DIR_SE),
AMD( 38, 8, AMED_EXACTPOS, DIR_SW),
AMD( 65, 6, 0, DIR_N ),
AMD( 80, 27, 0, DIR_N ),
AMD( 49, 58, 0, DIR_N ),
AMD( 72, 58, 0, DIR_N ),
AMD( 72, 69, 0, DIR_N ),
AMD( 89, 69, AMED_EXACTPOS, DIR_NE),
AMD( 3, 69, AMED_NOSPDCLAMP, DIR_N ),
AMD( -79, 69, AMED_NOSPDCLAMP | AMED_TAKEOFF, DIR_N ),
AMD( 177, 85, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 89, 85, AMED_NOSPDCLAMP | AMED_LAND, DIR_N ),
AMD( 3, 85, AMED_NOSPDCLAMP | AMED_BRAKE, DIR_N ),
AMD( 21, 85, 0, DIR_N ),
AMD( 21, 69, 0, DIR_N ),
AMD( 21, 58, AMED_EXACTPOS, DIR_SW),
AMD( 1, 193, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 1, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 257, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 273, 49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 44, 58, 0, DIR_N ),
AMD( 44, 63, AMED_HELI_RAISE, DIR_N ),
AMD( 15, 54, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 15, 54, AMED_HELI_LOWER, DIR_N ),
AMD( 21, 58, AMED_EXACTPOS, DIR_SW),
}

Metropolitan Airport (metropolitan) - 2 runways.

Definition at line 150 of file airport_movement.h.

const AirportMovingData _airport_moving_data_oilrig[9]
| static

Initial value:
{
AMD( 31, 9, AMED_EXACTPOS, DIR_NE),
AMD( 28, 9, AMED_HELI_RAISE, DIR_N ),
AMD( 23, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 23, 9, AMED_HELI_LOWER, DIR_N ),
AMD( 28, 9, 0, DIR_N ),
AMD( -31, 69, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( -31, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 69, -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
AMD( 69, 9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ),
}

Oilrig.

Definition at line 393 of file airport_movement.h.