# station_land.h

Go to the documentation of this file.

    00001 /* $Id$ */
    00002
    00003 /*
    00004  * This file is part of OpenTTD.
    00005  * 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.
    00006  * 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.
    00007  * 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/>.
    00008  */
    00009
    00022 #define TILE_SEQ_LINE(dx, dy, dz, sx, sy, sz, img) TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, PAL_NONE)
    00023
    00035 #define TILE_SEQ_LINE_PAL(dx, dy, dz, sx, sy, sz, img, pal) { dx, dy, dz, sx, sy, sz, {img, pal} },
    00036
    00044 #define TILE_SEQ_CHILD(dx, dy, img, pal) TILE_SEQ_LINE_PAL(dx, dy, (int8)0x80, 0, 0, 0, img, pal)
    00045
    00054 #define TILE_SEQ_GROUND(dx, dy, dz, img) TILE_SEQ_CHILD(2 * (dy - dx), dx + dy - dz, img, PAL_NONE)
    00055
    00057 #define TILE_SEQ_END() { (int8)0x80, 0, 0, 0, 0, 0, {0, 0} }
    00058
    00059 static const DrawTileSeqStruct _station_display_nothing[] = {
    00060   TILE_SEQ_END()
    00061 };
    00062
    00063 static const DrawTileSeqStruct _station_display_datas_0[] = {
    00064   TILE_SEQ_LINE( 0,  0,  0, 16,  5,  2, SPR_RAIL_PLATFORM_X_REAR  | (1U << PALETTE_MODIFIER_COLOUR))
    00065   TILE_SEQ_LINE( 0, 11,  0, 16,  5,  2, SPR_RAIL_PLATFORM_X_FRONT | (1U << PALETTE_MODIFIER_COLOUR))
    00066   TILE_SEQ_END()
    00067 };
    00068
    00069 static const DrawTileSeqStruct _station_display_datas_1[] = {
    00070   TILE_SEQ_LINE( 0,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_Y_REAR  | (1U << PALETTE_MODIFIER_COLOUR))
    00071   TILE_SEQ_LINE(11,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_Y_FRONT | (1U << PALETTE_MODIFIER_COLOUR))
    00072   TILE_SEQ_END()
    00073 };
    00074
    00075 static const DrawTileSeqStruct _station_display_datas_2[] = {
    00076   TILE_SEQ_LINE( 0,  0,  0, 16,  5,  2, SPR_RAIL_PLATFORM_BUILDING_X | (1U << PALETTE_MODIFIER_COLOUR))
    00077   TILE_SEQ_LINE( 0, 11,  0, 16,  5,  2, SPR_RAIL_PLATFORM_X_FRONT    | (1U << PALETTE_MODIFIER_COLOUR))
    00078   TILE_SEQ_END()
    00079 };
    00080
    00081 static const DrawTileSeqStruct _station_display_datas_3[] = {
    00082   TILE_SEQ_LINE( 0,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_BUILDING_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00083   TILE_SEQ_LINE(11,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_Y_FRONT    | (1U << PALETTE_MODIFIER_COLOUR))
    00084   TILE_SEQ_END()
    00085 };
    00086
    00087 static const DrawTileSeqStruct _station_display_datas_4[] = {
    00088   TILE_SEQ_LINE( 0,  0,  0, 16,  5,  7, SPR_RAIL_PLATFORM_PILLARS_X_REAR | (1U << PALETTE_MODIFIER_COLOUR))
    00089   TILE_SEQ_LINE( 0, 11,  0, 16,  5,  2, SPR_RAIL_PLATFORM_X_FRONT        | (1U << PALETTE_MODIFIER_COLOUR))
    00090   TILE_SEQ_LINE( 0,  0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_X_TILE_A | (1U << PALETTE_MODIFIER_COLOUR))
    00091   TILE_SEQ_CHILD( 0,  0,                SPR_RAIL_ROOF_GLASS_X_TILE_A     | (1U << PALETTE_MODIFIER_TRANSPARENT), PALETTE_TO_TRANSPARENT)
    00092   TILE_SEQ_END()
    00093 };
    00094
    00095 static const DrawTileSeqStruct _station_display_datas_5[] = {
    00096   TILE_SEQ_LINE( 0,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_PILLARS_Y_REAR | (1U << PALETTE_MODIFIER_COLOUR))
    00097   TILE_SEQ_LINE(11,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_Y_FRONT        | (1U << PALETTE_MODIFIER_COLOUR))
    00098   TILE_SEQ_LINE( 0,  0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_Y_TILE_A | (1U << PALETTE_MODIFIER_COLOUR))
    00099   TILE_SEQ_CHILD( 0,  0,                SPR_RAIL_ROOF_GLASS_Y_TILE_A     | (1U << PALETTE_MODIFIER_TRANSPARENT), PALETTE_TO_TRANSPARENT)
    00100   TILE_SEQ_END()
    00101 };
    00102
    00103 static const DrawTileSeqStruct _station_display_datas_6[] = {
    00104   TILE_SEQ_LINE( 0,  0,  0, 16,  5,  2, SPR_RAIL_PLATFORM_X_REAR          | (1U << PALETTE_MODIFIER_COLOUR))
    00105   TILE_SEQ_LINE( 0, 11,  0, 16,  5,  2, SPR_RAIL_PLATFORM_PILLARS_X_FRONT | (1U << PALETTE_MODIFIER_COLOUR))
    00106   TILE_SEQ_LINE( 0,  0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_X_TILE_B  | (1U << PALETTE_MODIFIER_COLOUR))
    00107   TILE_SEQ_CHILD( 0,  0,                SPR_RAIL_ROOF_GLASS_X_TILE_B      | (1U << PALETTE_MODIFIER_TRANSPARENT), PALETTE_TO_TRANSPARENT)
    00108   TILE_SEQ_END()
    00109 };
    00110
    00111 static const DrawTileSeqStruct _station_display_datas_7[] = {
    00112   TILE_SEQ_LINE( 0,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_Y_REAR          | (1U << PALETTE_MODIFIER_COLOUR))
    00113   TILE_SEQ_LINE(11,  0,  0,  5, 16,  2, SPR_RAIL_PLATFORM_PILLARS_Y_FRONT | (1U << PALETTE_MODIFIER_COLOUR))
    00114   TILE_SEQ_LINE( 0,  0, 16, 16, 16, 10, SPR_RAIL_ROOF_STRUCTURE_Y_TILE_B  | (1U << PALETTE_MODIFIER_COLOUR))
    00115   TILE_SEQ_CHILD( 0,  0,                SPR_RAIL_ROOF_GLASS_Y_TILE_B      | (1U << PALETTE_MODIFIER_TRANSPARENT), PALETTE_TO_TRANSPARENT)
    00116   TILE_SEQ_END()
    00117 };
    00118
    00119 static const DrawTileSeqStruct _station_display_fence_nw[] = {
    00120   TILE_SEQ_GROUND( 0,  0,  0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00121   TILE_SEQ_END()
    00122 };
    00123
    00124 static const DrawTileSeqStruct _station_display_fence_ne[] = {
    00125   TILE_SEQ_GROUND( 0,  0,  0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00126   TILE_SEQ_END()
    00127 };
    00128
    00129 static const DrawTileSeqStruct _station_display_fence_sw[] = {
    00130   TILE_SEQ_GROUND(15,  0,  0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00131   TILE_SEQ_END()
    00132 };
    00133
    00134 static const DrawTileSeqStruct _station_display_fence_se[] = {
    00135   TILE_SEQ_GROUND( 0, 15,  0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR))
    00136   TILE_SEQ_END()
    00137 };
    00138
    00139 static const DrawTileSeqStruct _station_display_terminal_a[] = {
    00140   TILE_SEQ_LINE( 2,  0,  0, 11, 16, 40, SPR_AIRPORT_TERMINAL_A | (1U << PALETTE_MODIFIER_COLOUR))
    00141   TILE_SEQ_END()
    00142 };
    00143
    00144 static const DrawTileSeqStruct _station_display_tower_fence_sw[] = {
    00145   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_TOWER | (1U << PALETTE_MODIFIER_COLOUR))
    00146   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00147   TILE_SEQ_END()
    00148 };
    00149
    00150 static const DrawTileSeqStruct _station_display_concourse[] = {
    00151   TILE_SEQ_LINE( 0,  1,  0, 14, 14, 30, SPR_AIRPORT_CONCOURSE | (1U << PALETTE_MODIFIER_COLOUR))
    00152   TILE_SEQ_END()
    00153 };
    00154
    00155 static const DrawTileSeqStruct _station_display_datas_terminal_b[] = {
    00156   TILE_SEQ_LINE( 3,  3,  0, 10, 11, 35, SPR_AIRPORT_TERMINAL_B | (1U << PALETTE_MODIFIER_COLOUR))
    00157   TILE_SEQ_END()
    00158 };
    00159
    00160 static const DrawTileSeqStruct _station_display_datas_terminal_c[] = {
    00161   TILE_SEQ_LINE( 0,  3,  0, 16, 11, 40, SPR_AIRPORT_TERMINAL_C | (1U << PALETTE_MODIFIER_COLOUR))
    00162   TILE_SEQ_END()
    00163 };
    00164
    00165 static const DrawTileSeqStruct _station_display_hangar_se[] = {
    00166   TILE_SEQ_LINE(14,  0,  0,  2, 17, 28, SPR_AIRPORT_HANGAR_FRONT | (1U << PALETTE_MODIFIER_COLOUR))
    00167   TILE_SEQ_LINE( 0,  0,  0,  2, 17, 28, SPR_AIRPORT_HANGAR_REAR | (1U << PALETTE_MODIFIER_COLOUR))
    00168   TILE_SEQ_END()
    00169 };
    00170
    00171 static const DrawTileSeqStruct _station_display_jetway_1[] = {
    00172   TILE_SEQ_LINE( 7, 11,  0,  3,  3, 14, SPR_AIRPORT_JETWAY_1 | (1U << PALETTE_MODIFIER_COLOUR))
    00173   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR))
    00174   TILE_SEQ_END()
    00175 };
    00176
    00177 static const DrawTileSeqStruct _station_display_jetway_2[] = {
    00178   TILE_SEQ_LINE( 2,  7,  0,  3,  3, 14, SPR_AIRPORT_JETWAY_2 | (1U << PALETTE_MODIFIER_COLOUR))
    00179   TILE_SEQ_END()
    00180 };
    00181
    00182 static const DrawTileSeqStruct _station_display_jetway_3[] = {
    00183   TILE_SEQ_LINE( 3,  2,  0,  3,  3, 14, SPR_AIRPORT_JETWAY_3 | (1U << PALETTE_MODIFIER_COLOUR))
    00184   TILE_SEQ_END()
    00185 };
    00186
    00187 static const DrawTileSeqStruct _station_display_passenger_tunnel[] = {
    00188   TILE_SEQ_LINE( 0,  8,  0, 14,  3, 14, SPR_AIRPORT_PASSENGER_TUNNEL | (1U << PALETTE_MODIFIER_COLOUR))
    00189   TILE_SEQ_END()
    00190 };
    00191
    00192 static const DrawTileSeqStruct _station_display_radar_1_fence_sw[] = {
    00193   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_1)
    00194   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00195   TILE_SEQ_END()
    00196 };
    00197
    00198 static const DrawTileSeqStruct _station_display_radar_2_fence_sw[] = {
    00199   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_2)
    00200   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00201   TILE_SEQ_END()
    00202 };
    00203
    00204 static const DrawTileSeqStruct _station_display_radar_3_fence_sw[] = {
    00205   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_3)
    00206   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00207   TILE_SEQ_END()
    00208 };
    00209
    00210 static const DrawTileSeqStruct _station_display_radar_4_fence_sw[] = {
    00211   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_4)
    00212   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00213   TILE_SEQ_END()
    00214 };
    00215
    00216 static const DrawTileSeqStruct _station_display_radar_5_fence_sw[] = {
    00217   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_5)
    00218   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00219   TILE_SEQ_END()
    00220 };
    00221
    00222 static const DrawTileSeqStruct _station_display_radar_6_fence_sw[] = {
    00223   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_6)
    00224   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00225   TILE_SEQ_END()
    00226 };
    00227
    00228 static const DrawTileSeqStruct _station_display_radar_7_fence_sw[] = {
    00229   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_7)
    00230   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00231   TILE_SEQ_END()
    00232 };
    00233
    00234 static const DrawTileSeqStruct _station_display_radar_8_fence_sw[] = {
    00235   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_8)
    00236   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00237   TILE_SEQ_END()
    00238 };
    00239
    00240 static const DrawTileSeqStruct _station_display_radar_9_fence_sw[] = {
    00241   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_9)
    00242   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00243   TILE_SEQ_END()
    00244 };
    00245
    00246 static const DrawTileSeqStruct _station_display_radar_10_fence_sw[] = {
    00247   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_A)
    00248   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00249   TILE_SEQ_END()
    00250 };
    00251
    00252 static const DrawTileSeqStruct _station_display_radar_11_fence_sw[] = {
    00253   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_B)
    00254   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00255   TILE_SEQ_END()
    00256 };
    00257
    00258 static const DrawTileSeqStruct _station_display_radar_12_fence_sw[] = {
    00259   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_C)
    00260   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00261   TILE_SEQ_END()
    00262 };
    00263
    00264 static const DrawTileSeqStruct _station_display_transmitter_fence_ne[] = {
    00265   TILE_SEQ_LINE( 7,  7,  0,  2,  2, 70, SPR_TRANSMITTER)
    00266   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00267   TILE_SEQ_END()
    00268 };
    00269
    00270 static const DrawTileSeqStruct _station_display_datas_terminal_c_2[] = {
    00271   TILE_SEQ_LINE( 0,  0,  0, 15, 15, 30, SPR_AIRFIELD_TERM_C_BUILD | (1U << PALETTE_MODIFIER_COLOUR))
    00272   TILE_SEQ_END()
    00273 };
    00274
    00275 static const DrawTileSeqStruct _station_display_flag_1_fence_ne[] = {
    00276   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00277   TILE_SEQ_LINE( 4, 11,  0,  1,  1, 20, SPR_AIRFIELD_WIND_1 | (1U << PALETTE_MODIFIER_COLOUR))
    00278   TILE_SEQ_END()
    00279 };
    00280
    00281 static const DrawTileSeqStruct _station_display_flag_2_fence_ne[] = {
    00282   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00283   TILE_SEQ_LINE( 4, 11,  0,  1,  1, 20, SPR_AIRFIELD_WIND_2 | (1U << PALETTE_MODIFIER_COLOUR))
    00284   TILE_SEQ_END()
    00285 };
    00286
    00287 static const DrawTileSeqStruct _station_display_flag_3_fence_ne[] = {
    00288   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00289   TILE_SEQ_LINE( 4, 11,  0,  1,  1, 20, SPR_AIRFIELD_WIND_3 | (1U << PALETTE_MODIFIER_COLOUR))
    00290   TILE_SEQ_END()
    00291 };
    00292
    00293 static const DrawTileSeqStruct _station_display_flag_4_fence_ne[] = {
    00294   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00295   TILE_SEQ_LINE( 4, 11,  0,  1,  1, 20, SPR_AIRFIELD_WIND_4 | (1U << PALETTE_MODIFIER_COLOUR))
    00296   TILE_SEQ_END()
    00297 };
    00298
    00299 static const DrawTileSeqStruct _station_display_small_depot_se[] = {
    00300   TILE_SEQ_LINE(14,  0,  0,  2, 17, 28, SPR_AIRFIELD_HANGAR_FRONT | (1U << PALETTE_MODIFIER_COLOUR))
    00301   TILE_SEQ_LINE( 0,  0,  0,  2, 17, 28, SPR_AIRFIELD_HANGAR_REAR | (1U << PALETTE_MODIFIER_COLOUR))
    00302   TILE_SEQ_END()
    00303 };
    00304
    00305 static const DrawTileSeqStruct _station_display_heliport[] = {
    00306   TILE_SEQ_LINE( 0,  0,  0, 16, 16, 60, SPR_HELIPORT | (1U << PALETTE_MODIFIER_COLOUR))
    00307   TILE_SEQ_END()
    00308 };
    00309
    00310 static const DrawTileSeqStruct _station_display_datas_67[] = {
    00311   TILE_SEQ_LINE( 0, 15,  0, 13,  1, 10, SPR_TRUCK_STOP_NE_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00312   TILE_SEQ_LINE(13,  0,  0,  3, 16, 10, SPR_TRUCK_STOP_NE_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00313   TILE_SEQ_LINE( 2,  0,  0, 11,  1, 10, SPR_TRUCK_STOP_NE_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00314   TILE_SEQ_END()
    00315 };
    00316
    00317 static const DrawTileSeqStruct _station_display_datas_68[] = {
    00318   TILE_SEQ_LINE(15,  3,  0,  1, 13, 10, SPR_TRUCK_STOP_SE_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00319   TILE_SEQ_LINE( 0,  0,  0, 16,  3, 10, SPR_TRUCK_STOP_SE_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00320   TILE_SEQ_LINE( 0,  3,  0,  1, 11, 10, SPR_TRUCK_STOP_SE_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00321   TILE_SEQ_END()
    00322 };
    00323
    00324 static const DrawTileSeqStruct _station_display_datas_69[] = {
    00325   TILE_SEQ_LINE( 3,  0,  0, 13,  1, 10, SPR_TRUCK_STOP_SW_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00326   TILE_SEQ_LINE( 0,  0,  0,  3, 16, 10, SPR_TRUCK_STOP_SW_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00327   TILE_SEQ_LINE( 3, 15,  0, 11,  1, 10, SPR_TRUCK_STOP_SW_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00328   TILE_SEQ_END()
    00329 };
    00330
    00331 static const DrawTileSeqStruct _station_display_datas_70[] = {
    00332   TILE_SEQ_LINE( 0,  0,  0,  1, 13, 10, SPR_TRUCK_STOP_NW_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00333   TILE_SEQ_LINE( 0, 13,  0, 16,  3, 10, SPR_TRUCK_STOP_NW_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00334   TILE_SEQ_LINE(15,  2,  0,  1, 11, 10, SPR_TRUCK_STOP_NW_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00335   TILE_SEQ_END()
    00336 };
    00337
    00338 static const DrawTileSeqStruct _station_display_datas_71[] = {
    00339   TILE_SEQ_LINE( 2,  0,  0, 11,  1, 10, SPR_BUS_STOP_NE_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00340   TILE_SEQ_LINE(13,  0,  0,  3, 16, 10, SPR_BUS_STOP_NE_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00341   TILE_SEQ_LINE( 0, 13,  0, 13,  3, 10, SPR_BUS_STOP_NE_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00342   TILE_SEQ_END()
    00343 };
    00344
    00345 static const DrawTileSeqStruct _station_display_datas_72[] = {
    00346   TILE_SEQ_LINE( 0,  3,  0,  1, 11, 10, SPR_BUS_STOP_SE_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00347   TILE_SEQ_LINE( 0,  0,  0, 16,  3, 10, SPR_BUS_STOP_SE_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00348   TILE_SEQ_LINE(13,  3,  0,  3, 13, 10, SPR_BUS_STOP_SE_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00349   TILE_SEQ_END()
    00350 };
    00351
    00352 static const DrawTileSeqStruct _station_display_datas_73[] = {
    00353   TILE_SEQ_LINE( 3, 15,  0, 11,  1, 10, SPR_BUS_STOP_SW_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00354   TILE_SEQ_LINE( 0,  0,  0,  3, 16, 10, SPR_BUS_STOP_SW_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00355   TILE_SEQ_LINE( 3,  0,  0, 13,  3, 10, SPR_BUS_STOP_SW_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00356   TILE_SEQ_END()
    00357 };
    00358
    00359 static const DrawTileSeqStruct _station_display_datas_74[] = {
    00360   TILE_SEQ_LINE(15,  2,  0,  1, 11, 10, SPR_BUS_STOP_NW_BUILD_A | (1U << PALETTE_MODIFIER_COLOUR))
    00361   TILE_SEQ_LINE( 0, 13,  0, 16,  3, 10, SPR_BUS_STOP_NW_BUILD_B | (1U << PALETTE_MODIFIER_COLOUR))
    00362   TILE_SEQ_LINE( 0,  0,  0,  3, 13, 10, SPR_BUS_STOP_NW_BUILD_C | (1U << PALETTE_MODIFIER_COLOUR))
    00363   TILE_SEQ_END()
    00364 };
    00365
    00366 static const DrawTileSeqStruct _station_display_datas_76[] = {
    00367   TILE_SEQ_LINE( 0,  4,  0, 16,  8,  8, SPR_DOCK_SLOPE_NE | (1U << PALETTE_MODIFIER_COLOUR))
    00368   TILE_SEQ_END()
    00369 };
    00370
    00371 static const DrawTileSeqStruct _station_display_datas_77[] = {
    00372   TILE_SEQ_LINE( 4,  0,  0,  8, 16,  8, SPR_DOCK_SLOPE_SE | (1U << PALETTE_MODIFIER_COLOUR))
    00373   TILE_SEQ_END()
    00374 };
    00375
    00376 static const DrawTileSeqStruct _station_display_datas_78[] = {
    00377   TILE_SEQ_LINE( 0,  4,  0, 16,  8,  8, SPR_DOCK_SLOPE_SW | (1U << PALETTE_MODIFIER_COLOUR))
    00378   TILE_SEQ_END()
    00379 };
    00380
    00381 static const DrawTileSeqStruct _station_display_datas_79[] = {
    00382   TILE_SEQ_LINE( 4,  0,  0,  8, 16,  8, SPR_DOCK_SLOPE_NW | (1U << PALETTE_MODIFIER_COLOUR))
    00383   TILE_SEQ_END()
    00384 };
    00385
    00386 static const DrawTileSeqStruct _station_display_datas_80[] = {
    00387   TILE_SEQ_LINE( 0,  4,  0, 16,  8,  8, SPR_DOCK_FLAT_X | (1U << PALETTE_MODIFIER_COLOUR))
    00388   TILE_SEQ_END()
    00389 };
    00390
    00391 static const DrawTileSeqStruct _station_display_datas_81[] = {
    00392   TILE_SEQ_LINE( 4,  0,  0,  8, 16,  8, SPR_DOCK_FLAT_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00393   TILE_SEQ_END()
    00394 };
    00395
    00396 /* Buoy, which will _always_ drown under the ship */
    00397 static const DrawTileSeqStruct _station_display_datas_82[] = {
    00398   TILE_SEQ_LINE( 4,  -1,  0,  0,  0,  0, SPR_IMG_BUOY)
    00399   TILE_SEQ_END()
    00400 };
    00401
    00402 /* control tower without fence */
    00403 static const DrawTileSeqStruct _station_display_tower[] = {
    00404   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_TOWER | (1U << PALETTE_MODIFIER_COLOUR))  // control tower
    00405   TILE_SEQ_END()
    00406 };
    00407
    00408 /* turning radar with fences on north -- needs 12 tiles
    00409  *BEGIN */
    00410 static const DrawTileSeqStruct _station_display_radar_1_fence_ne[] = {
    00411   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_1)   // turning radar
    00412   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00413   TILE_SEQ_END()
    00414 };
    00415
    00416 static const DrawTileSeqStruct _station_display_radar_2_fence_ne[] = {
    00417   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_2)
    00418   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00419   TILE_SEQ_END()
    00420 };
    00421
    00422 static const DrawTileSeqStruct _station_display_radar_3_fence_ne[] = {
    00423   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_3)
    00424   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00425   TILE_SEQ_END()
    00426 };
    00427
    00428 static const DrawTileSeqStruct _station_display_radar_4_fence_ne[] = {
    00429   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_4)
    00430   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00431   TILE_SEQ_END()
    00432 };
    00433
    00434 static const DrawTileSeqStruct _station_display_radar_5_fence_ne[] = {
    00435   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_5)
    00436   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00437   TILE_SEQ_END()
    00438 };
    00439
    00440 static const DrawTileSeqStruct _station_display_radar_6_fence_ne[] = {
    00441   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_6)
    00442   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00443   TILE_SEQ_END()
    00444 };
    00445
    00446 static const DrawTileSeqStruct _station_display_radar_7_fence_ne[] = {
    00447   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_7)
    00448   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00449   TILE_SEQ_END()
    00450 };
    00451
    00452 static const DrawTileSeqStruct _station_display_radar_8_fence_ne[] = {
    00453   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_8)
    00454   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00455   TILE_SEQ_END()
    00456 };
    00457
    00458 static const DrawTileSeqStruct _station_display_radar_9_fence_ne[] = {
    00459   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_9)
    00460   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00461   TILE_SEQ_END()
    00462 };
    00463
    00464 static const DrawTileSeqStruct _station_display_radar_10_fence_ne[] = {
    00465   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_A)
    00466   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00467   TILE_SEQ_END()
    00468 };
    00469
    00470 static const DrawTileSeqStruct _station_display_radar_11_fence_ne[] = {
    00471   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_B)
    00472   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00473   TILE_SEQ_END()
    00474 };
    00475
    00476 static const DrawTileSeqStruct _station_display_radar_12_fence_ne[] = {
    00477   TILE_SEQ_LINE(7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_C)
    00478   TILE_SEQ_LINE(0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00479   TILE_SEQ_END()
    00480 };
    00481 /* END */
    00482
    00483 /* helipad for international airport */
    00484 static const DrawTileSeqStruct _station_display_helipad_fence_sw[] = {
    00485   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00486   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences bottom
    00487   TILE_SEQ_END()
    00488 };
    00489
    00490 /* helipad for commuter airport */
    00491 static const DrawTileSeqStruct _station_display_helipad_fence_nw[] = {
    00492   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00493   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences left
    00494   TILE_SEQ_END()
    00495 };
    00496
    00497 /* helipad for continental airport */
    00498 static const DrawTileSeqStruct _station_display_helipad[] = {
    00499   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00500   TILE_SEQ_END()
    00501 };
    00502
    00503 /* asphalt tile with fences in north and south */
    00504 static const DrawTileSeqStruct _station_display_fence_ne_sw[] = {
    00505   TILE_SEQ_GROUND( 0,  0,  0,  SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00506   TILE_SEQ_GROUND(15,  0,  0,  SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR))
    00507   TILE_SEQ_END()
    00508 };
    00509
    00510 /* runway tiles with 2 corner fences */
    00511 static const DrawTileSeqStruct _station_display_fence_nw_sw[] = {
    00512   TILE_SEQ_GROUND( 0,  0,  0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00513   TILE_SEQ_GROUND(15,  0,  0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00514   TILE_SEQ_END()
    00515 };
    00516
    00517 /* runway tiles with 2 corner fences */
    00518 static const DrawTileSeqStruct _station_display_fence_se_sw[] = {
    00519   TILE_SEQ_GROUND(15,  0,  0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00520   TILE_SEQ_GROUND( 0, 15,  0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00521   TILE_SEQ_END()
    00522 };
    00523
    00524 /* runway tiles with 2 corner fences */
    00525 static const DrawTileSeqStruct _station_display_fence_ne_nw[] = {
    00526   TILE_SEQ_GROUND( 0,  0,  0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00527   TILE_SEQ_GROUND( 0,  0,  0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences east
    00528   TILE_SEQ_END()
    00529 };
    00530
    00531 /* runway tiles with 2 corner fences */
    00532 static const DrawTileSeqStruct _station_display_fence_ne_se[] = {
    00533   TILE_SEQ_GROUND( 0,  0,  0, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences east
    00534   TILE_SEQ_GROUND( 0, 15,  0, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00535   TILE_SEQ_END()
    00536 };
    00537
    00538 /* helipad tiles with 2 corner fences top+right */
    00539 static const DrawTileSeqStruct _station_display_helipad_fence_NE_SE[] = {
    00540   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00541   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences east
    00542   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00543   TILE_SEQ_END()
    00544 };
    00545
    00546 /* helidepot office with fences top + left */
    00547 static const DrawTileSeqStruct _station_display_low_building_fence_ne_nw[] = {
    00548   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences left
    00549   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences east
    00550   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE | (1U << PALETTE_MODIFIER_COLOUR))  // helidepot office
    00551   TILE_SEQ_END()
    00552 };
    00553
    00554 /* West facing hangar */
    00555 static const DrawTileSeqStruct _station_display_hangar_sw[] = {
    00556   TILE_SEQ_LINE(14,  0,  0,  2, 17, 28, SPR_NEWHANGAR_W | (1U << PALETTE_MODIFIER_COLOUR))
    00557   TILE_SEQ_LINE( 0,  0,  0,  2, 17, 28, SPR_NEWHANGAR_W_WALL | (1U << PALETTE_MODIFIER_COLOUR))
    00558   TILE_SEQ_END()
    00559 };
    00560
    00561 /* North facing hangar */
    00562 static const DrawTileSeqStruct _station_display_hangar_nw[] = {
    00563   TILE_SEQ_LINE(14,  0,  0,  2, 16, 28, SPR_NEWHANGAR_N | (1U << PALETTE_MODIFIER_COLOUR))
    00564   TILE_SEQ_END()
    00565 };
    00566
    00567 /* East facing hangar */
    00568 static const DrawTileSeqStruct _station_display_hangar_ne[] = {
    00569   TILE_SEQ_LINE(14,  0,  0,  2, 16, 28, SPR_NEWHANGAR_E | (1U << PALETTE_MODIFIER_COLOUR))
    00570   TILE_SEQ_END()
    00571 };
    00572
    00573 /* helipad for district airport NS */
    00574 static const DrawTileSeqStruct _station_display_helipad_fence_se_sw[] = {
    00575   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00576   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences bottom
    00577   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences right
    00578   TILE_SEQ_END()
    00579 };
    00580
    00581 /* helipad for district airport NS */
    00582 static const DrawTileSeqStruct _station_display_helipad_fence_se[] = {
    00583   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00584   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00585   TILE_SEQ_END()
    00586 };
    00587
    00588 /* helidepot office with fence north */
    00589 static const DrawTileSeqStruct _station_display_low_building_fence_nw[] = {
    00590   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00591   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE | (1U << PALETTE_MODIFIER_COLOUR))  // helidepot office
    00592   TILE_SEQ_END()
    00593 };
    00594
    00595 /* helidepot office with fence east */
    00596 static const DrawTileSeqStruct _station_display_low_building_fence_ne[] = {
    00597   TILE_SEQ_LINE( 0,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences east
    00598   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE | (1U << PALETTE_MODIFIER_COLOUR))  // helidepot office
    00599   TILE_SEQ_END()
    00600 };
    00601
    00602 /* helidepot office with fence west */
    00603 static const DrawTileSeqStruct _station_display_low_building_fence_sw[] = {
    00604   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00605   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE | (1U << PALETTE_MODIFIER_COLOUR))  // helidepot office
    00606   TILE_SEQ_END()
    00607 };
    00608
    00609 /* helidepot office with fence south */
    00610 static const DrawTileSeqStruct _station_display_low_building_fence_se[] = {
    00611   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00612   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE | (1U << PALETTE_MODIFIER_COLOUR))  // helidepot office
    00613   TILE_SEQ_END()
    00614 };
    00615
    00616 /* helipad for district airport EW*/
    00617 static const DrawTileSeqStruct _station_display_helipad_fence_nw_sw[] = {
    00618   TILE_SEQ_LINE(10,  6,  0,  0,  0,  0, SPR_AIRPORT_HELIPAD)
    00619   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00620   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00621   TILE_SEQ_END()
    00622 };
    00623
    00624 /* turning radar with fences on south -- needs 12 tiles
    00625  *BEGIN */
    00626 static const DrawTileSeqStruct _station_display_radar_1_fence_se[] = {
    00627   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_1)   // turning radar
    00628   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00629   TILE_SEQ_END()
    00630 };
    00631
    00632 static const DrawTileSeqStruct _station_display_radar_2_fence_se[] = {
    00633   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_2)
    00634   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00635   TILE_SEQ_END()
    00636 };
    00637
    00638 static const DrawTileSeqStruct _station_display_radar_3_fence_se[] = {
    00639   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_3)
    00640   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00641   TILE_SEQ_END()
    00642 };
    00643
    00644 static const DrawTileSeqStruct _station_display_radar_4_fence_se[] = {
    00645   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_4)
    00646   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00647   TILE_SEQ_END()
    00648 };
    00649
    00650 static const DrawTileSeqStruct _station_display_radar_5_fence_se[] = {
    00651   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_5)
    00652   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00653   TILE_SEQ_END()
    00654 };
    00655
    00656 static const DrawTileSeqStruct _station_display_radar_6_fence_se[] = {
    00657   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_6)
    00658   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00659   TILE_SEQ_END()
    00660 };
    00661
    00662 static const DrawTileSeqStruct _station_display_radar_7_fence_se[] = {
    00663   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_7)
    00664   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00665   TILE_SEQ_END()
    00666 };
    00667
    00668 static const DrawTileSeqStruct _station_display_radar_8_fence_se[] = {
    00669   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_8)
    00670   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00671   TILE_SEQ_END()
    00672 };
    00673
    00674 static const DrawTileSeqStruct _station_display_radar_9_fence_se[] = {
    00675   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_9)
    00676   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00677   TILE_SEQ_END()
    00678 };
    00679
    00680 static const DrawTileSeqStruct _station_display_radar_10_fence_se[] = {
    00681   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_A)
    00682   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00683   TILE_SEQ_END()
    00684 };
    00685
    00686 static const DrawTileSeqStruct _station_display_radar_11_fence_se[] = {
    00687   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_B)
    00688   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00689   TILE_SEQ_END()
    00690 };
    00691
    00692 static const DrawTileSeqStruct _station_display_radar_12_fence_se[] = {
    00693   TILE_SEQ_LINE( 7,  7,  0,  2,  2,  8, SPR_AIRPORT_RADAR_C)
    00694   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00695   TILE_SEQ_END()
    00696 };
    00697 /* END */
    00698
    00699 /* helipad for helistation */
    00700 static const DrawTileSeqStruct _station_display_newhelipad_fence_se_sw[] = {
    00701   TILE_SEQ_LINE( 0,  1,  2,  0,  0,  0, SPR_NEWHELIPAD)
    00702   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00703   TILE_SEQ_LINE( 0, 15,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences south
    00704   TILE_SEQ_END()
    00705 };
    00706
    00707 /* helipad for helistation */
    00708 static const DrawTileSeqStruct _station_display_newhelipad_fence_nw_sw[] = {
    00709   TILE_SEQ_LINE( 0,  1,  2,  0,  0,  0, SPR_NEWHELIPAD)
    00710   TILE_SEQ_LINE(15,  0,  0,  1, 16,  6, SPR_AIRPORT_FENCE_Y | (1U << PALETTE_MODIFIER_COLOUR)) // fences west
    00711   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00712   TILE_SEQ_END()
    00713 };
    00714
    00715 /* helipad for helistation */
    00716 static const DrawTileSeqStruct _station_display_newhelipad_fence_nw[] = {
    00717   TILE_SEQ_LINE( 0,  1,  2,  0,  0,  0, SPR_NEWHELIPAD)
    00718   TILE_SEQ_LINE( 0,  0,  0, 16,  1,  6, SPR_AIRPORT_FENCE_X | (1U << PALETTE_MODIFIER_COLOUR)) // fences north
    00719   TILE_SEQ_END()
    00720 };
    00721
    00722 /* helidepot office without fence */
    00723 static const DrawTileSeqStruct _station_display_low_building[] = {
    00724   TILE_SEQ_LINE( 3,  3,  0, 10, 10, 60, SPR_AIRPORT_HELIDEPOT_OFFICE | (1U << PALETTE_MODIFIER_COLOUR))  // helidepot office
    00725   TILE_SEQ_END()
    00726 };
    00727
    00728 /* half grass half SPR_AIRPORT_APRON */
    00729 static const DrawTileSeqStruct _station_display_grass_west[] = {
    00730   TILE_SEQ_LINE(0,  0,  0,  0,  0,  0, SPR_GRASS_LEFT)
    00731   TILE_SEQ_END()
    00732 };
    00733
    00734 /* half grass half SPR_AIRPORT_APRON */
    00735 static const DrawTileSeqStruct _station_display_grass_east[] = {
    00736   TILE_SEQ_LINE(0,  0,  0,  0,  0,  0, SPR_GRASS_RIGHT)
    00737   TILE_SEQ_END()
    00738 };
    00739
    00740 /* drive-through truck stop X */
    00741 static const DrawTileSeqStruct _station_display_datas_0168[] = {
    00742   TILE_SEQ_LINE( 0,  0,  0,  16,  3, 16, SPR_TRUCK_STOP_DT_X_W | (1U << PALETTE_MODIFIER_COLOUR))
    00743   TILE_SEQ_LINE( 0, 13,  0,  16,  3, 16, SPR_TRUCK_STOP_DT_X_E | (1U << PALETTE_MODIFIER_COLOUR))
    00744   TILE_SEQ_END()
    00745 };
    00746
    00747 /* drive-through truck stop Y */
    00748 static const DrawTileSeqStruct _station_display_datas_0169[] = {
    00749   TILE_SEQ_LINE(13,  0,  0,  3, 16, 16, SPR_TRUCK_STOP_DT_Y_W | (1U << PALETTE_MODIFIER_COLOUR))
    00750   TILE_SEQ_LINE( 0,  0,  0,  3, 16, 16, SPR_TRUCK_STOP_DT_Y_E | (1U << PALETTE_MODIFIER_COLOUR))
    00751   TILE_SEQ_END()
    00752 };
    00753
    00754 /* drive-through bus stop X */
    00755 static const DrawTileSeqStruct _station_display_datas_0170[] = {
    00756   TILE_SEQ_LINE( 0,  0,  0,  16,  3, 16, SPR_BUS_STOP_DT_X_W | (1U << PALETTE_MODIFIER_COLOUR))
    00757   TILE_SEQ_LINE( 0, 13,  0,  16,  3, 16, SPR_BUS_STOP_DT_X_E | (1U << PALETTE_MODIFIER_COLOUR))
    00758   TILE_SEQ_END()
    00759 };
    00760
    00761 /* drive-through bus stop Y */
    00762 static const DrawTileSeqStruct _station_display_datas_0171[] = {
    00763   TILE_SEQ_LINE(13,  0,  0,  3,  16, 16, SPR_BUS_STOP_DT_Y_W | (1U << PALETTE_MODIFIER_COLOUR))
    00764   TILE_SEQ_LINE( 0,  0,  0,  3,  16, 16, SPR_BUS_STOP_DT_Y_E | (1U << PALETTE_MODIFIER_COLOUR))
    00765   TILE_SEQ_END()
    00766 };
    00767
    00768 static const DrawTileSeqStruct _station_display_datas_waypoint_X[] = {
    00769   TILE_SEQ_LINE( 0,  0,  0, 16,  5, 23, SPR_WAYPOINT_X_1 | (1U << PALETTE_MODIFIER_COLOUR))
    00770   TILE_SEQ_LINE( 0, 11,  0, 16,  5, 23, SPR_WAYPOINT_X_2 | (1U << PALETTE_MODIFIER_COLOUR))
    00771   TILE_SEQ_END()
    00772 };
    00773
    00774 static const DrawTileSeqStruct _station_display_datas_waypoint_Y[] = {
    00775   TILE_SEQ_LINE( 0,  0,  0,  5, 16, 23, SPR_WAYPOINT_Y_1 | (1U << PALETTE_MODIFIER_COLOUR))
    00776   TILE_SEQ_LINE(11,  0,  0,  5, 16, 23, SPR_WAYPOINT_Y_2 | (1U << PALETTE_MODIFIER_COLOUR))
    00777   TILE_SEQ_END()
    00778 };
    00779
    00780 #undef TILE_SEQ_END
    00781 #undef TILE_SEQ_LINE
    00782 #undef TILE_SEQ_LINE_PAL
    00783 #undef TILE_SEQ_CHILD
    00784 #undef TILE_SEQ_GROUND
    00785
    00791 #define TILE_SPRITE_LINE(img, dtss) { {img, PAL_NONE}, dtss },
    00792 #define TILE_SPRITE_NULL() { {0, 0}, NULL },
    00793
    00794 extern const DrawTileSprites _station_display_datas_rail[] = {
    00795   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_0)
    00796   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_1)
    00797   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_2)
    00798   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_3)
    00799   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_4)
    00800   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_5)
    00801   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_6)
    00802   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_7)
    00803 };
    00804
    00805 static const DrawTileSprites _station_display_datas_airport[] = {
    00806   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_nothing)  // APT_APRON
    00807   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_nw) // APT_APRON_FENCE_NW
    00808   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_sw) // APT_APRON_FENCE_SW
    00809   TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND,     _station_display_nothing)  // APT_STAND
    00810   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_WEST,    _station_display_nothing)  // APT_APRON_W
    00811   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_SOUTH,   _station_display_nothing)  // APT_APRON_S
    00812   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_SOUTH, _station_display_nothing)  // APT_APRON_VER_CROSSING_S
    00813   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_WEST,  _station_display_nothing)  // APT_APRON_HOR_CROSSING_W
    00814   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_CTR,     _station_display_nothing)  // APT_APRON_VER_CROSSING_N
    00815   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_XING_EAST,  _station_display_nothing)  // APT_APRON_HOR_CROSSING_E
    00816   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_NS_EAST,    _station_display_nothing)  // APT_APRON_E
    00817   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_NORTH,   _station_display_nothing)  // APT_ARPON_N
    00818   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_CTR,     _station_display_nothing)  // APT_APRON_HOR
    00819   TILE_SPRITE_LINE(SPR_AIRPORT_TAXIWAY_EW_NORTH,   _station_display_fence_sw) // APT_APRON_N_FENCE_SW
    00820   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_A,      _station_display_fence_se) // APT_RUNWAY_1
    00821   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B,      _station_display_fence_se) // APT_RUNWAY_2
    00822   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_C,      _station_display_fence_se) // APT_RUNWAY_3
    00823   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_D,      _station_display_fence_se) // APT_RUNWAY_4
    00824   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_fence_se) // APT_RUNWAY_END_FENCE_SE
    00825   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_terminal_a) // APT_BUILDING_2
    00826   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_tower_fence_sw) // APT_TOWER_FENCE_SW
    00827   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_concourse) // APT_ROUND_TERMINAL
    00828   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_datas_terminal_b) // APT_BUILDING_3
    00829   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_datas_terminal_c) // APT_BUILDING_1
    00830   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_hangar_se) // APT_DEPOT_SE
    00831   TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND,     _station_display_jetway_1)  // APT_STAND_1
    00832   TILE_SPRITE_LINE(SPR_AIRPORT_AIRCRAFT_STAND,     _station_display_jetway_2)  // APT_STAND_PIER_NE
    00833   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_jetway_3)  // APT_PIER_NW_NE
    00834   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_passenger_tunnel) // APT_PIER
    00835   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_nothing)   // APT_EMPTY
    00836   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_fence_ne)  // APT_EMPTY_FENCE_NE
    00837   TILE_SPRITE_NULL() // APT_RADAR_GRASS_FENCE_SW
    00838   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_transmitter_fence_ne) // APT_RADIO_TOWER_FENCE_NE
    00839   TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_A,            _station_display_nothing)   // APT_SMALL_BUILDING_3
    00840   TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_B,            _station_display_nothing)   // APT_SMALL_BUILDING_2
    00841   TILE_SPRITE_LINE(SPR_AIRFIELD_TERM_C_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_terminal_c_2) // APT_SMALL_BUILDING_1
    00842   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_A,           _station_display_fence_sw)  // APT_GRASS_FENCE_SW
    00843   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_B,           _station_display_nothing)   // APT_GRASS_2
    00844   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_C,           _station_display_nothing)   // APT_GRASS_1
    00845   TILE_SPRITE_NULL() // APT_GRASS_FENCE_NE_FLAG
    00846   TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_NEAR_END,   _station_display_fence_se)  // APT_RUNWAY_SMALL_NEAR_END
    00847   TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_MIDDLE,     _station_display_fence_se)  // APT_RUNWAY_SMALL_MIDDLE
    00848   TILE_SPRITE_LINE(SPR_AIRFIELD_RUNWAY_FAR_END,    _station_display_fence_se)  // APT_RUNWAY_SMALL_FAR_END
    00849   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_small_depot_se) // APT_SMALL_DEPOT_SE
    00850   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_heliport)  // APT_HELIPORT
    00851   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_nothing)   // APT_RUNWAY_END
    00852   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B,      _station_display_nothing)   // APT_RUNWAY_5
    00853   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_tower)     // APT_TOWER
    00854   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_ne)  // APT_APRON_FENCE_NE
    00855   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_fence_nw)  // APT_RUNWAY_END_FENCE_NW
    00856   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_EXIT_B,      _station_display_fence_nw)  // APT_RUNWAY_FENCE_NW
    00857   TILE_SPRITE_NULL() // APT_RADAR_FENCE_SW
    00858   TILE_SPRITE_NULL() // APT_RADAR_FENCE_NE
    00859   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_helipad_fence_sw) // APT_HELIPAD_1
    00860   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_helipad_fence_nw) // APT_HELIPAD_2_FENCE_NW
    00861   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_helipad)     // APT_HELIPAD_2
    00862   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_ne_sw) // APT_APRON_FENCE_NE_SW
    00863   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_fence_nw_sw) // APT_RUNWAY_END_FENCE_NW_SW
    00864   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_fence_se_sw) // APT_RUNWAY_END_FENCE_SE_SW
    00865   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_fence_ne_nw) // APT_RUNWAY_END_FENCE_NE_NW
    00866   TILE_SPRITE_LINE(SPR_AIRPORT_RUNWAY_END,         _station_display_fence_ne_se) // APT_RUNWAY_END_FENCE_NE_SE
    00867   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_helipad_fence_NE_SE) // APT_HELIPAD_2_FENCE_NE_SE
    00868   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_se_sw) // APT_APRON_FENCE_SE_SW
    00869   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_low_building_fence_ne_nw) // APT_LOW_BUILDING_FENCE_N
    00870   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_low_building_fence_nw) // APT_LOW_BUILDING_FENCE_NW
    00871   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_se) // APT_APRON_FENCE_SE
    00872   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_newhelipad_fence_se_sw) // APT_HELIPAD_3_FENCE_SE_SW
    00873   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_newhelipad_fence_nw_sw) // APT_HELIPAD_3_FENCE_NW_SW
    00874   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_newhelipad_fence_nw) // APT_HELIPAD_3_FENCE_NW
    00875   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_low_building) // APT_LOW_BUILDING
    00876   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_fence_ne_se) // APT_APRON_FENCE_NE_SE
    00877   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_grass_west) // APT_APRON_HALF_EAST
    00878   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_grass_east) // APT_APRON_HALF_WEST
    00879   TILE_SPRITE_NULL() // APT_GRASS_FENCE_NE_FLAG_2
    00880 };
    00881
    00882 static const DrawTileSprites _station_display_datas_airport_radar_grass_fence_sw[] = {
    00883   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_1_fence_sw) // APT_RADAR_GRASS_FENCE_SW
    00884   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_2_fence_sw)
    00885   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_3_fence_sw)
    00886   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_4_fence_sw)
    00887   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_5_fence_sw)
    00888   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_6_fence_sw)
    00889   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_7_fence_sw)
    00890   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_8_fence_sw)
    00891   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_9_fence_sw)
    00892   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_10_fence_sw)
    00893   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_11_fence_sw)
    00894   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_radar_12_fence_sw)
    00895 };
    00896
    00897 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne[] = {
    00898   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D,           _station_display_flag_1_fence_ne) // APT_GRASS_FENCE_NE_FLAG
    00899   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D,           _station_display_flag_2_fence_ne)
    00900   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D,           _station_display_flag_3_fence_ne)
    00901   TILE_SPRITE_LINE(SPR_AIRFIELD_APRON_D,           _station_display_flag_4_fence_ne)
    00902 };
    00903
    00904 static const DrawTileSprites _station_display_datas_airport_radar_fence_sw[] = {
    00905   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_1_fence_sw) // APT_RADAR_FENCE_SW
    00906   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_2_fence_sw)
    00907   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_3_fence_sw)
    00908   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_4_fence_sw)
    00909   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_5_fence_sw)
    00910   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_6_fence_sw)
    00911   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_7_fence_sw)
    00912   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_8_fence_sw)
    00913   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_9_fence_sw)
    00914   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_10_fence_sw)
    00915   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_11_fence_sw)
    00916   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_12_fence_sw)
    00917 };
    00918
    00919 static const DrawTileSprites _station_display_datas_airport_radar_fence_ne[] = {
    00920   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_1_fence_ne) // APT_RADAR_FENCE_NE
    00921   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_2_fence_ne)
    00922   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_3_fence_ne)
    00923   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_4_fence_ne)
    00924   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_5_fence_ne)
    00925   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_6_fence_ne)
    00926   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_7_fence_ne)
    00927   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_8_fence_ne)
    00928   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_9_fence_ne)
    00929   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_10_fence_ne)
    00930   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_11_fence_ne)
    00931   TILE_SPRITE_LINE(SPR_AIRPORT_APRON,              _station_display_radar_12_fence_ne)
    00932 };
    00933
    00934 static const DrawTileSprites _station_display_datas_airport_flag_grass_fence_ne_2[] = {
    00935   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_flag_1_fence_ne) // APT_GRASS_FENCE_NE_FLAG_2
    00936   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_flag_2_fence_ne)
    00937   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_flag_3_fence_ne)
    00938   TILE_SPRITE_LINE(SPR_FLAT_GRASS_TILE,            _station_display_flag_4_fence_ne)
    00939 };
    00940
    00941
    00942 static const DrawTileSprites _station_display_datas_truck[] = {
    00943   TILE_SPRITE_LINE(SPR_TRUCK_STOP_NE_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_67)
    00944   TILE_SPRITE_LINE(SPR_TRUCK_STOP_SE_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_68)
    00945   TILE_SPRITE_LINE(SPR_TRUCK_STOP_SW_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_69)
    00946   TILE_SPRITE_LINE(SPR_TRUCK_STOP_NW_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_70)
    00947   TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X,      _station_display_datas_0168)
    00948   TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y,      _station_display_datas_0169)
    00949 };
    00950
    00951 static const DrawTileSprites _station_display_datas_bus[] = {
    00952   TILE_SPRITE_LINE(SPR_BUS_STOP_NE_GROUND   | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_71)
    00953   TILE_SPRITE_LINE(SPR_BUS_STOP_SE_GROUND   | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_72)
    00954   TILE_SPRITE_LINE(SPR_BUS_STOP_SW_GROUND   | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_73)
    00955   TILE_SPRITE_LINE(SPR_BUS_STOP_NW_GROUND   | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_74)
    00956   TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X,      _station_display_datas_0170)
    00957   TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y,      _station_display_datas_0171)
    00958 };
    00959
    00960 static const DrawTileSprites _station_display_datas_oilrig[] = {
    00961   TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE,            _station_display_nothing)
    00962 };
    00963
    00964 static const DrawTileSprites _station_display_datas_dock[] = {
    00965   TILE_SPRITE_LINE(SPR_SHORE_BASE + SLOPE_SW,      _station_display_datas_76)
    00966   TILE_SPRITE_LINE(SPR_SHORE_BASE + SLOPE_NW,      _station_display_datas_77)
    00967   TILE_SPRITE_LINE(SPR_SHORE_BASE + SLOPE_NE,      _station_display_datas_78)
    00968   TILE_SPRITE_LINE(SPR_SHORE_BASE + SLOPE_SE,      _station_display_datas_79)
    00969   TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE,            _station_display_datas_80)
    00970   TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE,            _station_display_datas_81)
    00971 };
    00972
    00973 static const DrawTileSprites _station_display_datas_buoy[] = {
    00974   TILE_SPRITE_LINE(SPR_FLAT_WATER_TILE,            _station_display_datas_82)
    00975 };
    00976
    00977 static const DrawTileSprites _station_display_datas_waypoint[] = {
    00978   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_waypoint_X)
    00979   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_waypoint_Y)
    00980   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_waypoint_X)
    00981   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_waypoint_Y)
    00982   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_waypoint_X)
    00983   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_waypoint_Y)
    00984   TILE_SPRITE_LINE(SPR_RAIL_TRACK_X,               _station_display_datas_waypoint_X)
    00985   TILE_SPRITE_LINE(SPR_RAIL_TRACK_Y,               _station_display_datas_waypoint_Y)
    00986 };
    00987
    00988 #undef TILE_SPRITE_LINE
    00989 #undef TILE_SPRITE_NULL
    00990
    00991 /* Default waypoint is also drawn as fallback for NewGRF waypoints.
    00992  * As these are drawn/build like stations, they may use the same number of layouts. */
    00993 assert_compile(lengthof(_station_display_datas_rail) == lengthof(_station_display_datas_waypoint));
    00994
    00995 static const DrawTileSprites * const _station_display_datas[] = {
    00996   _station_display_datas_rail,
    00997   _station_display_datas_airport,
    00998   _station_display_datas_truck,
    00999   _station_display_datas_bus,
    01000   _station_display_datas_oilrig,
    01001   _station_display_datas_dock,
    01002   _station_display_datas_buoy,
    01003   _station_display_datas_waypoint,
    01004 };