OpenTTD Source 20250509-master-gb1cdf5024f
|
NewGRF handling of airport tiles. More...
#include "stdafx.h"
#include "debug.h"
#include "newgrf_airporttiles.h"
#include "newgrf_badge.h"
#include "newgrf_spritegroup.h"
#include "newgrf_sound.h"
#include "station_base.h"
#include "water.h"
#include "landscape.h"
#include "company_base.h"
#include "town.h"
#include "newgrf_animation_base.h"
#include "table/strings.h"
#include "table/airporttiles.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | AirportTileAnimationBase |
Helper class for animation control. More... | |
Functions | |
uint32_t | GetRelativePosition (TileIndex tile, TileIndex ind_tile) |
This is the position of the tile relative to the northernmost tile of the industry. | |
StationGfx | GetTranslatedAirportTileID (StationGfx gfx) |
Do airporttile gfx ID translation for NewGRFs. | |
static uint32_t | GetNearbyAirportTileInformation (uint8_t parameter, TileIndex tile, StationID index, bool grf_version8) |
Based on newhouses/newindustries equivalent, but adapted for airports. | |
static uint32_t | GetAirportTileIDAtOffset (TileIndex tile, const Station *st, uint32_t cur_grfid) |
Make an analysis of a tile and check whether it belongs to the same airport, and/or the same grf file. | |
static uint16_t | GetAirportTileCallback (CallbackID callback, uint32_t param1, uint32_t param2, const AirportTileSpec *ats, Station *st, TileIndex tile, std::span< int32_t > regs100={}) |
static void | AirportDrawTileLayout (const TileInfo *ti, const DrawTileSpriteSpan &dts, Colours colour) |
bool | DrawNewAirportTile (TileInfo *ti, Station *st, const AirportTileSpec *airts) |
static uint16_t | GetSimpleAirportTileCallback (CallbackID callback, uint32_t param1, uint32_t param2, const AirportTileSpec *ats, Station *st, TileIndex tile, int) |
void | AnimateAirportTile (TileIndex tile) |
static bool | DoTriggerAirportTileAnimation (Station *st, TileIndex tile, AirportAnimationTrigger trigger, uint32_t random, uint32_t var18_extra=0) |
bool | TriggerAirportTileAnimation (Station *st, TileIndex tile, AirportAnimationTrigger trigger) |
bool | TriggerAirportAnimation (Station *st, AirportAnimationTrigger trigger, CargoType cargo_type) |
Variables | |
AirportTileOverrideManager | _airporttile_mngr (NEW_AIRPORTTILE_OFFSET, NUM_AIRPORTTILES, INVALID_AIRPORTTILE) |
NewGRF handling of airport tiles.
Definition in file newgrf_airporttiles.cpp.
|
static |
Definition at line 244 of file newgrf_airporttiles.cpp.
void AnimateAirportTile | ( | TileIndex | tile | ) |
Definition at line 300 of file newgrf_airporttiles.cpp.
|
static |
Definition at line 308 of file newgrf_airporttiles.cpp.
bool DrawNewAirportTile | ( | TileInfo * | ti, |
Station * | st, | ||
const AirportTileSpec * | airts | ||
) |
Definition at line 260 of file newgrf_airporttiles.cpp.
|
static |
Definition at line 238 of file newgrf_airporttiles.cpp.
|
static |
Make an analysis of a tile and check whether it belongs to the same airport, and/or the same grf file.
tile | TileIndex of the tile to query |
st | Station to which to compare the tile to |
cur_grfid | GRFID of the current callback |
Definition at line 129 of file newgrf_airporttiles.cpp.
References AirportTileSpec::Get(), GetAirportGfx(), AirportTileSpec::grf_prop, GRFFilePropsBase::grfid, StandardGRFFileProps::HasSpriteGroups(), INVALID_AIRPORTTILE, GRFFilePropsBase::local_id, NEW_AIRPORTTILE_OFFSET, and SubstituteGRFFileProps::override_id.
Referenced by AirportTileScopeResolver::GetVariable().
|
static |
Based on newhouses/newindustries equivalent, but adapted for airports.
parameter | from callback. It's in fact a pair of coordinates |
tile | TileIndex from which the callback was initiated |
index | of the industry been queried for |
grf_version8 | True, if we are dealing with a new NewGRF which uses GRF version >= 8. |
Definition at line 112 of file newgrf_airporttiles.cpp.
References GetNearbyTile(), GetNearbyTileInformation(), GetStationIndex(), IsAirport(), IsTileType(), and MP_STATION.
Referenced by AirportTileScopeResolver::GetVariable().
This is the position of the tile relative to the northernmost tile of the industry.
Format: 00yxYYXX Variable Content x the x offset from the northernmost tile XX same, but stored in a byte instead of a nibble y the y offset from the northernmost tile YY same, but stored in a byte instead of a nibble
tile | TileIndex of the tile to evaluate |
ind_tile | northernmost tile of the industry |
Definition at line 54 of file newgrf_industrytiles.cpp.
References TileX(), and TileY().
Referenced by AirportTileScopeResolver::GetVariable(), and IndustryTileScopeResolver::GetVariable().
|
static |
Definition at line 286 of file newgrf_airporttiles.cpp.
StationGfx GetTranslatedAirportTileID | ( | StationGfx | gfx | ) |
Do airporttile gfx ID translation for NewGRFs.
gfx | the type to get the override for. |
Definition at line 98 of file newgrf_airporttiles.cpp.
References AirportTileSpec::Get(), AirportTileSpec::grf_prop, INVALID_AIRPORTTILE, and SubstituteGRFFileProps::override_id.
Referenced by CmdBuildAirport(), and GetAirportGfx().
bool TriggerAirportAnimation | ( | Station * | st, |
AirportAnimationTrigger | trigger, | ||
CargoType | cargo_type | ||
) |
Definition at line 322 of file newgrf_airporttiles.cpp.
bool TriggerAirportTileAnimation | ( | Station * | st, |
TileIndex | tile, | ||
AirportAnimationTrigger | trigger | ||
) |
Definition at line 317 of file newgrf_airporttiles.cpp.