OpenTTD Source: src/airport.cpp File Reference

OpenTTD Source 15.0-beta1

Macros | Functions
airport.cpp File Reference

Functions related to airports. More...

`#include "stdafx.h"`
`#include "station_base.h"`
`#include "table/strings.h"`
`#include "table/airport_movement.h"`
`#include "table/airporttile_ids.h"`
`#include "safeguards.h"`
`#include "table/airport_defaults.h"`

Go to the source code of this file.

## Macros
#define | AIRPORT_GENERIC(name, terminals, num_helipads, flags, delta_z)
| Define a generic airport.
#define | AIRPORT(name, num_helipads, short_strip) AIRPORT_GENERIC(name, _airport_terminal_ ## name, num_helipads, AirportFTAClass::ALL | (short_strip ? AirportFTAClass::SHORT_STRIP : (AirportFTAClass::Flags)0), 0)
| Define an airport.
#define | HELIPORT(name, num_helipads, delta_z) AIRPORT_GENERIC(name, nullptr, num_helipads, AirportFTAClass::HELICOPTERS, delta_z)
| Define a heliport.

## Functions
static uint16_t | AirportGetNofElements (const AirportFTAbuildup *apFA)
| Get the number of elements of a source Airport state automata Since it is actually just a big array of AirportFTA types, we only know one element from the other by differing 'position' identifiers.
static AirportFTA * | AirportBuildAutomata (uint nofelements, const AirportFTAbuildup *apFA)
| Construct the FTA given a description.
AirportMovingData | RotateAirportMovingData (const AirportMovingData *orig, Direction rotation, uint num_tiles_x, uint num_tiles_y)
| Rotate the airport moving data to another rotation.
const AirportFTAClass * | GetAirport (const uint8_t airport_type)
| Get the finite state machine of an airport type.
uint8_t | GetVehiclePosOnBuild (TileIndex hangar_tile)
| Get the vehicle position when an aircraft is build at the given tile.

## Detailed Description

Functions related to airports.

Definition in file airport.cpp.

## Macro Definition Documentation

## ◆ AIRPORT

#define AIRPORT | ( |  | name,
|  |  | num_helipads,
|  |  | short_strip
| ) |  | AIRPORT_GENERIC(name, _airport_terminal_ ## name, num_helipads, AirportFTAClass::ALL | (short_strip ? AirportFTAClass::SHORT_STRIP : (AirportFTAClass::Flags)0), 0)

Define an airport.

Parameters

  name | Suffix of the names of the airport data.
  num_helipads | Number of heli pads.
  short_strip | Airport has a short land/take-off strip.

Definition at line 37 of file airport.cpp.

## ◆ AIRPORT_GENERIC

#define AIRPORT_GENERIC | ( |  | name,
|  |  | terminals,
|  |  | num_helipads,
|  |  | flags,
|  |  | delta_z
| ) |  |

Value:
static const AirportFTAClass _airportfta_ ## name(_airport_moving_data_ ## name, terminals, \
num_helipads, _airport_entries_ ## name, flags, _airport_fta_ ## name, delta_z);
AirportFTAClass
Finite sTate mAchine (FTA) of an airport.
Definition airport.h:143

Define a generic airport.

Parameters

  name | Suffix of the names of the airport data.
  terminals | The terminals.
  num_helipads | Number of heli pads.
  flags | Information about the class of FTA.
  delta_z | Height of the airport above the land.

Definition at line 27 of file airport.cpp.

## ◆ HELIPORT

#define HELIPORT | ( |  | name,
|  |  | num_helipads,
|  |  | delta_z
| ) |  | AIRPORT_GENERIC(name, nullptr, num_helipads, AirportFTAClass::HELICOPTERS, delta_z)

Define a heliport.

Parameters

  name | Suffix of the names of the helipad data.
  num_helipads | Number of heli pads.
  delta_z | Height of the airport above the land.

Definition at line 46 of file airport.cpp.

## Function Documentation

## ◆ AirportBuildAutomata()

static AirportFTA * AirportBuildAutomata | ( | uint | nofelements,
|  | const AirportFTAbuildup * | apFA
| ) |  |
| static

Construct the FTA given a description.

Parameters

  nofelements | The number of elements in the FTA.
  apFA | The description of the FTA.

Returns
  The FTA describing the airport.

Definition at line 171 of file airport.cpp.

References AirportFTA::block, AirportFTAbuildup::block, AirportFTA::heading, AirportFTAbuildup::heading, AirportFTA::next, AirportFTAbuildup::next, AirportFTA::next_position, AirportFTA::position, and AirportFTAbuildup::position.

## ◆ AirportGetNofElements()

static uint16_t AirportGetNofElements | ( | const AirportFTAbuildup * | apFA | ) |
| static

Get the number of elements of a source Airport state automata Since it is actually just a big array of AirportFTA types, we only know one element from the other by differing 'position' identifiers.

Definition at line 150 of file airport.cpp.

References MAX_ELEMENTS, and AirportFTAbuildup::position.

## ◆ GetAirport()

const AirportFTAClass * GetAirport | ( | const uint8_t | airport_type | ) |

Get the finite state machine of an airport type.

Parameters

  airport_type | Airport type to query FTA from.

See also
  AirportTypes

Returns
  Finite state machine of the airport.

Definition at line 207 of file airport.cpp.

References AT_DUMMY, AirportSpec::fsm, and AirportSpec::Get().

Referenced by AircraftController(), AircraftNextAirportPos_and_Order(), and CmdBuildAirport().

## ◆ GetVehiclePosOnBuild()

uint8_t GetVehiclePosOnBuild | ( | TileIndex | hangar_tile | ) |

Get the vehicle position when an aircraft is build at the given tile.

Parameters

  hangar_tile | The tile on which the vehicle is build

Returns
  The position (index in airport node array) where the aircraft ends up

Definition at line 218 of file airport.cpp.

References Station::airport, BaseStation::GetByTile(), Airport::GetFTA(), Airport::GetHangarTile(), HANGAR, AirportFTA::heading, AirportFTAClass::layout, and AirportFTA::position.

Referenced by CmdBuildAircraft().

## ◆ RotateAirportMovingData()

AirportMovingData RotateAirportMovingData | ( | const AirportMovingData * | orig,
|  | Direction | rotation,
|  | uint | num_tiles_x,
|  | uint | num_tiles_y
| ) |  |

Rotate the airport moving data to another rotation.

Parameters

  orig | Pointer to the moving data to rotate.
  rotation | How to rotate the moving data.
  num_tiles_x | Number of tiles in x direction.
  num_tiles_y | Number of tiles in y direction.

Returns
  The rotated moving data.

Definition at line 80 of file airport.cpp.

References ChangeDir(), DIR_E, DIR_N, DIR_S, DIR_W, AirportMovingData::direction, AirportMovingData::flag, TILE_SIZE, AirportMovingData::x, and AirportMovingData::y.

Referenced by AircraftController().