4 * This file is part of OpenTTD.
5 * 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.
6 * 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.
7 * 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/>.
10 /** @file station_land.h Sprites to use and how to display them for station tiles. */
13 * Constructor macro for an image without a palette in a DrawTileSeqStruct array.
14 * @param dx Offset in x direction
15 * @param dy Offset in y direction
16 * @param dz Offset in z direction
17 * @param sx Size in x direction
18 * @param sy Size in y direction
19 * @param sz Size in z direction
20 * @param img Sprite to draw
22 #define TILE_SEQ_LINE(dx, dy, dz, sx, sy, sz, img) TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, PAL_NONE)
25 * Constructor macro for an image with a palette in a DrawTileSeqStruct array.
26 * @param dx Offset in x direction
27 * @param dy Offset in y direction
28 * @param dz Offset in z direction
29 * @param sx Size in x direction
30 * @param sy Size in y direction
31 * @param sz Size in z direction
32 * @param img Sprite to draw
33 * @param pal Palette sprite
35 #define TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, pal) { dx, dy, dz, sx, sy, sz, {img, pal} },
38 * Constructor macro for an image without bounding box.
39 * @param dx Screen X offset from parent sprite
40 * @param dy Screen Y offset from parent sprite
41 * @param img Sprite to draw
42 * @param pal Palette sprite
44 #define TILE_SEQ_CHILD(dx, dy, img, pal) TILE_SEQ_LINE_PAL(dx, dy, (int8)0x80, 0, 0, 0, img, pal)
47 * Constructor macro for additional ground sprites.
48 * These need to be at the front of a DrawTileSeqStruct sequence.
49 * @param dx Offset in x direction
50 * @param dy Offset in y direction
51 * @param dz Offset in z direction
52 * @param img Sprite to draw
54 #define TILE_SEQ_GROUND(dx, dy, dz, img) TILE_SEQ_CHILD(2 * (dy - dx), dx + dy - dz, img, PAL_NONE)
56 /** Constructor macro for a terminating DrawTileSeqStruct entry in an array */
57 #define TILE_SEQ_END() { (int8)0x80, 0, 0, 0, 0, 0, {0, 0} }
59 static const DrawTileSeqStruct _station_display_nothing
[] = {
63 static const DrawTileSeqStruct _station_display_datas_0
[] = {
64 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
65 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
69 static const DrawTileSeqStruct _station_display_datas_1
[] = {
70 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
71 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
75 static const DrawTileSeqStruct _station_display_datas_2
[] = {
76 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, SPR_RAIL_PLATFORM_BUILDING_X
| (1U << PALETTE_MODIFIER_COLOUR
))
77 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
81 static const DrawTileSeqStruct _station_display_datas_3
[] = {
82 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_BUILDING_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
83 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
87 static const DrawTileSeqStruct _station_display_datas_4
[] = {
88 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 7, SPR_RAIL_PLATFORM_PILLARS_X_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
89 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
90 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_X_TILE_A
| (1U << PALETTE_MODIFIER_COLOUR
))
91 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_X_TILE_A
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
95 static const DrawTileSeqStruct _station_display_datas_5
[] = {
96 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_PILLARS_Y_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
97 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
98 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_Y_TILE_A
| (1U << PALETTE_MODIFIER_COLOUR
))
99 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_Y_TILE_A
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
103 static const DrawTileSeqStruct _station_display_datas_6
[] = {
104 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, SPR_RAIL_PLATFORM_X_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
105 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, SPR_RAIL_PLATFORM_PILLARS_X_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
106 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_X_TILE_B
| (1U << PALETTE_MODIFIER_COLOUR
))
107 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_X_TILE_B
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
111 static const DrawTileSeqStruct _station_display_datas_7
[] = {
112 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_Y_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
113 TILE_SEQ_LINE(11, 0, 0, 5, 16, 2, SPR_RAIL_PLATFORM_PILLARS_Y_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
114 TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_Y_TILE_B
| (1U << PALETTE_MODIFIER_COLOUR
))
115 TILE_SEQ_CHILD( 0, 0, SPR_RAIL_ROOF_GLASS_Y_TILE_B
| (1U << PALETTE_MODIFIER_TRANSPARENT
), PALETTE_TO_TRANSPARENT
)
119 static const DrawTileSeqStruct _station_display_fence_nw
[] = {
120 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
124 static const DrawTileSeqStruct _station_display_fence_ne
[] = {
125 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
129 static const DrawTileSeqStruct _station_display_fence_sw
[] = {
130 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
134 static const DrawTileSeqStruct _station_display_fence_se
[] = {
135 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
))
139 static const DrawTileSeqStruct _station_display_terminal_a
[] = {
140 TILE_SEQ_LINE( 2, 0, 0, 11, 16, 40, SPR_AIRPORT_TERMINAL_A
| (1U << PALETTE_MODIFIER_COLOUR
))
144 static const DrawTileSeqStruct _station_display_tower_fence_sw
[] = {
145 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_TOWER
| (1U << PALETTE_MODIFIER_COLOUR
))
146 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
150 static const DrawTileSeqStruct _station_display_concourse
[] = {
151 TILE_SEQ_LINE( 0, 1, 0, 14, 14, 30, SPR_AIRPORT_CONCOURSE
| (1U << PALETTE_MODIFIER_COLOUR
))
155 static const DrawTileSeqStruct _station_display_datas_terminal_b
[] = {
156 TILE_SEQ_LINE( 3, 3, 0, 10, 11, 35, SPR_AIRPORT_TERMINAL_B
| (1U << PALETTE_MODIFIER_COLOUR
))
160 static const DrawTileSeqStruct _station_display_datas_terminal_c
[] = {
161 TILE_SEQ_LINE( 0, 3, 0, 16, 11, 40, SPR_AIRPORT_TERMINAL_C
| (1U << PALETTE_MODIFIER_COLOUR
))
165 static const DrawTileSeqStruct _station_display_hangar_se
[] = {
166 TILE_SEQ_LINE(14, 0, 0, 2, 17, 28, SPR_AIRPORT_HANGAR_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
167 TILE_SEQ_LINE( 0, 0, 0, 2, 17, 28, SPR_AIRPORT_HANGAR_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
171 static const DrawTileSeqStruct _station_display_jetway_1
[] = {
172 TILE_SEQ_LINE( 7, 11, 0, 3, 3, 14, SPR_AIRPORT_JETWAY_1
| (1U << PALETTE_MODIFIER_COLOUR
))
173 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
))
177 static const DrawTileSeqStruct _station_display_jetway_2
[] = {
178 TILE_SEQ_LINE( 2, 7, 0, 3, 3, 14, SPR_AIRPORT_JETWAY_2
| (1U << PALETTE_MODIFIER_COLOUR
))
182 static const DrawTileSeqStruct _station_display_jetway_3
[] = {
183 TILE_SEQ_LINE( 3, 2, 0, 3, 3, 14, SPR_AIRPORT_JETWAY_3
| (1U << PALETTE_MODIFIER_COLOUR
))
187 static const DrawTileSeqStruct _station_display_passenger_tunnel
[] = {
188 TILE_SEQ_LINE( 0, 8, 0, 14, 3, 14, SPR_AIRPORT_PASSENGER_TUNNEL
| (1U << PALETTE_MODIFIER_COLOUR
))
192 static const DrawTileSeqStruct _station_display_radar_1_fence_sw
[] = {
193 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_1
)
194 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
198 static const DrawTileSeqStruct _station_display_radar_2_fence_sw
[] = {
199 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_2
)
200 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
204 static const DrawTileSeqStruct _station_display_radar_3_fence_sw
[] = {
205 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_3
)
206 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
210 static const DrawTileSeqStruct _station_display_radar_4_fence_sw
[] = {
211 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_4
)
212 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
216 static const DrawTileSeqStruct _station_display_radar_5_fence_sw
[] = {
217 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_5
)
218 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
222 static const DrawTileSeqStruct _station_display_radar_6_fence_sw
[] = {
223 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_6
)
224 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
228 static const DrawTileSeqStruct _station_display_radar_7_fence_sw
[] = {
229 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_7
)
230 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
234 static const DrawTileSeqStruct _station_display_radar_8_fence_sw
[] = {
235 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_8
)
236 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
240 static const DrawTileSeqStruct _station_display_radar_9_fence_sw
[] = {
241 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_9
)
242 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
246 static const DrawTileSeqStruct _station_display_radar_10_fence_sw
[] = {
247 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_A
)
248 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
252 static const DrawTileSeqStruct _station_display_radar_11_fence_sw
[] = {
253 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_B
)
254 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
258 static const DrawTileSeqStruct _station_display_radar_12_fence_sw
[] = {
259 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_C
)
260 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
264 static const DrawTileSeqStruct _station_display_transmitter_fence_ne
[] = {
265 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 70, SPR_TRANSMITTER
)
266 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
270 static const DrawTileSeqStruct _station_display_datas_terminal_c_2
[] = {
271 TILE_SEQ_LINE( 0, 0, 0, 15, 15, 30, SPR_AIRFIELD_TERM_C_BUILD
| (1U << PALETTE_MODIFIER_COLOUR
))
275 static const DrawTileSeqStruct _station_display_flag_1_fence_ne
[] = {
276 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
277 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_1
| (1U << PALETTE_MODIFIER_COLOUR
))
281 static const DrawTileSeqStruct _station_display_flag_2_fence_ne
[] = {
282 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
283 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_2
| (1U << PALETTE_MODIFIER_COLOUR
))
287 static const DrawTileSeqStruct _station_display_flag_3_fence_ne
[] = {
288 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
289 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_3
| (1U << PALETTE_MODIFIER_COLOUR
))
293 static const DrawTileSeqStruct _station_display_flag_4_fence_ne
[] = {
294 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
295 TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, SPR_AIRFIELD_WIND_4
| (1U << PALETTE_MODIFIER_COLOUR
))
299 static const DrawTileSeqStruct _station_display_small_depot_se
[] = {
300 TILE_SEQ_LINE(14, 0, 0, 2, 17, 28, SPR_AIRFIELD_HANGAR_FRONT
| (1U << PALETTE_MODIFIER_COLOUR
))
301 TILE_SEQ_LINE( 0, 0, 0, 2, 17, 28, SPR_AIRFIELD_HANGAR_REAR
| (1U << PALETTE_MODIFIER_COLOUR
))
305 static const DrawTileSeqStruct _station_display_heliport
[] = {
306 TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, SPR_HELIPORT
| (1U << PALETTE_MODIFIER_COLOUR
))
310 static const DrawTileSeqStruct _station_display_datas_67
[] = {
311 TILE_SEQ_LINE( 0, 15, 0, 13, 1, 10, SPR_TRUCK_STOP_NE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
312 TILE_SEQ_LINE(13, 0, 0, 3, 16, 10, SPR_TRUCK_STOP_NE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
313 TILE_SEQ_LINE( 2, 0, 0, 11, 1, 10, SPR_TRUCK_STOP_NE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
317 static const DrawTileSeqStruct _station_display_datas_68
[] = {
318 TILE_SEQ_LINE(15, 3, 0, 1, 13, 10, SPR_TRUCK_STOP_SE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
319 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 10, SPR_TRUCK_STOP_SE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
320 TILE_SEQ_LINE( 0, 3, 0, 1, 11, 10, SPR_TRUCK_STOP_SE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
324 static const DrawTileSeqStruct _station_display_datas_69
[] = {
325 TILE_SEQ_LINE( 3, 0, 0, 13, 1, 10, SPR_TRUCK_STOP_SW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
326 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 10, SPR_TRUCK_STOP_SW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
327 TILE_SEQ_LINE( 3, 15, 0, 11, 1, 10, SPR_TRUCK_STOP_SW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
331 static const DrawTileSeqStruct _station_display_datas_70
[] = {
332 TILE_SEQ_LINE( 0, 0, 0, 1, 13, 10, SPR_TRUCK_STOP_NW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
333 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 10, SPR_TRUCK_STOP_NW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
334 TILE_SEQ_LINE(15, 2, 0, 1, 11, 10, SPR_TRUCK_STOP_NW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
338 static const DrawTileSeqStruct _station_display_datas_71
[] = {
339 TILE_SEQ_LINE( 2, 0, 0, 11, 1, 10, SPR_BUS_STOP_NE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
340 TILE_SEQ_LINE(13, 0, 0, 3, 16, 10, SPR_BUS_STOP_NE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
341 TILE_SEQ_LINE( 0, 13, 0, 13, 3, 10, SPR_BUS_STOP_NE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
345 static const DrawTileSeqStruct _station_display_datas_72
[] = {
346 TILE_SEQ_LINE( 0, 3, 0, 1, 11, 10, SPR_BUS_STOP_SE_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
347 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 10, SPR_BUS_STOP_SE_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
348 TILE_SEQ_LINE(13, 3, 0, 3, 13, 10, SPR_BUS_STOP_SE_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
352 static const DrawTileSeqStruct _station_display_datas_73
[] = {
353 TILE_SEQ_LINE( 3, 15, 0, 11, 1, 10, SPR_BUS_STOP_SW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
354 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 10, SPR_BUS_STOP_SW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
355 TILE_SEQ_LINE( 3, 0, 0, 13, 3, 10, SPR_BUS_STOP_SW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
359 static const DrawTileSeqStruct _station_display_datas_74
[] = {
360 TILE_SEQ_LINE(15, 2, 0, 1, 11, 10, SPR_BUS_STOP_NW_BUILD_A
| (1U << PALETTE_MODIFIER_COLOUR
))
361 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 10, SPR_BUS_STOP_NW_BUILD_B
| (1U << PALETTE_MODIFIER_COLOUR
))
362 TILE_SEQ_LINE( 0, 0, 0, 3, 13, 10, SPR_BUS_STOP_NW_BUILD_C
| (1U << PALETTE_MODIFIER_COLOUR
))
366 static const DrawTileSeqStruct _station_display_datas_76
[] = {
367 TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, SPR_DOCK_SLOPE_NE
| (1U << PALETTE_MODIFIER_COLOUR
))
371 static const DrawTileSeqStruct _station_display_datas_77
[] = {
372 TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, SPR_DOCK_SLOPE_SE
| (1U << PALETTE_MODIFIER_COLOUR
))
376 static const DrawTileSeqStruct _station_display_datas_78
[] = {
377 TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, SPR_DOCK_SLOPE_SW
| (1U << PALETTE_MODIFIER_COLOUR
))
381 static const DrawTileSeqStruct _station_display_datas_79
[] = {
382 TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, SPR_DOCK_SLOPE_NW
| (1U << PALETTE_MODIFIER_COLOUR
))
386 static const DrawTileSeqStruct _station_display_datas_80
[] = {
387 TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, SPR_DOCK_FLAT_X
| (1U << PALETTE_MODIFIER_COLOUR
))
391 static const DrawTileSeqStruct _station_display_datas_81
[] = {
392 TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, SPR_DOCK_FLAT_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
396 /* Buoy, which will _always_ drown under the ship */
397 static const DrawTileSeqStruct _station_display_datas_82
[] = {
398 TILE_SEQ_LINE( 4, -1, 0, 0, 0, 0, SPR_IMG_BUOY
)
402 /* control tower without fence */
403 static const DrawTileSeqStruct _station_display_tower
[] = {
404 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_TOWER
| (1U << PALETTE_MODIFIER_COLOUR
)) // control tower
408 /* turning radar with fences on north -- needs 12 tiles
410 static const DrawTileSeqStruct _station_display_radar_1_fence_ne
[] = {
411 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_1
) // turning radar
412 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
416 static const DrawTileSeqStruct _station_display_radar_2_fence_ne
[] = {
417 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_2
)
418 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
422 static const DrawTileSeqStruct _station_display_radar_3_fence_ne
[] = {
423 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_3
)
424 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
428 static const DrawTileSeqStruct _station_display_radar_4_fence_ne
[] = {
429 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_4
)
430 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
434 static const DrawTileSeqStruct _station_display_radar_5_fence_ne
[] = {
435 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_5
)
436 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
440 static const DrawTileSeqStruct _station_display_radar_6_fence_ne
[] = {
441 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_6
)
442 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
446 static const DrawTileSeqStruct _station_display_radar_7_fence_ne
[] = {
447 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_7
)
448 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
452 static const DrawTileSeqStruct _station_display_radar_8_fence_ne
[] = {
453 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_8
)
454 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
458 static const DrawTileSeqStruct _station_display_radar_9_fence_ne
[] = {
459 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_9
)
460 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
464 static const DrawTileSeqStruct _station_display_radar_10_fence_ne
[] = {
465 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_A
)
466 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
470 static const DrawTileSeqStruct _station_display_radar_11_fence_ne
[] = {
471 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_B
)
472 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
476 static const DrawTileSeqStruct _station_display_radar_12_fence_ne
[] = {
477 TILE_SEQ_LINE(7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_C
)
478 TILE_SEQ_LINE(0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
483 /* helipad for international airport */
484 static const DrawTileSeqStruct _station_display_helipad_fence_sw
[] = {
485 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
486 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences bottom
490 /* helipad for commuter airport */
491 static const DrawTileSeqStruct _station_display_helipad_fence_nw
[] = {
492 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
493 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences left
497 /* helipad for continental airport */
498 static const DrawTileSeqStruct _station_display_helipad
[] = {
499 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
503 /* asphalt tile with fences in north and south */
504 static const DrawTileSeqStruct _station_display_fence_ne_sw
[] = {
505 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
506 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
))
510 /* runway tiles with 2 corner fences */
511 static const DrawTileSeqStruct _station_display_fence_nw_sw
[] = {
512 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
513 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
517 /* runway tiles with 2 corner fences */
518 static const DrawTileSeqStruct _station_display_fence_se_sw
[] = {
519 TILE_SEQ_GROUND(15, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
520 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
524 /* runway tiles with 2 corner fences */
525 static const DrawTileSeqStruct _station_display_fence_ne_nw
[] = {
526 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
527 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
531 /* runway tiles with 2 corner fences */
532 static const DrawTileSeqStruct _station_display_fence_ne_se
[] = {
533 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
534 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
538 /* helipad tiles with 2 corner fences top+right */
539 static const DrawTileSeqStruct _station_display_helipad_fence_NE_SE
[] = {
540 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
541 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
542 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
546 /* helidepot office with fences top + left */
547 static const DrawTileSeqStruct _station_display_low_building_fence_ne_nw
[] = {
548 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences left
549 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
550 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
554 /* West facing hangar */
555 static const DrawTileSeqStruct _station_display_hangar_sw
[] = {
556 TILE_SEQ_LINE(14, 0, 0, 2, 17, 28, SPR_NEWHANGAR_W
| (1U << PALETTE_MODIFIER_COLOUR
))
557 TILE_SEQ_LINE( 0, 0, 0, 2, 17, 28, SPR_NEWHANGAR_W_WALL
| (1U << PALETTE_MODIFIER_COLOUR
))
561 /* North facing hangar */
562 static const DrawTileSeqStruct _station_display_hangar_nw
[] = {
563 TILE_SEQ_LINE(14, 0, 0, 2, 16, 28, SPR_NEWHANGAR_N
| (1U << PALETTE_MODIFIER_COLOUR
))
567 /* East facing hangar */
568 static const DrawTileSeqStruct _station_display_hangar_ne
[] = {
569 TILE_SEQ_LINE(14, 0, 0, 2, 16, 28, SPR_NEWHANGAR_E
| (1U << PALETTE_MODIFIER_COLOUR
))
573 /* helipad for district airport NS */
574 static const DrawTileSeqStruct _station_display_helipad_fence_se_sw
[] = {
575 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
576 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences bottom
577 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences right
581 /* helipad for district airport NS */
582 static const DrawTileSeqStruct _station_display_helipad_fence_se
[] = {
583 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
584 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
588 /* helidepot office with fence north */
589 static const DrawTileSeqStruct _station_display_low_building_fence_nw
[] = {
590 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
591 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
595 /* helidepot office with fence east */
596 static const DrawTileSeqStruct _station_display_low_building_fence_ne
[] = {
597 TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences east
598 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
602 /* helidepot office with fence west */
603 static const DrawTileSeqStruct _station_display_low_building_fence_sw
[] = {
604 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
605 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
609 /* helidepot office with fence south */
610 static const DrawTileSeqStruct _station_display_low_building_fence_se
[] = {
611 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
612 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
616 /* helipad for district airport EW*/
617 static const DrawTileSeqStruct _station_display_helipad_fence_nw_sw
[] = {
618 TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_AIRPORT_HELIPAD
)
619 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
620 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
624 /* turning radar with fences on south -- needs 12 tiles
626 static const DrawTileSeqStruct _station_display_radar_1_fence_se
[] = {
627 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_1
) // turning radar
628 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
632 static const DrawTileSeqStruct _station_display_radar_2_fence_se
[] = {
633 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_2
)
634 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
638 static const DrawTileSeqStruct _station_display_radar_3_fence_se
[] = {
639 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_3
)
640 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
644 static const DrawTileSeqStruct _station_display_radar_4_fence_se
[] = {
645 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_4
)
646 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
650 static const DrawTileSeqStruct _station_display_radar_5_fence_se
[] = {
651 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_5
)
652 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
656 static const DrawTileSeqStruct _station_display_radar_6_fence_se
[] = {
657 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_6
)
658 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
662 static const DrawTileSeqStruct _station_display_radar_7_fence_se
[] = {
663 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_7
)
664 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
668 static const DrawTileSeqStruct _station_display_radar_8_fence_se
[] = {
669 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_8
)
670 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
674 static const DrawTileSeqStruct _station_display_radar_9_fence_se
[] = {
675 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_9
)
676 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
680 static const DrawTileSeqStruct _station_display_radar_10_fence_se
[] = {
681 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_A
)
682 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
686 static const DrawTileSeqStruct _station_display_radar_11_fence_se
[] = {
687 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_B
)
688 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
692 static const DrawTileSeqStruct _station_display_radar_12_fence_se
[] = {
693 TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, SPR_AIRPORT_RADAR_C
)
694 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
699 /* helipad for helistation */
700 static const DrawTileSeqStruct _station_display_newhelipad_fence_se_sw
[] = {
701 TILE_SEQ_LINE( 0, 1, 2, 0, 0, 0, SPR_NEWHELIPAD
)
702 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
703 TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences south
707 /* helipad for helistation */
708 static const DrawTileSeqStruct _station_display_newhelipad_fence_nw_sw
[] = {
709 TILE_SEQ_LINE( 0, 1, 2, 0, 0, 0, SPR_NEWHELIPAD
)
710 TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, SPR_AIRPORT_FENCE_Y
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences west
711 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
715 /* helipad for helistation */
716 static const DrawTileSeqStruct _station_display_newhelipad_fence_nw
[] = {
717 TILE_SEQ_LINE( 0, 1, 2, 0, 0, 0, SPR_NEWHELIPAD
)
718 TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, SPR_AIRPORT_FENCE_X
| (1U << PALETTE_MODIFIER_COLOUR
)) // fences north
722 /* helidepot office without fence */
723 static const DrawTileSeqStruct _station_display_low_building
[] = {
724 TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE
| (1U << PALETTE_MODIFIER_COLOUR
)) // helidepot office
728 /* half grass half SPR_AIRPORT_APRON */
729 static const DrawTileSeqStruct _station_display_grass_west
[] = {
730 TILE_SEQ_LINE(0, 0, 0, 0, 0, 0, SPR_GRASS_LEFT
)
734 /* half grass half SPR_AIRPORT_APRON */
735 static const DrawTileSeqStruct _station_display_grass_east
[] = {
736 TILE_SEQ_LINE(0, 0, 0, 0, 0, 0, SPR_GRASS_RIGHT
)
740 /* drive-through truck stop X */
741 static const DrawTileSeqStruct _station_display_datas_0168
[] = {
742 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 16, SPR_TRUCK_STOP_DT_X_W
| (1U << PALETTE_MODIFIER_COLOUR
))
743 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 16, SPR_TRUCK_STOP_DT_X_E
| (1U << PALETTE_MODIFIER_COLOUR
))
747 /* drive-through truck stop Y */
748 static const DrawTileSeqStruct _station_display_datas_0169
[] = {
749 TILE_SEQ_LINE(13, 0, 0, 3, 16, 16, SPR_TRUCK_STOP_DT_Y_W
| (1U << PALETTE_MODIFIER_COLOUR
))
750 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 16, SPR_TRUCK_STOP_DT_Y_E
| (1U << PALETTE_MODIFIER_COLOUR
))
754 /* drive-through bus stop X */
755 static const DrawTileSeqStruct _station_display_datas_0170
[] = {
756 TILE_SEQ_LINE( 0, 0, 0, 16, 3, 16, SPR_BUS_STOP_DT_X_W
| (1U << PALETTE_MODIFIER_COLOUR
))
757 TILE_SEQ_LINE( 0, 13, 0, 16, 3, 16, SPR_BUS_STOP_DT_X_E
| (1U << PALETTE_MODIFIER_COLOUR
))
761 /* drive-through bus stop Y */
762 static const DrawTileSeqStruct _station_display_datas_0171
[] = {
763 TILE_SEQ_LINE(13, 0, 0, 3, 16, 16, SPR_BUS_STOP_DT_Y_W
| (1U << PALETTE_MODIFIER_COLOUR
))
764 TILE_SEQ_LINE( 0, 0, 0, 3, 16, 16, SPR_BUS_STOP_DT_Y_E
| (1U << PALETTE_MODIFIER_COLOUR
))
768 static const DrawTileSeqStruct _station_display_datas_waypoint_X
[] = {
769 TILE_SEQ_LINE( 0, 0, 0, 16, 5, 23, SPR_WAYPOINT_X_1
| (1U << PALETTE_MODIFIER_COLOUR
))
770 TILE_SEQ_LINE( 0, 11, 0, 16, 5, 23, SPR_WAYPOINT_X_2
| (1U << PALETTE_MODIFIER_COLOUR
))
774 static const DrawTileSeqStruct _station_display_datas_waypoint_Y
[] = {
775 TILE_SEQ_LINE( 0, 0, 0, 5, 16, 23, SPR_WAYPOINT_Y_1
| (1U << PALETTE_MODIFIER_COLOUR
))
776 TILE_SEQ_LINE(11, 0, 0, 5, 16, 23, SPR_WAYPOINT_Y_2
| (1U << PALETTE_MODIFIER_COLOUR
))
782 #undef TILE_SEQ_LINE_PAL
783 #undef TILE_SEQ_CHILD
784 #undef TILE_SEQ_GROUND
787 * Constructor macro of a DrawTileSprites structure
788 * @param img Ground sprite without palette of the tile
789 * @param dtss Sequence child sprites of the tile
791 #define TILE_SPRITE_LINE(img, dtss) { {img, PAL_NONE}, dtss },
792 #define TILE_SPRITE_NULL() { {0, 0}, NULL },
794 extern const DrawTileSprites _station_display_datas_rail
[] = {
795 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_0
)
796 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_1
)
797 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_2
)
798 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_3
)
799 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_4
)
800 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_5
)
801 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_6
)
802 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_7
)
805 static const DrawTileSprites _station_display_datas_airport
[] = {
806 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_nothing
) // APT_APRON
807 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_nw
) // APT_APRON_FENCE_NW
808 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_sw
) // APT_APRON_FENCE_SW
809 TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND
, _station_display_nothing
) // APT_STAND
810 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_WEST
, _station_display_nothing
) // APT_APRON_W
811 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_SOUTH
, _station_display_nothing
) // APT_APRON_S
812 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_SOUTH
, _station_display_nothing
) // APT_APRON_VER_CROSSING_S
813 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_WEST
, _station_display_nothing
) // APT_APRON_HOR_CROSSING_W
814 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_CTR
, _station_display_nothing
) // APT_APRON_VER_CROSSING_N
815 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_EAST
, _station_display_nothing
) // APT_APRON_HOR_CROSSING_E
816 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_EAST
, _station_display_nothing
) // APT_APRON_E
817 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_NORTH
, _station_display_nothing
) // APT_ARPON_N
818 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_CTR
, _station_display_nothing
) // APT_APRON_HOR
819 TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_NORTH
, _station_display_fence_sw
) // APT_APRON_N_FENCE_SW
820 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_A
, _station_display_fence_se
) // APT_RUNWAY_1
821 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B
, _station_display_fence_se
) // APT_RUNWAY_2
822 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_C
, _station_display_fence_se
) // APT_RUNWAY_3
823 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_D
, _station_display_fence_se
) // APT_RUNWAY_4
824 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_se
) // APT_RUNWAY_END_FENCE_SE
825 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_terminal_a
) // APT_BUILDING_2
826 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_tower_fence_sw
) // APT_TOWER_FENCE_SW
827 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_concourse
) // APT_ROUND_TERMINAL
828 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_datas_terminal_b
) // APT_BUILDING_3
829 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_datas_terminal_c
) // APT_BUILDING_1
830 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_hangar_se
) // APT_DEPOT_SE
831 TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND
, _station_display_jetway_1
) // APT_STAND_1
832 TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND
, _station_display_jetway_2
) // APT_STAND_PIER_NE
833 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_jetway_3
) // APT_PIER_NW_NE
834 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_passenger_tunnel
) // APT_PIER
835 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_nothing
) // APT_EMPTY
836 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_fence_ne
) // APT_EMPTY_FENCE_NE
837 TILE_SPRITE_NULL() // APT_RADAR_GRASS_FENCE_SW
838 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_transmitter_fence_ne
) // APT_RADIO_TOWER_FENCE_NE
839 TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_A
, _station_display_nothing
) // APT_SMALL_BUILDING_3
840 TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_B
, _station_display_nothing
) // APT_SMALL_BUILDING_2
841 TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_C_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_terminal_c_2
) // APT_SMALL_BUILDING_1
842 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_A
, _station_display_fence_sw
) // APT_GRASS_FENCE_SW
843 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_B
, _station_display_nothing
) // APT_GRASS_2
844 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_C
, _station_display_nothing
) // APT_GRASS_1
845 TILE_SPRITE_NULL() // APT_GRASS_FENCE_NE_FLAG
846 TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_NEAR_END
, _station_display_fence_se
) // APT_RUNWAY_SMALL_NEAR_END
847 TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_MIDDLE
, _station_display_fence_se
) // APT_RUNWAY_SMALL_MIDDLE
848 TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_FAR_END
, _station_display_fence_se
) // APT_RUNWAY_SMALL_FAR_END
849 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_small_depot_se
) // APT_SMALL_DEPOT_SE
850 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_heliport
) // APT_HELIPORT
851 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_nothing
) // APT_RUNWAY_END
852 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B
, _station_display_nothing
) // APT_RUNWAY_5
853 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_tower
) // APT_TOWER
854 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_ne
) // APT_APRON_FENCE_NE
855 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_nw
) // APT_RUNWAY_END_FENCE_NW
856 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B
, _station_display_fence_nw
) // APT_RUNWAY_FENCE_NW
857 TILE_SPRITE_NULL() // APT_RADAR_FENCE_SW
858 TILE_SPRITE_NULL() // APT_RADAR_FENCE_NE
859 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad_fence_sw
) // APT_HELIPAD_1
860 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad_fence_nw
) // APT_HELIPAD_2_FENCE_NW
861 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad
) // APT_HELIPAD_2
862 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_ne_sw
) // APT_APRON_FENCE_NE_SW
863 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_nw_sw
) // APT_RUNWAY_END_FENCE_NW_SW
864 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_se_sw
) // APT_RUNWAY_END_FENCE_SE_SW
865 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_ne_nw
) // APT_RUNWAY_END_FENCE_NE_NW
866 TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END
, _station_display_fence_ne_se
) // APT_RUNWAY_END_FENCE_NE_SE
867 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_helipad_fence_NE_SE
) // APT_HELIPAD_2_FENCE_NE_SE
868 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_se_sw
) // APT_APRON_FENCE_SE_SW
869 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_low_building_fence_ne_nw
) // APT_LOW_BUILDING_FENCE_N
870 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_low_building_fence_nw
) // APT_LOW_BUILDING_FENCE_NW
871 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_se
) // APT_APRON_FENCE_SE
872 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_newhelipad_fence_se_sw
) // APT_HELIPAD_3_FENCE_SE_SW
873 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_newhelipad_fence_nw_sw
) // APT_HELIPAD_3_FENCE_NW_SW
874 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_newhelipad_fence_nw
) // APT_HELIPAD_3_FENCE_NW
875 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_low_building
) // APT_LOW_BUILDING
876 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_fence_ne_se
) // APT_APRON_FENCE_NE_SE
877 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_grass_west
) // APT_APRON_HALF_EAST
878 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_grass_east
) // APT_APRON_HALF_WEST
879 TILE_SPRITE_NULL() // APT_GRASS_FENCE_NE_FLAG_2
882 static const DrawTileSprites _station_display_datas_airport_radar_grass_fence_sw
[] = {
883 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_1_fence_sw
) // APT_RADAR_GRASS_FENCE_SW
884 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_2_fence_sw
)
885 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_3_fence_sw
)
886 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_4_fence_sw
)
887 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_5_fence_sw
)
888 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_6_fence_sw
)
889 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_7_fence_sw
)
890 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_8_fence_sw
)
891 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_9_fence_sw
)
892 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_10_fence_sw
)
893 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_11_fence_sw
)
894 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_radar_12_fence_sw
)
897 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne
[] = {
898 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_1_fence_ne
) // APT_GRASS_FENCE_NE_FLAG
899 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_2_fence_ne
)
900 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_3_fence_ne
)
901 TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D
, _station_display_flag_4_fence_ne
)
904 static const DrawTileSprites _station_display_datas_airport_radar_fence_sw
[] = {
905 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_1_fence_sw
) // APT_RADAR_FENCE_SW
906 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_2_fence_sw
)
907 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_3_fence_sw
)
908 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_4_fence_sw
)
909 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_5_fence_sw
)
910 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_6_fence_sw
)
911 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_7_fence_sw
)
912 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_8_fence_sw
)
913 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_9_fence_sw
)
914 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_10_fence_sw
)
915 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_11_fence_sw
)
916 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_12_fence_sw
)
919 static const DrawTileSprites _station_display_datas_airport_radar_fence_ne
[] = {
920 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_1_fence_ne
) // APT_RADAR_FENCE_NE
921 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_2_fence_ne
)
922 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_3_fence_ne
)
923 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_4_fence_ne
)
924 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_5_fence_ne
)
925 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_6_fence_ne
)
926 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_7_fence_ne
)
927 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_8_fence_ne
)
928 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_9_fence_ne
)
929 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_10_fence_ne
)
930 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_11_fence_ne
)
931 TILE_SPRITE_LINE(SPR_AIRPORT_APRON
, _station_display_radar_12_fence_ne
)
934 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne_2
[] = {
935 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_1_fence_ne
) // APT_GRASS_FENCE_NE_FLAG_2
936 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_2_fence_ne
)
937 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_3_fence_ne
)
938 TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE
, _station_display_flag_4_fence_ne
)
942 static const DrawTileSprites _station_display_datas_truck
[] = {
943 TILE_SPRITE_LINE(SPR_TRUCK_STOP_NE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_67
)
944 TILE_SPRITE_LINE(SPR_TRUCK_STOP_SE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_68
)
945 TILE_SPRITE_LINE(SPR_TRUCK_STOP_SW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_69
)
946 TILE_SPRITE_LINE(SPR_TRUCK_STOP_NW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_70
)
947 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X
, _station_display_datas_0168
)
948 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y
, _station_display_datas_0169
)
951 static const DrawTileSprites _station_display_datas_bus
[] = {
952 TILE_SPRITE_LINE(SPR_BUS_STOP_NE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_71
)
953 TILE_SPRITE_LINE(SPR_BUS_STOP_SE_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_72
)
954 TILE_SPRITE_LINE(SPR_BUS_STOP_SW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_73
)
955 TILE_SPRITE_LINE(SPR_BUS_STOP_NW_GROUND
| (1U << PALETTE_MODIFIER_COLOUR
), _station_display_datas_74
)
956 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X
, _station_display_datas_0170
)
957 TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y
, _station_display_datas_0171
)
960 static const DrawTileSprites _station_display_datas_oilrig
[] = {
961 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_nothing
)
964 static const DrawTileSprites _station_display_datas_dock
[] = {
965 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_SW
, _station_display_datas_76
)
966 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_NW
, _station_display_datas_77
)
967 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_NE
, _station_display_datas_78
)
968 TILE_SPRITE_LINE(SPR_SHORE_BASE
+ SLOPE_SE
, _station_display_datas_79
)
969 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_datas_80
)
970 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_datas_81
)
973 static const DrawTileSprites _station_display_datas_buoy
[] = {
974 TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE
, _station_display_datas_82
)
977 static const DrawTileSprites _station_display_datas_waypoint
[] = {
978 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
979 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
980 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
981 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
982 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
983 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
984 TILE_SPRITE_LINE(SPR_RAIL_TRACK_X
, _station_display_datas_waypoint_X
)
985 TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y
, _station_display_datas_waypoint_Y
)
988 #undef TILE_SPRITE_LINE
989 #undef TILE_SPRITE_NULL
991 /* Default waypoint is also drawn as fallback for NewGRF waypoints.
992 * As these are drawn/build like stations, they may use the same number of layouts. */
993 assert_compile(lengthof(_station_display_datas_rail
) == lengthof(_station_display_datas_waypoint
));
995 static const DrawTileSprites
* const _station_display_datas
[] = {
996 _station_display_datas_rail
,
997 _station_display_datas_airport
,
998 _station_display_datas_truck
,
999 _station_display_datas_bus
,
1000 _station_display_datas_oilrig
,
1001 _station_display_datas_dock
,
1002 _station_display_datas_buoy
,
1003 _station_display_datas_waypoint
,