84#define M(x) (1U << (x))
Type (helpers) for enums.
#define DECLARE_ENUM_AS_BIT_SET(enum_type)
Operators to allow to work with enum as with type safe bit set in C++.
Slope
Enumeration for the slope-type.
@ SLOPE_HALFTILE_N
the north halftile is leveled (non continuous slope)
@ SLOPE_W
the west corner of the tile is raised
@ SLOPE_HALFTILE_MASK
three bits used for halftile slopes
@ SLOPE_ELEVATED
bit mask containing all 'simple' slopes
@ SLOPE_NS
north and south corner are raised
@ SLOPE_E
the east corner of the tile is raised
@ SLOPE_WSE
west, south and east corner are raised
@ SLOPE_S
the south corner of the tile is raised
@ SLOPE_N
the north corner of the tile is raised
@ SLOPE_SEN
south, east and north corner are raised
@ SLOPE_ENW
east, north and west corner are raised
@ SLOPE_SW
south and west corner are raised
@ SLOPE_STEEP_W
a steep slope falling to east (from west)
@ SLOPE_HALFTILE_E
the east halftile is leveled (non continuous slope)
@ SLOPE_NE
north and east corner are raised
@ SLOPE_HALFTILE_S
the south halftile is leveled (non continuous slope)
@ SLOPE_STEEP_E
a steep slope falling to west (from east)
@ SLOPE_SE
south and east corner are raised
@ SLOPE_HALFTILE_W
the west halftile is leveled (non continuous slope)
@ SLOPE_NWS
north, west and south corner are raised
@ SLOPE_NW
north and west corner are raised
@ SLOPE_STEEP_N
a steep slope falling to south (from north)
@ SLOPE_STEEP_S
a steep slope falling to north (from south)
@ SLOPE_HALFTILE
one halftile is leveled (non continuous slope)
@ SLOPE_EW
east and west corner are raised
@ SLOPE_STEEP
indicates the slope is steep
Foundation
Enumeration for Foundations.
@ FOUNDATION_RAIL_W
Foundation for TRACK_BIT_LEFT, but not a leveled foundation.
@ FOUNDATION_RAIL_N
Foundation for TRACK_BIT_UPPER, but not a leveled foundation.
@ FOUNDATION_LEVELED
The tile is leveled up to a flat slope.
@ FOUNDATION_RAIL_E
Foundation for TRACK_BIT_RIGHT, but not a leveled foundation.
@ FOUNDATION_NONE
The tile has no foundation, the slope remains unchanged.
@ FOUNDATION_INCLINED_X
The tile has an along X-axis inclined foundation.
@ FOUNDATION_STEEP_BOTH
The tile has a steep slope. The lowest corner is raised by a foundation and the upper halftile is lev...
@ FOUNDATION_RAIL_S
Foundation for TRACK_BIT_LOWER, but not a leveled foundation.
@ FOUNDATION_INCLINED_Y
The tile has an along Y-axis inclined foundation.
@ FOUNDATION_STEEP_LOWER
The tile has a steep slope. The lowest corner is raised by a foundation to allow building railroad on...
@ FOUNDATION_HALFTILE_W
Level west halftile non-continuously.
@ FOUNDATION_HALFTILE_N
Level north halftile non-continuously.
@ FOUNDATION_INVALID
Used inside "rail_cmd.cpp" to indicate invalid slope/track combination.
@ FOUNDATION_HALFTILE_E
Level east halftile non-continuously.
@ FOUNDATION_HALFTILE_S
Level south halftile non-continuously.
static const uint32_t VALID_LEVEL_CROSSING_SLOPES
Constant bitset with safe slopes for building a level crossing.
Corner
Enumeration of tile corners.
#define M(x)
Helper for creating a bitset of slopes.