Data Fields

# StationSpec Struct Reference

Station specification. More...

`#include <newgrf_station.h>`

## Data Fields
GRFFilePropsBase< NUM_CARGO+3 > | grf_prop
| Properties related the the grf file.
StationClassID | cls_id
| The class to which this spec belongs.
StringID | name
| Name of this station.
byte | disallowed_platforms
| Bitmask of number of platforms available for the station.
byte | disallowed_lengths
| Bitmask of platform lengths available for the station.
uint | tiles
| Number of tile layouts.
NewGRFSpriteLayout * | renderdata
| Array of tile layouts.
uint16 | cargo_threshold
| Cargo threshold for choosing between little and lots of cargo.
uint32 | cargo_triggers
| Bitmask of cargo types which cause trigger re-randomizing.
byte | callback_mask
| Bitmask of station callbacks that have to be called.
byte | flags
| Bitmask of flags, bit 0: use different sprite set; bit 1: divide cargo about by station size.
byte | pylons
| Bitmask of base tiles (0 - 7) which should contain elrail pylons.
byte | wires
| Bitmask of base tiles (0 - 7) which should contain elrail wires.
byte | blocked
| Bitmask of base tiles (0 - 7) which are blocked to trains.
AnimationInfo | animation
byte | lengths
byte * | platforms
StationLayout ** | layouts
bool | copied_layouts

## Detailed Description

Station specification.

Definition at line 48 of file newgrf_station.h.

## Field Documentation

uint16 StationSpec::cargo_threshold

Cargo threshold for choosing between little and lots of cargo.

Note:
  little/lots are equivalent to the moving/loading states for vehicles

Definition at line 85 of file newgrf_station.h.

Referenced by StationChangeInfo().

byte StationSpec::disallowed_lengths

Bitmask of platform lengths available for the station.

0..6 correpsond to 1..7, while bit 7 corresponds to >7 tiles long.

Definition at line 68 of file newgrf_station.h.

Referenced by BuildRailStationWindow::CheckSelectedSize(), CmdBuildRailStation(), BuildRailStationWindow::OnClick(), BuildRailStationWindow::OnPaint(), and StationChangeInfo().

byte StationSpec::disallowed_platforms

Bitmask of number of platforms available for the station.

0..6 correpsond to 1..7, while bit 7 corresponds to >7 platforms.

Definition at line 63 of file newgrf_station.h.

Referenced by BuildRailStationWindow::CheckSelectedSize(), CmdBuildRailStation(), BuildRailStationWindow::OnClick(), BuildRailStationWindow::OnPaint(), and StationChangeInfo().

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 55 of file newgrf_station.h.

Referenced by AllocateSpecToStation(), CmdBuildRailStation(), NIHStation::GetGRFID(), IsStationAvailable(), MoveWaypointsToBaseStations(), and PerformStationTileSlopeCheck().

uint StationSpec::tiles

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

Definition at line 78 of file newgrf_station.h.

Referenced by DrawStationTile(), and StationChangeInfo().

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

- src/newgrf_station.h