(svn r27707) -Fix: Make the result of NewGRF's CARGO_NAME string code reliably print...
[openttd.git] / src / table / station_land.h
blob3327dab5dddb3c02c91bec91d4fe252d1e3238d3
1 /* $Id$ */
3 /*
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/>.
8 */
10 /** @file station_land.h Sprites to use and how to display them for station tiles. */
12 /**
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)
24 /**
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} },
37 /**
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)
46 /**
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[] = {
60 TILE_SEQ_END()
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))
66 TILE_SEQ_END()
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))
72 TILE_SEQ_END()
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))
78 TILE_SEQ_END()
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))
84 TILE_SEQ_END()
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)
92 TILE_SEQ_END()
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)
100 TILE_SEQ_END()
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)
108 TILE_SEQ_END()
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)
116 TILE_SEQ_END()
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
121 TILE_SEQ_END()
124 static const DrawTileSeqStruct _station_display_fence_ne[] = {
125 TILE_SEQ_GROUND( 0, 0, 0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
126 TILE_SEQ_END()
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
131 TILE_SEQ_END()
134 static const DrawTileSeqStruct _station_display_fence_se[] = {
135 TILE_SEQ_GROUND( 0, 15, 0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR))
136 TILE_SEQ_END()
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))
141 TILE_SEQ_END()
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))
147 TILE_SEQ_END()
150 static const DrawTileSeqStruct _station_display_concourse[] = {
151 TILE_SEQ_LINE( 0, 1, 0, 14, 14, 30, SPR_AIRPORT_CONCOURSE | (1U << PALETTE_MODIFIER_COLOUR))
152 TILE_SEQ_END()
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))
157 TILE_SEQ_END()
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))
162 TILE_SEQ_END()
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))
168 TILE_SEQ_END()
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))
174 TILE_SEQ_END()
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))
179 TILE_SEQ_END()
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))
184 TILE_SEQ_END()
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))
189 TILE_SEQ_END()
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))
195 TILE_SEQ_END()
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))
201 TILE_SEQ_END()
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))
207 TILE_SEQ_END()
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))
213 TILE_SEQ_END()
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))
219 TILE_SEQ_END()
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))
225 TILE_SEQ_END()
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))
231 TILE_SEQ_END()
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))
237 TILE_SEQ_END()
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))
243 TILE_SEQ_END()
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))
249 TILE_SEQ_END()
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))
255 TILE_SEQ_END()
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))
261 TILE_SEQ_END()
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))
267 TILE_SEQ_END()
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))
272 TILE_SEQ_END()
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))
278 TILE_SEQ_END()
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))
284 TILE_SEQ_END()
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))
290 TILE_SEQ_END()
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))
296 TILE_SEQ_END()
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))
302 TILE_SEQ_END()
305 static const DrawTileSeqStruct _station_display_heliport[] = {
306 TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, SPR_HELIPORT | (1U << PALETTE_MODIFIER_COLOUR))
307 TILE_SEQ_END()
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))
314 TILE_SEQ_END()
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))
321 TILE_SEQ_END()
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))
328 TILE_SEQ_END()
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))
335 TILE_SEQ_END()
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))
342 TILE_SEQ_END()
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))
349 TILE_SEQ_END()
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))
356 TILE_SEQ_END()
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))
363 TILE_SEQ_END()
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))
368 TILE_SEQ_END()
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))
373 TILE_SEQ_END()
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))
378 TILE_SEQ_END()
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))
383 TILE_SEQ_END()
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))
388 TILE_SEQ_END()
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))
393 TILE_SEQ_END()
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)
399 TILE_SEQ_END()
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
405 TILE_SEQ_END()
408 /* turning radar with fences on north -- needs 12 tiles
409 *BEGIN */
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))
413 TILE_SEQ_END()
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))
419 TILE_SEQ_END()
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))
425 TILE_SEQ_END()
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))
431 TILE_SEQ_END()
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))
437 TILE_SEQ_END()
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))
443 TILE_SEQ_END()
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))
449 TILE_SEQ_END()
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))
455 TILE_SEQ_END()
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))
461 TILE_SEQ_END()
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))
467 TILE_SEQ_END()
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))
473 TILE_SEQ_END()
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))
479 TILE_SEQ_END()
481 /* END */
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
487 TILE_SEQ_END()
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
494 TILE_SEQ_END()
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)
500 TILE_SEQ_END()
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))
507 TILE_SEQ_END()
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
514 TILE_SEQ_END()
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
521 TILE_SEQ_END()
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
528 TILE_SEQ_END()
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
535 TILE_SEQ_END()
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
543 TILE_SEQ_END()
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
551 TILE_SEQ_END()
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))
558 TILE_SEQ_END()
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))
564 TILE_SEQ_END()
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))
570 TILE_SEQ_END()
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
578 TILE_SEQ_END()
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
585 TILE_SEQ_END()
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
592 TILE_SEQ_END()
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
599 TILE_SEQ_END()
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
606 TILE_SEQ_END()
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
613 TILE_SEQ_END()
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
621 TILE_SEQ_END()
624 /* turning radar with fences on south -- needs 12 tiles
625 *BEGIN */
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
629 TILE_SEQ_END()
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
635 TILE_SEQ_END()
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
641 TILE_SEQ_END()
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
647 TILE_SEQ_END()
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
653 TILE_SEQ_END()
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
659 TILE_SEQ_END()
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
665 TILE_SEQ_END()
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
671 TILE_SEQ_END()
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
677 TILE_SEQ_END()
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
683 TILE_SEQ_END()
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
689 TILE_SEQ_END()
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
695 TILE_SEQ_END()
697 /* END */
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
704 TILE_SEQ_END()
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
712 TILE_SEQ_END()
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
719 TILE_SEQ_END()
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
725 TILE_SEQ_END()
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)
731 TILE_SEQ_END()
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)
737 TILE_SEQ_END()
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))
744 TILE_SEQ_END()
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))
751 TILE_SEQ_END()
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))
758 TILE_SEQ_END()
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))
765 TILE_SEQ_END()
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))
771 TILE_SEQ_END()
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))
777 TILE_SEQ_END()
780 #undef TILE_SEQ_END
781 #undef TILE_SEQ_LINE
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,