OpenTTD Source  20240919-master-gdf0233f4c2
airport.cpp File Reference
#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. More...
 
#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. More...
 
#define HELIPORT(name, num_helipads, delta_z)   AIRPORT_GENERIC(name, nullptr, num_helipads, AirportFTAClass::HELICOPTERS, delta_z)
 Define a heliport. More...
 

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 AirportFTAAirportBuildAutomata (uint nofelements, const AirportFTAbuildup *apFA)
 Construct the FTA given a description. More...
 
AirportMovingData RotateAirportMovingData (const AirportMovingData *orig, Direction rotation, uint num_tiles_x, uint num_tiles_y)
 Rotate the airport moving data to another rotation. More...
 
const AirportFTAClassGetAirport (const uint8_t airport_type)
 Get the finite state machine of an airport type. More...
 
uint8_t GetVehiclePosOnBuild (TileIndex hangar_tile)
 Get the vehicle position when an aircraft is build at the given tile. More...
 

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
nameSuffix of the names of the airport data.
num_helipadsNumber of heli pads.
short_stripAirport 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);

Define a generic airport.

Parameters
nameSuffix of the names of the airport data.
terminalsThe terminals.
num_helipadsNumber of heli pads.
flagsInformation about the class of FTA.
delta_zHeight 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
nameSuffix of the names of the helipad data.
num_helipadsNumber of heli pads.
delta_zHeight 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
nofelementsThe number of elements in the FTA.
apFAThe description of the FTA.
Returns
The FTA describing the airport.

Definition at line 171 of file airport.cpp.

◆ GetAirport()

const AirportFTAClass* GetAirport ( const uint8_t  airport_type)

Get the finite state machine of an airport type.

Parameters
airport_typeAirport 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().

◆ GetVehiclePosOnBuild()

uint8_t GetVehiclePosOnBuild ( TileIndex  hangar_tile)

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

Parameters
hangar_tileThe 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, SpecializedStation< Station, false >::GetByTile(), Airport::GetFTA(), Airport::GetHangarTile(), HANGAR, AirportFTA::heading, AirportFTAClass::layout, and AirportFTA::position.

◆ 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
origPointer to the moving data to rotate.
rotationHow to rotate the moving data.
num_tiles_xNumber of tiles in x direction.
num_tiles_yNumber 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.

Window::flags
WindowFlags flags
Window flags.
Definition: window_gui.h:303
AirportFTAClass
Finite sTate mAchine (FTA) of an airport.
Definition: airport.h:143