# AirportSpec Struct Reference

Defines the data structure for an airport. More...

`#include <newgrf_airport.h>`

## Public Member Functions
bool | IsAvailable () const
| Check whether this airport is available to build.
byte | GetIndex () const
| Get the index of this spec.
## Static Public Member Functions
static const AirportSpec * | Get (byte type)
| Retrieve airport spec for the given airport.
static AirportSpec * | GetWithoutOverride (byte type)
| Retrieve airport spec for the given airport.
static void | ResetAirports ()
| This function initialize the airportspec array.
## Data Fields
struct AirportFTAClass * | fsm
| the finite statemachine for the default airports
const AirportTileTable *const * | table
| list of the tiles composing the airport
Direction * | rotation
| the rotation of each tiletable
byte | num_table
| number of elements in the table
const HangarTileTable * | depot_table
| gives the position of the depots on the airports
byte | nof_depots
| the number of hangar tiles in this airport
byte | size_x
| size of airport in x direction
byte | size_y
| size of airport in y direction
byte | noise_level
| noise that this airport generates
byte | catchment
| catchment area of this airport
Year | min_year
| first year the airport is available
Year | max_year
| last year the airport is available
StringID | name
| name of this airport
TTDPAirportType | ttd_airport_type
| ttdpatch airport type (Small/Large/Helipad/Oilrig)
AirportClassID | cls_id
| the class to which this airport type belongs
SpriteID | preview_sprite
| preview sprite for this airport
bool | enabled
| entity still avaible (by default true).newgrf can disable it, though
struct GRFFileProps | grf_prop
| properties related the the grf file
## Static Public Attributes
static AirportSpec | dummy = AS_GENERIC(&_airportfta_dummy, NULL, _default_airports_rotation, 0, NULL, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR, ATP_TTDP_LARGE, APC_BEGIN, STR_NULL, 0, false)
## Static Private Attributes
static AirportSpec | specs [NUM_AIRPORTS]
| Airport specifications.

## Detailed Description

Defines the data structure for an airport.

Definition at line 61 of file newgrf_airport.h.

## Member Function Documentation

const AirportSpec * AirportSpec::Get | ( | byte | type | ) | `[static]`

Retrieve airport spec for the given airport.

If an override is available it is returned.

Parameters:

  | type | index of airport

Returns:
  A pointer to the corresponding AirportSpec

Definition at line 48 of file newgrf_airport.cpp.

References enabled, OverrideManagerBase::GetSubstituteID(), grf_prop, lengthof, GRFFileProps::override, and specs.

Referenced by CmdBuildAirport(), GetAirport(), AIAirport::GetAirportCoverageRadius(), AIAirport::GetNearestTown(), AIAirport::GetNoiseLevelIncrease(), AIAirport::GetPrice(), Airport::GetSpec(), AIAirport::IsAirportInformationAvailable(), AIAirport::IsValidAirportType(), and BuildAirportWindow::UpdateWidgetSize().

byte AirportSpec::GetIndex | ( |  | ) | const`[inline]`

Get the index of this spec.

Definition at line 90 of file newgrf_airport.h.

References endof, and specs.

AirportSpec * AirportSpec::GetWithoutOverride | ( | byte | type | ) | `[static]`

Retrieve airport spec for the given airport.

Even if an override is available the base spec is returned.

Parameters:

  | type | index of airport

Returns:
  A pointer to the corresponding AirportSpec

Definition at line 67 of file newgrf_airport.cpp.

References lengthof, and specs.

Referenced by BindAirportSpecs().

bool AirportSpec::IsAvailable | ( |  | ) | const

Check whether this airport is available to build.

Definition at line 74 of file newgrf_airport.cpp.

References _cur_year, _settings_game, enabled, max_year, min_year, StationSettings::never_expire_airports, and GameSettings::station.

Referenced by CmdBuildAirport(), BuildAirportWindow::DrawWidget(), BuildAirportWindow::OnClick(), and BuildAirportWindow::SelectFirstAvailableAirport().

The documentation for this struct was generated from the following files:

- src/newgrf_airport.h
- src/newgrf_airport.cpp
- src/table/airport_defaults.h