OpenTTD Source 20241224-master-gf74b0cf984
newgrf_airport.h File Reference

NewGRF handling of airports. More...

#include "airport.h"
#include "timer/timer_game_calendar.h"
#include "newgrf_class.h"
#include "newgrf_commons.h"
#include "newgrf_spritegroup.h"
#include "newgrf_town.h"
#include "tilearea_type.h"

Go to the source code of this file.

Data Structures

struct  AirportTileTable
 Tile-offset / AirportTileID pair. More...
 
class  AirportTileTableIterator
 Iterator to iterate over all tiles belonging to an airport spec. More...
 
struct  HangarTileTable
 A list of all hangar tiles in an airport. More...
 
struct  AirportTileLayout
 
struct  AirportSpec
 Defines the data structure for an airport. More...
 
struct  AirportScopeResolver
 Resolver for the airport scope. More...
 
struct  AirportResolverObject
 Resolver object for airports. More...
 

Typedefs

typedef uint8_t StationGfx
 Copy from station_map.h.
 
using AirportClass = NewGRFClass< AirportSpec, AirportClassID, APC_MAX >
 Information related to airport classes.
 

Enumerations

enum  AirportClassID {
  APC_BEGIN = 0 , APC_SMALL = 0 , APC_LARGE , APC_HUB ,
  APC_HELIPORT , APC_MAX = 16
}
 List of default airport classes. More...
 
enum  TTDPAirportType { ATP_TTDP_SMALL , ATP_TTDP_LARGE , ATP_TTDP_HELIPORT , ATP_TTDP_OILRIG }
 Allow incrementing of AirportClassID variables. More...
 

Functions

void BindAirportSpecs ()
 Tie all airportspecs to their class.
 
StringID GetAirportTextCallback (const AirportSpec *as, uint8_t layout, uint16_t callback)
 Get a custom text for the airport.
 

Detailed Description

NewGRF handling of airports.

Definition in file newgrf_airport.h.

Typedef Documentation

◆ AirportClass

Information related to airport classes.

Definition at line 145 of file newgrf_airport.h.

◆ StationGfx

typedef uint8_t StationGfx

Copy from station_map.h.

Definition at line 22 of file newgrf_airport.h.

Enumeration Type Documentation

◆ AirportClassID

List of default airport classes.

Enumerator
APC_BEGIN 

Lowest valid airport class id.

APC_SMALL 

id for small airports class

APC_LARGE 

id for large airports class

APC_HUB 

id for hub airports class

APC_HELIPORT 

id for heliports

APC_MAX 

maximum number of airport classes

Definition at line 70 of file newgrf_airport.h.

◆ TTDPAirportType

Allow incrementing of AirportClassID variables.

TTDP airport types. Used to map our types to TTDPatch's

Enumerator
ATP_TTDP_SMALL 

Same as AT_SMALL.

ATP_TTDP_LARGE 

Same as AT_LARGE.

ATP_TTDP_HELIPORT 

Same as AT_HELIPORT.

ATP_TTDP_OILRIG 

Same as AT_OILRIG.

Definition at line 83 of file newgrf_airport.h.

Function Documentation

◆ BindAirportSpecs()

void BindAirportSpecs ( )

Tie all airportspecs to their class.

Definition at line 124 of file newgrf_airport.cpp.

References NewGRFClass< Tspec, Tindex, Tmax >::Assign(), AirportSpec::enabled, AirportSpec::GetWithoutOverride(), and NUM_AIRPORTS.

Referenced by AfterLoadGRFs().

◆ GetAirportTextCallback()

StringID GetAirportTextCallback ( const AirportSpec as,
uint8_t  layout,
uint16_t  callback 
)

Get a custom text for the airport.

Parameters
asThe airport type's specification.
layoutThe layout index.
callbackThe callback to call.
Returns
The custom text.

Definition at line 274 of file newgrf_airport.cpp.

References CALLBACK_FAILED, ErrorUnknownCallbackResult(), GetGRFStringID(), AirportSpec::grf_prop, GRFFilePropsBase< Tcnt >::grfid, and INVALID_TILE.

Referenced by BuildAirportWindow::DrawWidget(), BuildAirportWindow::SetStringParameters(), and BuildAirportWindow::UpdateWidgetSize().