OpenTTD Source 20250205-master-gfd85ab1e2c
|
Station specification. More...
#include <newgrf_station.h>
Public Types | |
enum class | TileFlag : uint8_t { Pylons = 0 , NoWires = 1 , Blocked = 2 } |
using | TileFlags = EnumBitSet< TileFlag, uint8_t > |
Data Fields | |
GRFFilePropsBase< NUM_CARGO+3 > | grf_prop |
Properties related the the grf file. | |
StringID | name |
Name of this station. | |
uint8_t | disallowed_platforms |
Bitmask of number of platforms available for the station. | |
uint8_t | disallowed_lengths |
Bitmask of platform lengths available for the station. | |
std::vector< NewGRFSpriteLayout > | renderdata |
Number of tile layouts. | |
uint16_t | cargo_threshold |
Cargo threshold for choosing between little and lots of cargo. | |
CargoTypes | cargo_triggers |
Bitmask of cargo types which cause trigger re-randomizing. | |
StationCallbackMasks | callback_mask |
Bitmask of station callbacks that have to be called. | |
StationSpecFlags | flags |
Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size. | |
std::vector< TileFlags > | tileflags |
List of tile flags. | |
AnimationInfo | animation |
std::unordered_map< uint16_t, std::vector< uint8_t > > | layouts |
Custom platform layouts, keyed by platform and length combined. | |
![]() | |
StationClassID | class_index |
Class index of this spec, invalid until class is allocated. | |
uint16_t | index |
Index within class of this spec, invalid until inserted into class. | |
Station specification.
Definition at line 116 of file newgrf_station.h.
using StationSpec::TileFlags = EnumBitSet<TileFlag, uint8_t> |
Definition at line 169 of file newgrf_station.h.
|
strong |
Enumerator | |
---|---|
Pylons | Tile should contain catenary pylons. |
NoWires | Tile should NOT contain catenary wires. |
Blocked | Tile is blocked to vehicles. |
Definition at line 164 of file newgrf_station.h.
|
inline |
Definition at line 117 of file newgrf_station.h.
AnimationInfo StationSpec::animation |
Definition at line 172 of file newgrf_station.h.
StationCallbackMasks StationSpec::callback_mask |
Bitmask of station callbacks that have to be called.
Definition at line 160 of file newgrf_station.h.
Referenced by CheckFlatLandRailStation(), CmdBuildRailStation(), DrawStationTile(), and IsStationAvailable().
uint16_t StationSpec::cargo_threshold |
Cargo threshold for choosing between little and lots of cargo.
Definition at line 156 of file newgrf_station.h.
Referenced by StationResolverObject::ResolveReal().
CargoTypes StationSpec::cargo_triggers |
Bitmask of cargo types which cause trigger re-randomizing.
Definition at line 158 of file newgrf_station.h.
Referenced by TriggerStationRandomisation().
uint8_t StationSpec::disallowed_lengths |
Bitmask of platform lengths available for the station.
0..6 correspond to 1..7, while bit 7 corresponds to >7 tiles long.
Definition at line 140 of file newgrf_station.h.
Referenced by BuildRailStationWindow::CheckSelectedSize(), CmdBuildRailStation(), BuildRailStationWindow::OnClick(), and BuildRailStationWindow::OnPaint().
uint8_t StationSpec::disallowed_platforms |
Bitmask of number of platforms available for the station.
0..6 correspond to 1..7, while bit 7 corresponds to >7 platforms.
Definition at line 135 of file newgrf_station.h.
Referenced by BuildRailStationWindow::CheckSelectedSize(), CmdBuildRailStation(), BuildRailStationWindow::OnClick(), and BuildRailStationWindow::OnPaint().
StationSpecFlags StationSpec::flags |
Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size.
Definition at line 162 of file newgrf_station.h.
Referenced by DrawStationTile(), and StationResolverObject::ResolveReal().
GRFFilePropsBase<NUM_CARGO + 3> StationSpec::grf_prop |
Properties related the the grf file.
NUM_CARGO real cargo plus three pseudo cargo sprite groups. Used for obtaining the sprite offset of custom sprites, and for evaluating callbacks.
Definition at line 128 of file newgrf_station.h.
Referenced by AllocateSpecToStation(), CmdBuildRailStation(), StationResolverObject::GetDebugID(), StationScopeResolver::GetVariable(), IsStationAvailable(), MoveWaypointsToBaseStations(), PerformStationTileSlopeCheck(), and StationResolverObject::StationResolverObject().
std::unordered_map<uint16_t, std::vector<uint8_t> > StationSpec::layouts |
Custom platform layouts, keyed by platform and length combined.
Definition at line 175 of file newgrf_station.h.
Referenced by GetStationLayout(), and StationChangeInfo().
StringID StationSpec::name |
Name of this station.
Definition at line 129 of file newgrf_station.h.
std::vector<NewGRFSpriteLayout> StationSpec::renderdata |
Number of tile layouts.
A minimum of 8 is required is required for stations. 0-1 = plain platform 2-3 = platform with building 4-5 = platform with roof, left side 6-7 = platform with roof, right side Array of tile layouts.
Definition at line 150 of file newgrf_station.h.
Referenced by DrawStationTile(), and StationChangeInfo().
std::vector<TileFlags> StationSpec::tileflags |
List of tile flags.
Definition at line 170 of file newgrf_station.h.
Referenced by GetStationTileFlags().