2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 /** @file station_land.h Sprites to use and how to display them for station tiles. */
11 * Constructor macro for an image without a palette in a DrawTileSeqStruct array.
12 * @param dx Offset in x direction
13 * @param dy Offset in y direction
14 * @param dz Offset in z direction
15 * @param sx Size in x direction
16 * @param sy Size in y direction
17 * @param sz Size in z direction
18 * @param img Sprite to draw
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)
23 * Constructor macro for an image with a palette in a DrawTileSeqStruct array.
24 * @param dx Offset in x direction
25 * @param dy Offset in y direction
26 * @param dz Offset in z direction
27 * @param sx Size in x direction
28 * @param sy Size in y direction
29 * @param sz Size in z direction
30 * @param img Sprite to draw
31 * @param pal Palette sprite
33 #define TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, pal) { dx, dy, dz, sx, sy, sz, {img, pal} },
36 * Constructor macro for an image without bounding box.
37 * @param dx Screen X offset from parent sprite
38 * @param dy Screen Y offset from parent sprite
39 * @param img Sprite to draw
40 * @param pal Palette sprite
42 #define TILE_SEQ_CHILD(dx, dy, img, pal) TILE_SEQ_LINE_PAL(dx, dy, (int8_t)0x80, 0, 0, 0, img, pal)
45 * Constructor macro for additional ground sprites.
46 * These need to be at the front of a DrawTileSeqStruct sequence.
47 * @param dx Offset in x direction
48 * @param dy Offset in y direction
49 * @param dz Offset in z direction
50 * @param img Sprite to draw
52 #define TILE_SEQ_GROUND(dx, dy, dz, img) TILE_SEQ_CHILD(2 * (dy - dx), dx + dy - dz, img, PAL_NONE)
54 /** Constructor macro for a terminating DrawTileSeqStruct entry in an array */
55 #define TILE_SEQ_END() { (int8_t)0x80, 0, 0, 0, 0, 0, {0, 0} }
57 static const DrawTileSeqStruct _station_display_nothing
[] = {
61 static const DrawTileSeqStruct _station_display_datas_0
[] = {
62 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
63 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
67 static const DrawTileSeqStruct _station_display_datas_1
[] = {
68 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
69 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
73 static const DrawTileSeqStruct _station_display_datas_2
[] = {
74 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 15, SPR_RAIL_PLATFORM_BUILDING_X
| (1U << PALETTE_MODIFIER_COLOUR
))
75 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
79 static const DrawTileSeqStruct _station_display_datas_3
[] = {
80 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 15, SPR_RAIL_PLATFORM_BUILDING_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
81 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
85 static const DrawTileSeqStruct _station_display_datas_4
[] = {
86 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 7, SPR_RAIL_PLATFORM_PILLARS_X_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
87 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
88 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_X_TILE_A
| (1U << PALETTE_MODIFIER_COLOUR
))
89 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_X_TILE_A
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
93 static const DrawTileSeqStruct _station_display_datas_5
[] = {
94 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_PILLARS_Y_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
95 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
96 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_Y_TILE_A
| (1U << PALETTE_MODIFIER_COLOUR
))
97 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_Y_TILE_A
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
101 static const DrawTileSeqStruct _station_display_datas_6
[] = {
102 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
103 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_PILLARS_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
104 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_X_TILE_B
| (1U << PALETTE_MODIFIER_COLOUR
))
105 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_X_TILE_B
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
109 static const DrawTileSeqStruct _station_display_datas_7
[] = {
110 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
111 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_PILLARS_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
112 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_Y_TILE_B
| (1U << PALETTE_MODIFIER_COLOUR
))
113 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_Y_TILE_B
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
117 static const DrawTileSeqStruct _station_display_fence_nw
[] = {
118 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
122 static const DrawTileSeqStruct _station_display_fence_ne
[] = {
123 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
127 static const DrawTileSeqStruct _station_display_fence_sw
[] = {
128 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
132 static const DrawTileSeqStruct _station_display_fence_se
[] = {
133 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
))
137 static const DrawTileSeqStruct _station_display_terminal_a
[] = {
138 TILE_SEQ_LINE( 2, 0, 0, 11, 16, 40, SPR_AIRPORT_TERMINAL_A
| (1U << PALETTE_MODIFIER_COLOUR
))
142 static const DrawTileSeqStruct _station_display_tower_fence_sw
[] = {
143 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_TOWER
| (1U << PALETTE_MODIFIER_COLOUR
))
144 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
148 static const DrawTileSeqStruct _station_display_concourse
[] = {
149 TILE_SEQ_LINE( 0, 1, 0, 14, 14, 30, SPR_AIRPORT_CONCOURSE
| (1U << PALETTE_MODIFIER_COLOUR
))
153 static const DrawTileSeqStruct _station_display_datas_terminal_b
[] = {
154 TILE_SEQ_LINE( 3, 3, 0, 10, 11, 35, SPR_AIRPORT_TERMINAL_B
| (1U << PALETTE_MODIFIER_COLOUR
))
158 static const DrawTileSeqStruct _station_display_datas_terminal_c
[] = {
159 TILE_SEQ_LINE( 0, 3, 0, 16, 11, 40, SPR_AIRPORT_TERMINAL_C
| (1U << PALETTE_MODIFIER_COLOUR
))
163 static const DrawTileSeqStruct _station_display_hangar_se
[] = {
164 TILE_SEQ_LINE(14, 0, 0, 2, 17, 28, SPR_AIRPORT_HANGAR_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
165 TILE_SEQ_LINE( 0, 0, 0, 2, 17, 28, SPR_AIRPORT_HANGAR_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
169 static const DrawTileSeqStruct _station_display_jetway_1
[] = {
170 TILE_SEQ_LINE( 7, 11, 0, 3, 3, 14, SPR_AIRPORT_JETWAY_1
| (1U << PALETTE_MODIFIER_COLOUR
))
171 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
))
175 static const DrawTileSeqStruct _station_display_jetway_2
[] = {
176 TILE_SEQ_LINE( 2, 7, 0, 3, 3, 14, SPR_AIRPORT_JETWAY_2
| (1U << PALETTE_MODIFIER_COLOUR
))
180 static const DrawTileSeqStruct _station_display_jetway_3
[] = {
181 TILE_SEQ_LINE( 3, 2, 0, 3, 3, 14, SPR_AIRPORT_JETWAY_3
| (1U << PALETTE_MODIFIER_COLOUR
))
185 static const DrawTileSeqStruct _station_display_passenger_tunnel
[] = {
186 TILE_SEQ_LINE( 0, 8, 0, 14, 3, 14, SPR_AIRPORT_PASSENGER_TUNNEL
| (1U << PALETTE_MODIFIER_COLOUR
))
190 static const DrawTileSeqStruct _station_display_radar_1_fence_sw
[] = {
191 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_1
)
192 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
196 static const DrawTileSeqStruct _station_display_radar_2_fence_sw
[] = {
197 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_2
)
198 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
202 static const DrawTileSeqStruct _station_display_radar_3_fence_sw
[] = {
203 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_3
)
204 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
208 static const DrawTileSeqStruct _station_display_radar_4_fence_sw
[] = {
209 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_4
)
210 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
214 static const DrawTileSeqStruct _station_display_radar_5_fence_sw
[] = {
215 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_5
)
216 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
220 static const DrawTileSeqStruct _station_display_radar_6_fence_sw
[] = {
221 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_6
)
222 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
226 static const DrawTileSeqStruct _station_display_radar_7_fence_sw
[] = {
227 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_7
)
228 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
232 static const DrawTileSeqStruct _station_display_radar_8_fence_sw
[] = {
233 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_8
)
234 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
238 static const DrawTileSeqStruct _station_display_radar_9_fence_sw
[] = {
239 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_9
)
240 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
244 static const DrawTileSeqStruct _station_display_radar_10_fence_sw
[] = {
245 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_A
)
246 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
250 static const DrawTileSeqStruct _station_display_radar_11_fence_sw
[] = {
251 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_B
)
252 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
256 static const DrawTileSeqStruct _station_display_radar_12_fence_sw
[] = {
257 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_C
)
258 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
262 static const DrawTileSeqStruct _station_display_transmitter_fence_ne
[] = {
263 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 70, SPR_TRANSMITTER
)
264 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
268 static const DrawTileSeqStruct _station_display_datas_terminal_c_2
[] = {
269 TILE_SEQ_LINE( 0, 0, 0, 15, 15, 30, SPR_AIRFIELD_TERM_C_BUILD
| (1U << PALETTE_MODIFIER_COLOUR
))
273 static const DrawTileSeqStruct _station_display_flag_1_fence_ne
[] = {
274 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
275 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_1
| (1U << PALETTE_MODIFIER_COLOUR
))
279 static const DrawTileSeqStruct _station_display_flag_2_fence_ne
[] = {
280 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
281 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_2
| (1U << PALETTE_MODIFIER_COLOUR
))
285 static const DrawTileSeqStruct _station_display_flag_3_fence_ne
[] = {
286 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
287 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_3
| (1U << PALETTE_MODIFIER_COLOUR
))
291 static const DrawTileSeqStruct _station_display_flag_4_fence_ne
[] = {
292 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
293 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_4
| (1U << PALETTE_MODIFIER_COLOUR
))
297 static const DrawTileSeqStruct _station_display_small_depot_se
[] = {
298 TILE_SEQ_LINE(14, 0, 0, 2, 17, 28, SPR_AIRFIELD_HANGAR_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
299 TILE_SEQ_LINE( 0, 0, 0, 2, 17, 28, SPR_AIRFIELD_HANGAR_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
303 static const DrawTileSeqStruct _station_display_heliport
[] = {
304 TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, SPR_HELIPORT
| (1U << PALETTE_MODIFIER_COLOUR
))
308 static const DrawTileSeqStruct _station_display_datas_67
[] = {
309 TILE_SEQ_LINE( 0, 15, 0, 13, 1, 10, SPR_TRUCK_STOP_NE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
310 TILE_SEQ_LINE(13, 0, 0, 3, 16, 10, SPR_TRUCK_STOP_NE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
311 TILE_SEQ_LINE( 2, 0, 0, 11, 1, 10, SPR_TRUCK_STOP_NE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
315 static const DrawTileSeqStruct _station_display_datas_68
[] = {
316 TILE_SEQ_LINE(15, 3, 0, 1, 13, 10, SPR_TRUCK_STOP_SE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
317 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 10, SPR_TRUCK_STOP_SE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
318 TILE_SEQ_LINE( 0, 3, 0, 1, 11, 10, SPR_TRUCK_STOP_SE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
322 static const DrawTileSeqStruct _station_display_datas_69
[] = {
323 TILE_SEQ_LINE( 3, 0, 0, 13, 1, 10, SPR_TRUCK_STOP_SW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
324 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 10, SPR_TRUCK_STOP_SW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
325 TILE_SEQ_LINE( 3, 15, 0, 11, 1, 10, SPR_TRUCK_STOP_SW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
329 static const DrawTileSeqStruct _station_display_datas_70
[] = {
330 TILE_SEQ_LINE( 0, 0, 0, 1, 13, 10, SPR_TRUCK_STOP_NW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
331 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 10, SPR_TRUCK_STOP_NW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
332 TILE_SEQ_LINE(15, 2, 0, 1, 11, 10, SPR_TRUCK_STOP_NW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
336 static const DrawTileSeqStruct _station_display_datas_71
[] = {
337 TILE_SEQ_LINE( 2, 0, 0, 11, 1, 10, SPR_BUS_STOP_NE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
338 TILE_SEQ_LINE(13, 0, 0, 3, 16, 10, SPR_BUS_STOP_NE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
339 TILE_SEQ_LINE( 0, 13, 0, 13, 3, 10, SPR_BUS_STOP_NE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
343 static const DrawTileSeqStruct _station_display_datas_72
[] = {
344 TILE_SEQ_LINE( 0, 3, 0, 1, 11, 10, SPR_BUS_STOP_SE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
345 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 10, SPR_BUS_STOP_SE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
346 TILE_SEQ_LINE(13, 3, 0, 3, 13, 10, SPR_BUS_STOP_SE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
350 static const DrawTileSeqStruct _station_display_datas_73
[] = {
351 TILE_SEQ_LINE( 3, 15, 0, 11, 1, 10, SPR_BUS_STOP_SW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
352 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 10, SPR_BUS_STOP_SW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
353 TILE_SEQ_LINE( 3, 0, 0, 13, 3, 10, SPR_BUS_STOP_SW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
357 static const DrawTileSeqStruct _station_display_datas_74
[] = {
358 TILE_SEQ_LINE(15, 2, 0, 1, 11, 10, SPR_BUS_STOP_NW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
359 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 10, SPR_BUS_STOP_NW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
360 TILE_SEQ_LINE( 0, 0, 0, 3, 13, 10, SPR_BUS_STOP_NW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
364 static const DrawTileSeqStruct _station_display_datas_76
[] = {
365 TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, SPR_DOCK_SLOPE_NE
| (1U << PALETTE_MODIFIER_COLOUR
))
369 static const DrawTileSeqStruct _station_display_datas_77
[] = {
370 TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, SPR_DOCK_SLOPE_SE
| (1U << PALETTE_MODIFIER_COLOUR
))
374 static const DrawTileSeqStruct _station_display_datas_78
[] = {
375 TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, SPR_DOCK_SLOPE_SW
| (1U << PALETTE_MODIFIER_COLOUR
))
379 static const DrawTileSeqStruct _station_display_datas_79
[] = {
380 TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, SPR_DOCK_SLOPE_NW
| (1U << PALETTE_MODIFIER_COLOUR
))
384 static const DrawTileSeqStruct _station_display_datas_80
[] = {
385 TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, SPR_DOCK_FLAT_X
| (1U << PALETTE_MODIFIER_COLOUR
))
389 static const DrawTileSeqStruct _station_display_datas_81
[] = {
390 TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, SPR_DOCK_FLAT_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
394 /* Buoy, which will _always_ drown under the ship */
395 static const DrawTileSeqStruct _station_display_datas_82
[] = {
396 TILE_SEQ_LINE( 4, -1, 0, 0, 0, 0, SPR_IMG_BUOY
)
400 /* control tower without fence */
401 static const DrawTileSeqStruct _station_display_tower
[] = {
402 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_TOWER
| (1U << PALETTE_MODIFIER_COLOUR
)) // control tower
406 /* turning radar with fences on north -- needs 12 tiles
408 static const DrawTileSeqStruct _station_display_radar_1_fence_ne
[] = {
409 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_1
) // turning radar
410 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
414 static const DrawTileSeqStruct _station_display_radar_2_fence_ne
[] = {
415 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_2
)
416 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
420 static const DrawTileSeqStruct _station_display_radar_3_fence_ne
[] = {
421 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_3
)
422 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
426 static const DrawTileSeqStruct _station_display_radar_4_fence_ne
[] = {
427 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_4
)
428 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
432 static const DrawTileSeqStruct _station_display_radar_5_fence_ne
[] = {
433 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_5
)
434 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
438 static const DrawTileSeqStruct _station_display_radar_6_fence_ne
[] = {
439 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_6
)
440 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
444 static const DrawTileSeqStruct _station_display_radar_7_fence_ne
[] = {
445 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_7
)
446 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
450 static const DrawTileSeqStruct _station_display_radar_8_fence_ne
[] = {
451 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_8
)
452 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
456 static const DrawTileSeqStruct _station_display_radar_9_fence_ne
[] = {
457 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_9
)
458 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
462 static const DrawTileSeqStruct _station_display_radar_10_fence_ne
[] = {
463 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_A
)
464 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
468 static const DrawTileSeqStruct _station_display_radar_11_fence_ne
[] = {
469 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_B
)
470 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
474 static const DrawTileSeqStruct _station_display_radar_12_fence_ne
[] = {
475 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_C
)
476 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
481 /* helipad for international airport */
482 static const DrawTileSeqStruct _station_display_helipad_fence_sw
[] = {
483 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
484 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences bottom
488 /* helipad for commuter airport */
489 static const DrawTileSeqStruct _station_display_helipad_fence_nw
[] = {
490 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
491 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences left
495 /* helipad for continental airport */
496 static const DrawTileSeqStruct _station_display_helipad
[] = {
497 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
501 /* asphalt tile with fences in north and south */
502 static const DrawTileSeqStruct _station_display_fence_ne_sw
[] = {
503 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
504 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
508 /* runway tiles with 2 corner fences */
509 static const DrawTileSeqStruct _station_display_fence_nw_sw
[] = {
510 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
511 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
515 /* runway tiles with 2 corner fences */
516 static const DrawTileSeqStruct _station_display_fence_se_sw
[] = {
517 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
518 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
522 /* runway tiles with 2 corner fences */
523 static const DrawTileSeqStruct _station_display_fence_ne_nw
[] = {
524 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
525 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
529 /* runway tiles with 2 corner fences */
530 static const DrawTileSeqStruct _station_display_fence_ne_se
[] = {
531 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
532 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
536 /* helipad tiles with 2 corner fences top+right */
537 static const DrawTileSeqStruct _station_display_helipad_fence_NE_SE
[] = {
538 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
539 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
540 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
544 /* helidepot office with fences top + left */
545 static const DrawTileSeqStruct _station_display_low_building_fence_ne_nw
[] = {
546 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences left
547 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
548 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
552 /* West facing hangar */
553 static const DrawTileSeqStruct _station_display_hangar_sw
[] = {
554 TILE_SEQ_LINE(14, 0, 0, 2, 17, 28, SPR_NEWHANGAR_W
| (1U << PALETTE_MODIFIER_COLOUR
))
555 TILE_SEQ_LINE( 0, 0, 0, 2, 17, 28, SPR_NEWHANGAR_W_WALL
| (1U << PALETTE_MODIFIER_COLOUR
))
559 /* North facing hangar */
560 static const DrawTileSeqStruct _station_display_hangar_nw
[] = {
561 TILE_SEQ_LINE(14, 0, 0, 2, 16, 28, SPR_NEWHANGAR_N
| (1U << PALETTE_MODIFIER_COLOUR
))
565 /* East facing hangar */
566 static const DrawTileSeqStruct _station_display_hangar_ne
[] = {
567 TILE_SEQ_LINE(14, 0, 0, 2, 16, 28, SPR_NEWHANGAR_E
| (1U << PALETTE_MODIFIER_COLOUR
))
571 /* helipad for district airport NS */
572 static const DrawTileSeqStruct _station_display_helipad_fence_se_sw
[] = {
573 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
574 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences bottom
575 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences right
579 /* helipad for district airport NS */
580 static const DrawTileSeqStruct _station_display_helipad_fence_se
[] = {
581 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
582 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
586 /* helidepot office with fence north */
587 static const DrawTileSeqStruct _station_display_low_building_fence_nw
[] = {
588 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
589 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
593 /* helidepot office with fence east */
594 static const DrawTileSeqStruct _station_display_low_building_fence_ne
[] = {
595 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
596 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
600 /* helidepot office with fence west */
601 static const DrawTileSeqStruct _station_display_low_building_fence_sw
[] = {
602 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
603 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
607 /* helidepot office with fence south */
608 static const DrawTileSeqStruct _station_display_low_building_fence_se
[] = {
609 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
610 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
614 /* helipad for district airport EW*/
615 static const DrawTileSeqStruct _station_display_helipad_fence_nw_sw
[] = {
616 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
617 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
618 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
622 /* turning radar with fences on south -- needs 12 tiles
624 static const DrawTileSeqStruct _station_display_radar_1_fence_se
[] = {
625 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_1
) // turning radar
626 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
630 static const DrawTileSeqStruct _station_display_radar_2_fence_se
[] = {
631 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_2
)
632 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
636 static const DrawTileSeqStruct _station_display_radar_3_fence_se
[] = {
637 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_3
)
638 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
642 static const DrawTileSeqStruct _station_display_radar_4_fence_se
[] = {
643 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_4
)
644 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
648 static const DrawTileSeqStruct _station_display_radar_5_fence_se
[] = {
649 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_5
)
650 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
654 static const DrawTileSeqStruct _station_display_radar_6_fence_se
[] = {
655 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_6
)
656 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
660 static const DrawTileSeqStruct _station_display_radar_7_fence_se
[] = {
661 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_7
)
662 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
666 static const DrawTileSeqStruct _station_display_radar_8_fence_se
[] = {
667 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_8
)
668 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
672 static const DrawTileSeqStruct _station_display_radar_9_fence_se
[] = {
673 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_9
)
674 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
678 static const DrawTileSeqStruct _station_display_radar_10_fence_se
[] = {
679 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_A
)
680 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
684 static const DrawTileSeqStruct _station_display_radar_11_fence_se
[] = {
685 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_B
)
686 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
690 static const DrawTileSeqStruct _station_display_radar_12_fence_se
[] = {
691 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_C
)
692 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
697 /* helipad for helistation */
698 static const DrawTileSeqStruct _station_display_newhelipad_fence_se_sw
[] = {
699 TILE_SEQ_LINE( 0, 1, 2, 0, 0, 0, SPR_NEWHELIPAD
)
700 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
701 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
705 /* helipad for helistation */
706 static const DrawTileSeqStruct _station_display_newhelipad_fence_nw_sw
[] = {
707 TILE_SEQ_LINE( 0, 1, 2, 0, 0, 0, SPR_NEWHELIPAD
)
708 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
709 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
713 /* helipad for helistation */
714 static const DrawTileSeqStruct _station_display_newhelipad_fence_nw
[] = {
715 TILE_SEQ_LINE( 0, 1, 2, 0, 0, 0, SPR_NEWHELIPAD
)
716 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
720 /* helidepot office without fence */
721 static const DrawTileSeqStruct _station_display_low_building
[] = {
722 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
726 /* half grass half SPR_AIRPORT_APRON */
727 static const DrawTileSeqStruct _station_display_grass_west
[] = {
728 TILE_SEQ_LINE(0, 0, 0, 0, 0, 0, SPR_GRASS_LEFT
)
732 /* half grass half SPR_AIRPORT_APRON */
733 static const DrawTileSeqStruct _station_display_grass_east
[] = {
734 TILE_SEQ_LINE(0, 0, 0, 0, 0, 0, SPR_GRASS_RIGHT
)
738 /* drive-through truck stop X */
739 static const DrawTileSeqStruct _station_display_datas_0168
[] = {
740 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 16, SPR_TRUCK_STOP_DT_X_W
| (1U << PALETTE_MODIFIER_COLOUR
))
741 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 16, SPR_TRUCK_STOP_DT_X_E
| (1U << PALETTE_MODIFIER_COLOUR
))
745 /* drive-through truck stop Y */
746 static const DrawTileSeqStruct _station_display_datas_0169
[] = {
747 TILE_SEQ_LINE(13, 0, 0, 3, 16, 16, SPR_TRUCK_STOP_DT_Y_W
| (1U << PALETTE_MODIFIER_COLOUR
))
748 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 16, SPR_TRUCK_STOP_DT_Y_E
| (1U << PALETTE_MODIFIER_COLOUR
))
752 /* drive-through bus stop X */
753 static const DrawTileSeqStruct _station_display_datas_0170
[] = {
754 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 16, SPR_BUS_STOP_DT_X_W
| (1U << PALETTE_MODIFIER_COLOUR
))
755 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 16, SPR_BUS_STOP_DT_X_E
| (1U << PALETTE_MODIFIER_COLOUR
))
759 /* drive-through bus stop Y */
760 static const DrawTileSeqStruct _station_display_datas_0171
[] = {
761 TILE_SEQ_LINE(13, 0, 0, 3, 16, 16, SPR_BUS_STOP_DT_Y_W
| (1U << PALETTE_MODIFIER_COLOUR
))
762 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 16, SPR_BUS_STOP_DT_Y_E
| (1U << PALETTE_MODIFIER_COLOUR
))
766 /* road waypoint X */
767 static const DrawTileSeqStruct _station_display_datas_road_waypoint_X
[] = {
768 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 16, SPR_ROAD_WAYPOINT_X_W
| (1U << PALETTE_MODIFIER_COLOUR
))
769 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 16, SPR_ROAD_WAYPOINT_X_E
| (1U << PALETTE_MODIFIER_COLOUR
))
773 /* road waypoint Y */
774 static const DrawTileSeqStruct _station_display_datas_road_waypoint_Y
[] = {
775 TILE_SEQ_LINE(13, 0, 0, 3, 16, 16, SPR_ROAD_WAYPOINT_Y_W
| (1U << PALETTE_MODIFIER_COLOUR
))
776 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 16, SPR_ROAD_WAYPOINT_Y_E
| (1U << PALETTE_MODIFIER_COLOUR
))
780 static const DrawTileSeqStruct _station_display_datas_waypoint_X
[] = {
781 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 23, SPR_WAYPOINT_X_1
| (1U << PALETTE_MODIFIER_COLOUR
))
782 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 23, SPR_WAYPOINT_X_2
| (1U << PALETTE_MODIFIER_COLOUR
))
786 static const DrawTileSeqStruct _station_display_datas_waypoint_Y
[] = {
787 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 23, SPR_WAYPOINT_Y_1
| (1U << PALETTE_MODIFIER_COLOUR
))
788 TILE_SEQ_LINE(11, 0, 0, 5, 16, 23, SPR_WAYPOINT_Y_2
| (1U << PALETTE_MODIFIER_COLOUR
))
794 #undef TILE_SEQ_LINE_PAL
795 #undef TILE_SEQ_CHILD
796 #undef TILE_SEQ_GROUND
799 * Constructor macro of a DrawTileSprites structure
800 * @param img Ground sprite without palette of the tile
801 * @param dtss Sequence child sprites of the tile
803 #define TILE_SPRITE_LINE(img, dtss) { {img, PAL_NONE}, dtss },
804 #define TILE_SPRITE_NULL() { {0, 0}, nullptr },
806 extern const DrawTileSprites _station_display_datas_rail
[] = {
807 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_0
)
808 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_1
)
809 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_2
)
810 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_3
)
811 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_4
)
812 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_5
)
813 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_6
)
814 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_7
)
817 static const DrawTileSprites _station_display_datas_airport
[] = {
818 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_nothing
) // APT_APRON
819 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_nw
) // APT_APRON_FENCE_NW
820 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_sw
) // APT_APRON_FENCE_SW
821 TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND
, _station_display_nothing
) // APT_STAND
822 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_WEST
, _station_display_nothing
) // APT_APRON_W
823 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_SOUTH
, _station_display_nothing
) // APT_APRON_S
824 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_SOUTH
, _station_display_nothing
) // APT_APRON_VER_CROSSING_S
825 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_WEST
, _station_display_nothing
) // APT_APRON_HOR_CROSSING_W
826 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_CTR
, _station_display_nothing
) // APT_APRON_VER_CROSSING_N
827 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_EAST
, _station_display_nothing
) // APT_APRON_HOR_CROSSING_E
828 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_EAST
, _station_display_nothing
) // APT_APRON_E
829 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_NORTH
, _station_display_nothing
) // APT_ARPON_N
830 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_CTR
, _station_display_nothing
) // APT_APRON_HOR
831 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_NORTH
, _station_display_fence_sw
) // APT_APRON_N_FENCE_SW
832 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_A
, _station_display_fence_se
) // APT_RUNWAY_1
833 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B
, _station_display_fence_se
) // APT_RUNWAY_2
834 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_C
, _station_display_fence_se
) // APT_RUNWAY_3
835 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_D
, _station_display_fence_se
) // APT_RUNWAY_4
836 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_se
) // APT_RUNWAY_END_FENCE_SE
837 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_terminal_a
) // APT_BUILDING_2
838 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_tower_fence_sw
) // APT_TOWER_FENCE_SW
839 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_concourse
) // APT_ROUND_TERMINAL
840 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_datas_terminal_b
) // APT_BUILDING_3
841 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_datas_terminal_c
) // APT_BUILDING_1
842 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_hangar_se
) // APT_DEPOT_SE
843 TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND
, _station_display_jetway_1
) // APT_STAND_1
844 TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND
, _station_display_jetway_2
) // APT_STAND_PIER_NE
845 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_jetway_3
) // APT_PIER_NW_NE
846 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_passenger_tunnel
) // APT_PIER
847 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_nothing
) // APT_EMPTY
848 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_fence_ne
) // APT_EMPTY_FENCE_NE
849 TILE_SPRITE_NULL() // APT_RADAR_GRASS_FENCE_SW
850 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_transmitter_fence_ne
) // APT_RADIO_TOWER_FENCE_NE
851 TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_A
, _station_display_nothing
) // APT_SMALL_BUILDING_3
852 TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_B
, _station_display_nothing
) // APT_SMALL_BUILDING_2
853 TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_C_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_terminal_c_2
) // APT_SMALL_BUILDING_1
854 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_A
, _station_display_fence_sw
) // APT_GRASS_FENCE_SW
855 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_B
, _station_display_nothing
) // APT_GRASS_2
856 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_C
, _station_display_nothing
) // APT_GRASS_1
857 TILE_SPRITE_NULL() // APT_GRASS_FENCE_NE_FLAG
858 TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_NEAR_END
, _station_display_fence_se
) // APT_RUNWAY_SMALL_NEAR_END
859 TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_MIDDLE
, _station_display_fence_se
) // APT_RUNWAY_SMALL_MIDDLE
860 TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_FAR_END
, _station_display_fence_se
) // APT_RUNWAY_SMALL_FAR_END
861 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_small_depot_se
) // APT_SMALL_DEPOT_SE
862 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_heliport
) // APT_HELIPORT
863 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_nothing
) // APT_RUNWAY_END
864 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B
, _station_display_nothing
) // APT_RUNWAY_5
865 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_tower
) // APT_TOWER
866 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_ne
) // APT_APRON_FENCE_NE
867 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_nw
) // APT_RUNWAY_END_FENCE_NW
868 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B
, _station_display_fence_nw
) // APT_RUNWAY_FENCE_NW
869 TILE_SPRITE_NULL() // APT_RADAR_FENCE_SW
870 TILE_SPRITE_NULL() // APT_RADAR_FENCE_NE
871 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad_fence_sw
) // APT_HELIPAD_1
872 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad_fence_nw
) // APT_HELIPAD_2_FENCE_NW
873 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad
) // APT_HELIPAD_2
874 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_ne_sw
) // APT_APRON_FENCE_NE_SW
875 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_nw_sw
) // APT_RUNWAY_END_FENCE_NW_SW
876 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_se_sw
) // APT_RUNWAY_END_FENCE_SE_SW
877 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_ne_nw
) // APT_RUNWAY_END_FENCE_NE_NW
878 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_ne_se
) // APT_RUNWAY_END_FENCE_NE_SE
879 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad_fence_NE_SE
) // APT_HELIPAD_2_FENCE_NE_SE
880 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_se_sw
) // APT_APRON_FENCE_SE_SW
881 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_low_building_fence_ne_nw
) // APT_LOW_BUILDING_FENCE_N
882 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_low_building_fence_nw
) // APT_LOW_BUILDING_FENCE_NW
883 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_se
) // APT_APRON_FENCE_SE
884 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_newhelipad_fence_se_sw
) // APT_HELIPAD_3_FENCE_SE_SW
885 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_newhelipad_fence_nw_sw
) // APT_HELIPAD_3_FENCE_NW_SW
886 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_newhelipad_fence_nw
) // APT_HELIPAD_3_FENCE_NW
887 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_low_building
) // APT_LOW_BUILDING
888 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_ne_se
) // APT_APRON_FENCE_NE_SE
889 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_grass_west
) // APT_APRON_HALF_EAST
890 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_grass_east
) // APT_APRON_HALF_WEST
891 TILE_SPRITE_NULL() // APT_GRASS_FENCE_NE_FLAG_2
894 static const DrawTileSprites _station_display_datas_airport_radar_grass_fence_sw
[] = {
895 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_1_fence_sw
) // APT_RADAR_GRASS_FENCE_SW
896 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_2_fence_sw
)
897 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_3_fence_sw
)
898 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_4_fence_sw
)
899 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_5_fence_sw
)
900 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_6_fence_sw
)
901 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_7_fence_sw
)
902 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_8_fence_sw
)
903 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_9_fence_sw
)
904 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_10_fence_sw
)
905 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_11_fence_sw
)
906 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_12_fence_sw
)
909 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne
[] = {
910 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_1_fence_ne
) // APT_GRASS_FENCE_NE_FLAG
911 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_2_fence_ne
)
912 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_3_fence_ne
)
913 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_4_fence_ne
)
916 static const DrawTileSprites _station_display_datas_airport_radar_fence_sw
[] = {
917 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_1_fence_sw
) // APT_RADAR_FENCE_SW
918 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_2_fence_sw
)
919 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_3_fence_sw
)
920 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_4_fence_sw
)
921 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_5_fence_sw
)
922 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_6_fence_sw
)
923 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_7_fence_sw
)
924 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_8_fence_sw
)
925 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_9_fence_sw
)
926 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_10_fence_sw
)
927 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_11_fence_sw
)
928 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_12_fence_sw
)
931 static const DrawTileSprites _station_display_datas_airport_radar_fence_ne
[] = {
932 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_1_fence_ne
) // APT_RADAR_FENCE_NE
933 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_2_fence_ne
)
934 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_3_fence_ne
)
935 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_4_fence_ne
)
936 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_5_fence_ne
)
937 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_6_fence_ne
)
938 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_7_fence_ne
)
939 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_8_fence_ne
)
940 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_9_fence_ne
)
941 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_10_fence_ne
)
942 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_11_fence_ne
)
943 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_12_fence_ne
)
946 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne_2
[] = {
947 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_1_fence_ne
) // APT_GRASS_FENCE_NE_FLAG_2
948 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_2_fence_ne
)
949 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_3_fence_ne
)
950 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_4_fence_ne
)
954 static const DrawTileSprites _station_display_datas_truck
[] = {
955 TILE_SPRITE_LINE(SPR_TRUCK_STOP_NE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_67
)
956 TILE_SPRITE_LINE(SPR_TRUCK_STOP_SE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_68
)
957 TILE_SPRITE_LINE(SPR_TRUCK_STOP_SW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_69
)
958 TILE_SPRITE_LINE(SPR_TRUCK_STOP_NW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_70
)
959 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X
, _station_display_datas_0168
)
960 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y
, _station_display_datas_0169
)
963 static const DrawTileSprites _station_display_datas_bus
[] = {
964 TILE_SPRITE_LINE(SPR_BUS_STOP_NE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_71
)
965 TILE_SPRITE_LINE(SPR_BUS_STOP_SE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_72
)
966 TILE_SPRITE_LINE(SPR_BUS_STOP_SW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_73
)
967 TILE_SPRITE_LINE(SPR_BUS_STOP_NW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_74
)
968 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X
, _station_display_datas_0170
)
969 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y
, _station_display_datas_0171
)
972 static const DrawTileSprites _station_display_datas_road_waypoint
[] = {
973 TILE_SPRITE_LINE(0, nullptr)
974 TILE_SPRITE_LINE(0, nullptr)
975 TILE_SPRITE_LINE(0, nullptr)
976 TILE_SPRITE_LINE(0, nullptr)
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
)
981 static const DrawTileSprites _station_display_datas_oilrig
[] = {
982 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_nothing
)
985 static const DrawTileSprites _station_display_datas_dock
[] = {
986 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_SW
, _station_display_datas_76
)
987 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_NW
, _station_display_datas_77
)
988 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_NE
, _station_display_datas_78
)
989 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_SE
, _station_display_datas_79
)
990 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_datas_80
)
991 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_datas_81
)
994 static const DrawTileSprites _station_display_datas_buoy
[] = {
995 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_datas_82
)
998 static const DrawTileSprites _station_display_datas_waypoint
[] = {
999 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
1000 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
1001 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
1002 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
1003 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
1004 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
1005 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
1006 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
1009 #undef TILE_SPRITE_LINE
1010 #undef TILE_SPRITE_NULL
1012 /* Default waypoint is also drawn as fallback for NewGRF waypoints.
1013 * As these are drawn/build like stations, they may use the same number of layouts. */
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
,