20 #define TILE_SEQ_LINE(dx, dy, dz, sx, sy, sz, img) TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, PAL_NONE)
33 #define TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, pal) { dx, dy, dz, sx, sy, sz, {img, pal} },
42 #define TILE_SEQ_CHILD(dx, dy, img, pal) TILE_SEQ_LINE_PAL(dx, dy, (int8_t)0x80, 0, 0, 0, img, pal)
52 #define TILE_SEQ_GROUND(dx, dy, dz, img) TILE_SEQ_CHILD(2 * (dy - dx), dx + dy - dz, img, PAL_NONE)
55 #define TILE_SEQ_END() { (int8_t)0x80, 0, 0, 0, 0, 0, {0, 0} }
794 #undef TILE_SEQ_LINE_PAL
795 #undef TILE_SEQ_CHILD
796 #undef TILE_SEQ_GROUND
803 #define TILE_SPRITE_LINE(img, dtss) { {img, PAL_NONE}, dtss },
804 #define TILE_SPRITE_NULL() { {0, 0}, nullptr },
850 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE, _station_display_transmitter_fence_ne)
881 TILE_SPRITE_LINE(SPR_AIRPORT_APRON, _station_display_low_building_fence_ne_nw)
884 TILE_SPRITE_LINE(SPR_AIRPORT_APRON, _station_display_newhelipad_fence_se_sw)
885 TILE_SPRITE_LINE(SPR_AIRPORT_APRON, _station_display_newhelipad_fence_nw_sw)
894 static const
DrawTileSprites _station_display_datas_airport_radar_grass_fence_sw[] = {
909 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne[] = {
916 static const DrawTileSprites _station_display_datas_airport_radar_fence_sw[] = {
931 static const DrawTileSprites _station_display_datas_airport_radar_fence_ne[] = {
946 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne_2[] = {
972 static const DrawTileSprites _station_display_datas_road_waypoint[] = {
977 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X, _station_display_datas_road_waypoint_X)
978 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y, _station_display_datas_road_waypoint_Y)
1009 #undef TILE_SPRITE_LINE
1010 #undef TILE_SPRITE_NULL
1014 static_assert(
lengthof(_station_display_datas_rail) ==
lengthof(_station_display_datas_waypoint));
1016 static const std::array<std::span<const DrawTileSprites>, STATION_END> _station_display_datas = {{
1017 _station_display_datas_rail,
1018 _station_display_datas_airport,
1019 _station_display_datas_truck,
1020 _station_display_datas_bus,
1021 _station_display_datas_oilrig,
1022 _station_display_datas_dock,
1023 _station_display_datas_buoy,
1024 _station_display_datas_waypoint,
1025 _station_display_datas_road_waypoint,
@ SLOPE_SW
south and west corner are raised
@ SLOPE_NE
north and east corner are raised
@ SLOPE_SE
south and east corner are raised
@ SLOPE_NW
north and west corner are raised
static constexpr uint8_t PALETTE_MODIFIER_TRANSPARENT
when a sprite is to be displayed transparently, this bit needs to be set.
static const PaletteID PALETTE_TO_TRANSPARENT
This sets the sprite to transparent.
static constexpr uint8_t PALETTE_MODIFIER_COLOUR
this bit is set when a recolouring process is in action
static const SpriteID SPR_SHORE_BASE
shore tiles - action 05-0D
#define TILE_SPRITE_LINE(img, dtss)
Constructor macro of a DrawTileSprites structure.
#define TILE_SEQ_LINE(dx, dy, dz, sx, sy, sz, img)
Constructor macro for an image without a palette in a DrawTileSeqStruct array.
#define TILE_SEQ_CHILD(dx, dy, img, pal)
Constructor macro for an image without bounding box.
#define TILE_SEQ_GROUND(dx, dy, dz, img)
Constructor macro for additional ground sprites.
#define TILE_SEQ_END()
Constructor macro for a terminating DrawTileSeqStruct entry in an array.
#define lengthof(array)
Return the length of an fixed size array.
A tile child sprite and palette to draw for stations etc, with 3D bounding box.
Ground palette sprite of a tile, together with its sprite layout.