OpenTTD Source: src/table/airport_defaults.h Source File

OpenTTD Source 12.2

airport_defaults.h
Go to the documentation of this file.
1 /*
2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6 */
7
10 #ifndef AIRPORT_DEFAULTS_H
11 #define AIRPORT_DEFAULTS_H
12
21 #define MK(x, y, m) {{x, y}, m}
22
26 #define MKEND {{-0x80, 0}, 0}
27
29 static const AirportTileTable _tile_table_country_0[] = {
30 MK(0, 0, APT_SMALL_BUILDING_1),
31 MK(1, 0, APT_SMALL_BUILDING_2),
32 MK(2, 0, APT_SMALL_BUILDING_3),
33 MK(3, 0, APT_SMALL_DEPOT_SE),
34 MK(0, 1, APT_GRASS_FENCE_NE_FLAG),
35 MK(1, 1, APT_GRASS_1),
36 MK(2, 1, APT_GRASS_2),
37 MK(3, 1, APT_GRASS_FENCE_SW),
38 MK(0, 2, APT_RUNWAY_SMALL_FAR_END),
39 MK(1, 2, APT_RUNWAY_SMALL_MIDDLE),
40 MK(2, 2, APT_RUNWAY_SMALL_MIDDLE),
41 MK(3, 2, APT_RUNWAY_SMALL_NEAR_END),
42 MKEND
43 };
44
45 static const AirportTileTable * const _tile_table_country[] = {
46 _tile_table_country_0,
47 };
48
50 static const AirportTileTable _tile_table_commuter_0[] = {
51 MK(0, 0, APT_TOWER),
52 MK(1, 0, APT_BUILDING_3),
53 MK(2, 0, APT_HELIPAD_2_FENCE_NW),
54 MK(3, 0, APT_HELIPAD_2_FENCE_NW),
55 MK(4, 0, APT_DEPOT_SE),
56 MK(0, 1, APT_APRON_FENCE_NE),
57 MK(1, 1, APT_APRON),
58 MK(2, 1, APT_APRON),
59 MK(3, 1, APT_APRON),
60 MK(4, 1, APT_APRON_FENCE_SW),
61 MK(0, 2, APT_APRON_FENCE_NE),
62 MK(1, 2, APT_STAND),
63 MK(2, 2, APT_STAND),
64 MK(3, 2, APT_STAND),
65 MK(4, 2, APT_APRON_FENCE_SW),
66 MK(0, 3, APT_RUNWAY_END_FENCE_SE),
67 MK(1, 3, APT_RUNWAY_2),
68 MK(2, 3, APT_RUNWAY_2),
69 MK(3, 3, APT_RUNWAY_2),
70 MK(4, 3, APT_RUNWAY_END_FENCE_SE),
71 MKEND
72 };
73
74 static const AirportTileTable * const _tile_table_commuter[] = {
75 _tile_table_commuter_0,
76 };
77
79 static const AirportTileTable _tile_table_city_0[] = {
80 MK(0, 0, APT_BUILDING_1),
81 MK(1, 0, APT_APRON_FENCE_NW),
82 MK(2, 0, APT_STAND_1),
83 MK(3, 0, APT_APRON_FENCE_NW),
84 MK(4, 0, APT_APRON_FENCE_NW),
85 MK(5, 0, APT_DEPOT_SE),
86 MK(0, 1, APT_BUILDING_2),
87 MK(1, 1, APT_PIER),
88 MK(2, 1, APT_ROUND_TERMINAL),
89 MK(3, 1, APT_STAND_PIER_NE),
90 MK(4, 1, APT_APRON),
91 MK(5, 1, APT_APRON_FENCE_SW),
92 MK(0, 2, APT_BUILDING_3),
93 MK(1, 2, APT_STAND),
94 MK(2, 2, APT_PIER_NW_NE),
95 MK(3, 2, APT_APRON_S),
96 MK(4, 2, APT_APRON_HOR),
97 MK(5, 2, APT_APRON_N_FENCE_SW),
98 MK(0, 3, APT_RADIO_TOWER_FENCE_NE),
99 MK(1, 3, APT_APRON_W),
100 MK(2, 3, APT_APRON_VER_CROSSING_S),
101 MK(3, 3, APT_APRON_HOR_CROSSING_E),
102 MK(4, 3, APT_ARPON_N),
103 MK(5, 3, APT_TOWER_FENCE_SW),
104 MK(0, 4, APT_EMPTY_FENCE_NE),
105 MK(1, 4, APT_APRON_S),
106 MK(2, 4, APT_APRON_HOR_CROSSING_W),
107 MK(3, 4, APT_APRON_VER_CROSSING_N),
108 MK(4, 4, APT_APRON_E),
109 MK(5, 4, APT_RADAR_GRASS_FENCE_SW),
110 MK(0, 5, APT_RUNWAY_END_FENCE_SE),
111 MK(1, 5, APT_RUNWAY_1),
112 MK(2, 5, APT_RUNWAY_2),
113 MK(3, 5, APT_RUNWAY_3),
114 MK(4, 5, APT_RUNWAY_4),
115 MK(5, 5, APT_RUNWAY_END_FENCE_SE),
116 MKEND
117 };
118
119 static const AirportTileTable * const _tile_table_city[] = {
120 _tile_table_city_0,
121 };
122
124 static const AirportTileTable _tile_table_metropolitan_0[] = {
125 MK(0, 0, APT_BUILDING_1),
126 MK(1, 0, APT_APRON_FENCE_NW),
127 MK(2, 0, APT_STAND_1),
128 MK(3, 0, APT_APRON_FENCE_NW),
129 MK(4, 0, APT_APRON_FENCE_NW),
130 MK(5, 0, APT_DEPOT_SE),
131 MK(0, 1, APT_BUILDING_2),
132 MK(1, 1, APT_PIER),
133 MK(2, 1, APT_ROUND_TERMINAL),
134 MK(3, 1, APT_STAND_PIER_NE),
135 MK(4, 1, APT_APRON),
136 MK(5, 1, APT_APRON_FENCE_SW),
137 MK(0, 2, APT_BUILDING_3),
138 MK(1, 2, APT_STAND),
139 MK(2, 2, APT_PIER_NW_NE),
140 MK(3, 2, APT_APRON_S),
141 MK(4, 2, APT_APRON_HOR),
142 MK(5, 2, APT_APRON_N_FENCE_SW),
143 MK(0, 3, APT_RADAR_FENCE_NE),
144 MK(1, 3, APT_APRON),
145 MK(2, 3, APT_APRON),
146 MK(3, 3, APT_APRON),
147 MK(4, 3, APT_APRON),
148 MK(5, 3, APT_TOWER_FENCE_SW),
149 MK(0, 4, APT_RUNWAY_END),
150 MK(1, 4, APT_RUNWAY_5),
151 MK(2, 4, APT_RUNWAY_5),
152 MK(3, 4, APT_RUNWAY_5),
153 MK(4, 4, APT_RUNWAY_5),
154 MK(5, 4, APT_RUNWAY_END),
155 MK(0, 5, APT_RUNWAY_END_FENCE_SE),
156 MK(1, 5, APT_RUNWAY_2),
157 MK(2, 5, APT_RUNWAY_2),
158 MK(3, 5, APT_RUNWAY_2),
159 MK(4, 5, APT_RUNWAY_2),
160 MK(5, 5, APT_RUNWAY_END_FENCE_SE),
161 MKEND
162 };
163
164 static const AirportTileTable * const _tile_table_metropolitan[] = {
165 _tile_table_metropolitan_0,
166 };
167
169 static const AirportTileTable _tile_table_international_0[] = {
170 MK(0, 0, APT_RUNWAY_END_FENCE_NW),
171 MK(1, 0, APT_RUNWAY_FENCE_NW),
172 MK(2, 0, APT_RUNWAY_FENCE_NW),
173 MK(3, 0, APT_RUNWAY_FENCE_NW),
174 MK(4, 0, APT_RUNWAY_FENCE_NW),
175 MK(5, 0, APT_RUNWAY_FENCE_NW),
176 MK(6, 0, APT_RUNWAY_END_FENCE_NW),
177 MK(0, 1, APT_RADIO_TOWER_FENCE_NE),
178 MK(1, 1, APT_APRON),
179 MK(2, 1, APT_APRON),
180 MK(3, 1, APT_APRON),
181 MK(4, 1, APT_APRON),
182 MK(5, 1, APT_APRON),
183 MK(6, 1, APT_DEPOT_SE),
184 MK(0, 2, APT_BUILDING_3),
185 MK(1, 2, APT_APRON),
186 MK(2, 2, APT_STAND),
187 MK(3, 2, APT_BUILDING_2),
188 MK(4, 2, APT_STAND),
189 MK(5, 2, APT_APRON),
190 MK(6, 2, APT_APRON_FENCE_SW),
191 MK(0, 3, APT_DEPOT_SE),
192 MK(1, 3, APT_APRON),
193 MK(2, 3, APT_STAND),
194 MK(3, 3, APT_BUILDING_2),
195 MK(4, 3, APT_STAND),
196 MK(5, 3, APT_APRON),
197 MK(6, 3, APT_HELIPAD_1),
198 MK(0, 4, APT_APRON_FENCE_NE),
199 MK(1, 4, APT_APRON),
200 MK(2, 4, APT_STAND),
201 MK(3, 4, APT_TOWER),
202 MK(4, 4, APT_STAND),
203 MK(5, 4, APT_APRON),
204 MK(6, 4, APT_HELIPAD_1),
205 MK(0, 5, APT_APRON_FENCE_NE),
206 MK(1, 5, APT_APRON),
207 MK(2, 5, APT_APRON),
208 MK(3, 5, APT_APRON),
209 MK(4, 5, APT_APRON),
210 MK(5, 5, APT_APRON),
211 MK(6, 5, APT_RADAR_FENCE_SW),
212 MK(0, 6, APT_RUNWAY_END_FENCE_SE),
213 MK(1, 6, APT_RUNWAY_2),
214 MK(2, 6, APT_RUNWAY_2),
215 MK(3, 6, APT_RUNWAY_2),
216 MK(4, 6, APT_RUNWAY_2),
217 MK(5, 6, APT_RUNWAY_2),
218 MK(6, 6, APT_RUNWAY_END_FENCE_SE),
219 MKEND
220 };
221
222 static const AirportTileTable * const _tile_table_international[] = {
223 _tile_table_international_0,
224 };
225
227 static const AirportTileTable _tile_table_intercontinental_0[] = {
228 MK(0, 0, APT_RADAR_FENCE_NE),
229 MK(1, 0, APT_RUNWAY_END_FENCE_NE_NW),
230 MK(2, 0, APT_RUNWAY_FENCE_NW),
231 MK(3, 0, APT_RUNWAY_FENCE_NW),
232 MK(4, 0, APT_RUNWAY_FENCE_NW),
233 MK(5, 0, APT_RUNWAY_FENCE_NW),
234 MK(6, 0, APT_RUNWAY_FENCE_NW),
235 MK(7, 0, APT_RUNWAY_FENCE_NW),
236 MK(8, 0, APT_RUNWAY_END_FENCE_NW_SW),
237 MK(0, 1, APT_RUNWAY_END_FENCE_NE_NW),
238 MK(1, 1, APT_RUNWAY_2),
239 MK(2, 1, APT_RUNWAY_2),
240 MK(3, 1, APT_RUNWAY_2),
241 MK(4, 1, APT_RUNWAY_2),
242 MK(5, 1, APT_RUNWAY_2),
243 MK(6, 1, APT_RUNWAY_2),
244 MK(7, 1, APT_RUNWAY_END_FENCE_SE_SW),
245 MK(8, 1, APT_APRON_FENCE_NE_SW),
246 MK(0, 2, APT_APRON_FENCE_NE_SW),
247 MK(1, 2, APT_EMPTY),
248 MK(2, 2, APT_APRON_FENCE_NE),
249 MK(3, 2, APT_APRON),
250 MK(4, 2, APT_APRON),
251 MK(5, 2, APT_APRON),
252 MK(6, 2, APT_APRON),
253 MK(7, 2, APT_RADIO_TOWER_FENCE_NE),
254 MK(8, 2, APT_APRON_FENCE_NE_SW),
255 MK(0, 3, APT_APRON_FENCE_NE),
256 MK(1, 3, APT_APRON_HALF_EAST),
257 MK(2, 3, APT_APRON_FENCE_NE),
258 MK(3, 3, APT_TOWER),
259 MK(4, 3, APT_HELIPAD_2),
260 MK(5, 3, APT_HELIPAD_2),
261 MK(6, 3, APT_APRON),
262 MK(7, 3, APT_APRON_FENCE_NW),
263 MK(8, 3, APT_APRON_FENCE_SW),
264 MK(0, 4, APT_APRON_FENCE_NE),
265 MK(1, 4, APT_APRON),
266 MK(2, 4, APT_APRON),
267 MK(3, 4, APT_STAND),
268 MK(4, 4, APT_BUILDING_1),
269 MK(5, 4, APT_STAND),
270 MK(6, 4, APT_APRON),
271 MK(7, 4, APT_LOW_BUILDING),
272 MK(8, 4, APT_DEPOT_SE),
273 MK(0, 5, APT_DEPOT_SE),
274 MK(1, 5, APT_LOW_BUILDING),
275 MK(2, 5, APT_APRON),
276 MK(3, 5, APT_STAND),
277 MK(4, 5, APT_BUILDING_2),
278 MK(5, 5, APT_STAND),
279 MK(6, 5, APT_APRON),
280 MK(7, 5, APT_APRON),
281 MK(8, 5, APT_APRON_FENCE_SW),
282 MK(0, 6, APT_APRON_FENCE_NE),
283 MK(1, 6, APT_APRON),
284 MK(2, 6, APT_APRON),
285 MK(3, 6, APT_STAND),
286 MK(4, 6, APT_BUILDING_3),
287 MK(5, 6, APT_STAND),
288 MK(6, 6, APT_APRON),
289 MK(7, 6, APT_APRON),
290 MK(8, 6, APT_APRON_FENCE_SW),
291 MK(0, 7, APT_APRON_FENCE_NE),
292 MK(1, 7, APT_APRON_FENCE_SE),
293 MK(2, 7, APT_APRON),
294 MK(3, 7, APT_STAND),
295 MK(4, 7, APT_ROUND_TERMINAL),
296 MK(5, 7, APT_STAND),
297 MK(6, 7, APT_APRON_FENCE_SW),
298 MK(7, 7, APT_APRON_HALF_WEST),
299 MK(8, 7, APT_APRON_FENCE_SW),
300 MK(0, 8, APT_APRON_FENCE_NE),
301 MK(1, 8, APT_GRASS_FENCE_NE_FLAG_2),
302 MK(2, 8, APT_APRON_FENCE_NE),
303 MK(3, 8, APT_APRON),
304 MK(4, 8, APT_APRON),
305 MK(5, 8, APT_APRON),
306 MK(6, 8, APT_APRON_FENCE_SW),
307 MK(7, 8, APT_EMPTY),
308 MK(8, 8, APT_APRON_FENCE_NE_SW),
309 MK(0, 9, APT_APRON_FENCE_NE),
310 MK(1, 9, APT_RUNWAY_END_FENCE_NE_NW),
311 MK(2, 9, APT_RUNWAY_FENCE_NW),
312 MK(3, 9, APT_RUNWAY_FENCE_NW),
313 MK(4, 9, APT_RUNWAY_FENCE_NW),
314 MK(5, 9, APT_RUNWAY_FENCE_NW),
315 MK(6, 9, APT_RUNWAY_FENCE_NW),
316 MK(7, 9, APT_RUNWAY_FENCE_NW),
317 MK(8, 9, APT_RUNWAY_END_FENCE_SE_SW),
318 MK(0, 10, APT_RUNWAY_END_FENCE_NE_SE),
319 MK(1, 10, APT_RUNWAY_2),
320 MK(2, 10, APT_RUNWAY_2),
321 MK(3, 10, APT_RUNWAY_2),
322 MK(4, 10, APT_RUNWAY_2),
323 MK(5, 10, APT_RUNWAY_2),
324 MK(6, 10, APT_RUNWAY_2),
325 MK(7, 10, APT_RUNWAY_END_FENCE_SE_SW),
326 MK(8, 10, APT_EMPTY),
327 MKEND
328 };
329
330 static const AirportTileTable * const _tile_table_intercontinental[] = {
331 _tile_table_intercontinental_0,
332 };
333
335 static const AirportTileTable _tile_table_heliport_0[] = {
336 MK(0, 0, APT_HELIPORT),
337 MKEND
338 };
339
340 static const AirportTileTable * const _tile_table_heliport[] = {
341 _tile_table_heliport_0,
342 };
343
345 static const AirportTileTable _tile_table_helidepot_0[] = {
346 MK(0, 0, APT_LOW_BUILDING_FENCE_N),
347 MK(1, 0, APT_DEPOT_SE),
348 MK(0, 1, APT_HELIPAD_2_FENCE_NE_SE),
349 MK(1, 1, APT_APRON_FENCE_SE_SW),
350 MKEND
351 };
352
353 static const AirportTileTable * const _tile_table_helidepot[] = {
354 _tile_table_helidepot_0,
355 };
356
358 static const AirportTileTable _tile_table_helistation_0[] = {
359 MK(0, 0, APT_DEPOT_SE),
360 MK(1, 0, APT_LOW_BUILDING_FENCE_NW),
361 MK(2, 0, APT_HELIPAD_3_FENCE_NW),
362 MK(3, 0, APT_HELIPAD_3_FENCE_NW_SW),
363 MK(0, 1, APT_APRON_FENCE_NE_SE),
364 MK(1, 1, APT_APRON_FENCE_SE),
365 MK(2, 1, APT_APRON_FENCE_SE),
366 MK(3, 1, APT_HELIPAD_3_FENCE_SE_SW),
367 MKEND
368 };
369
370 static const AirportTileTable * const _tile_table_helistation[] = {
371 _tile_table_helistation_0,
372 };
373
374 static const Direction _default_airports_rotation[] = {
375 DIR_N,
376 };
377
378 #undef MK
379 #undef MKEND
380
382 #define AS_GENERIC(fsm, att, rot, att_len, depot_tbl, num_depots, size_x, size_y, noise, catchment, min_year, max_year, maint_cost, ttdpatch_type, class_id, name, preview, enabled) \
383 {fsm, att, rot, att_len, depot_tbl, num_depots, size_x, size_y, noise, catchment, min_year, max_year, name, ttdpatch_type, class_id, preview, maint_cost, enabled, GRFFileProps(AT_INVALID)}
384
386 #define AS_ND(ap_name, size_x, size_y, min_year, max_year, catchment, noise, maint_cost, ttdpatch_type, class_id, name, preview) \
387 AS_GENERIC(&_airportfta_##ap_name, _tile_table_##ap_name, _default_airports_rotation, lengthof(_tile_table_##ap_name), nullptr, 0, \
388 size_x, size_y, noise, catchment, min_year, max_year, maint_cost, ttdpatch_type, class_id, name, preview, true)
389
391 #define AS(ap_name, size_x, size_y, min_year, max_year, catchment, noise, maint_cost, ttdpatch_type, class_id, name, preview) \
392 AS_GENERIC(&_airportfta_##ap_name, _tile_table_##ap_name, _default_airports_rotation, lengthof(_tile_table_##ap_name), _airport_depots_##ap_name, lengthof(_airport_depots_##ap_name), \
393 size_x, size_y, noise, catchment, min_year, max_year, maint_cost, ttdpatch_type, class_id, name, preview, true)
394
395 /* The helidepot and helistation have ATP_TTDP_SMALL because they are at ground level */
396 extern const AirportSpec _origin_airport_specs[] = {
397 AS(country, 4, 3, 0, 1959, 4, 3, 7, ATP_TTDP_SMALL, APC_SMALL, STR_AIRPORT_SMALL, SPR_AIRPORT_PREVIEW_SMALL),
398 AS(city, 6, 6, 1955, MAX_YEAR, 5, 5, 24, ATP_TTDP_LARGE, APC_LARGE, STR_AIRPORT_CITY, SPR_AIRPORT_PREVIEW_LARGE),
399 AS_ND(heliport, 1, 1, 1963, MAX_YEAR, 4, 1, 4, ATP_TTDP_HELIPORT, APC_HELIPORT, STR_AIRPORT_HELIPORT, SPR_AIRPORT_PREVIEW_HELIPORT),
400 AS(metropolitan, 6, 6, 1980, MAX_YEAR, 6, 8, 28, ATP_TTDP_LARGE, APC_LARGE, STR_AIRPORT_METRO, SPR_AIRPORT_PREVIEW_METROPOLITAN),
401 AS(international, 7, 7, 1990, MAX_YEAR, 8, 17, 42, ATP_TTDP_LARGE, APC_HUB, STR_AIRPORT_INTERNATIONAL, SPR_AIRPORT_PREVIEW_INTERNATIONAL),
402 AS(commuter, 5, 4, 1983, MAX_YEAR, 4, 4, 20, ATP_TTDP_SMALL, APC_SMALL, STR_AIRPORT_COMMUTER, SPR_AIRPORT_PREVIEW_COMMUTER),
403 AS(helidepot, 2, 2, 1976, MAX_YEAR, 4, 2, 7, ATP_TTDP_SMALL, APC_HELIPORT, STR_AIRPORT_HELIDEPOT, SPR_AIRPORT_PREVIEW_HELIDEPOT),
404 AS(intercontinental, 9, 11, 2002, MAX_YEAR, 10, 25, 72, ATP_TTDP_LARGE, APC_HUB, STR_AIRPORT_INTERCONTINENTAL, SPR_AIRPORT_PREVIEW_INTERCONTINENTAL),
405 AS(helistation, 4, 2, 1980, MAX_YEAR, 4, 3, 14, ATP_TTDP_SMALL, APC_HELIPORT, STR_AIRPORT_HELISTATION, SPR_AIRPORT_PREVIEW_HELISTATION),
406 AS_GENERIC(&_airportfta_oilrig, nullptr, _default_airports_rotation, 0, nullptr, 0, 1, 1, 0, 4, 0, 0, 0, ATP_TTDP_OILRIG, APC_HELIPORT, STR_NULL, 0, false),
407 };
408
409 static_assert(NEW_AIRPORT_OFFSET == lengthof(_origin_airport_specs));
410
411 const AirportSpec AirportSpec::dummy = AS_GENERIC(&_airportfta_dummy, nullptr, _default_airports_rotation, 0, nullptr, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR, 0, ATP_TTDP_LARGE, APC_BEGIN, STR_NULL, 0, false);
412
413 #undef AS
414 #undef AS_ND
415 #undef AS_GENERIC
416
417 #endif /* AIRPORT_DEFAULTS_H */
AS_GENERIC
#define AS_GENERIC(fsm, att, rot, att_len, depot_tbl, num_depots, size_x, size_y, noise, catchment, min_year, max_year, maint_cost, ttdpatch_type, class_id, name, preview, enabled)
General AirportSpec definition.
Definition: airport_defaults.h:382
Direction
Direction
Defines the 8 directions on the map.
Definition: direction_type.h:24
_tile_table_helistation_0
static const AirportTileTable _tile_table_helistation_0[]
Tiles for Helistation.
Definition: airport_defaults.h:358
APC_HUB
@ APC_HUB
id for hub airports class
Definition: newgrf_airport.h:72
DIR_N
@ DIR_N
North.
Definition: direction_type.h:26
AirportSpec
Defines the data structure for an airport.
Definition: newgrf_airport.h:98
AS
#define AS(ap_name, size_x, size_y, min_year, max_year, catchment, noise, maint_cost, ttdpatch_type, class_id, name, preview)
AirportSpec definition for airports with at least one depot.
Definition: airport_defaults.h:391
_tile_table_helidepot_0
static const AirportTileTable _tile_table_helidepot_0[]
Tiles for Helidepot.
Definition: airport_defaults.h:345
MIN_YEAR
static const Year MIN_YEAR
The absolute minimum & maximum years in OTTD.
Definition: date_type.h:84
_tile_table_commuter_0
static const AirportTileTable _tile_table_commuter_0[]
Tiles for Commuter Airfield (small)
Definition: airport_defaults.h:50
AirportSpec::dummy
static const AirportSpec dummy
The dummy airport.
Definition: newgrf_airport.h:135
AirportTileTable
Tile-offset / AirportTileID pair.
Definition: newgrf_airport.h:23
APC_HELIPORT
@ APC_HELIPORT
id for heliports
Definition: newgrf_airport.h:73
_tile_table_city_0
static const AirportTileTable _tile_table_city_0[]
Tiles for City Airport (large)
Definition: airport_defaults.h:79
AS_ND
#define AS_ND(ap_name, size_x, size_y, min_year, max_year, catchment, noise, maint_cost, ttdpatch_type, class_id, name, preview)
AirportSpec definition for airports without any depot.
Definition: airport_defaults.h:386
_tile_table_country_0
static const AirportTileTable _tile_table_country_0[]
Tiles for Country Airfield (small)
Definition: airport_defaults.h:29
_tile_table_heliport_0
static const AirportTileTable _tile_table_heliport_0[]
Tiles for Heliport.
Definition: airport_defaults.h:335
NEW_AIRPORT_OFFSET
@ NEW_AIRPORT_OFFSET
Number of the first newgrf airport.
Definition: airport.h:39
ATP_TTDP_HELIPORT
@ ATP_TTDP_HELIPORT
Same as AT_HELIPORT.
Definition: newgrf_airport.h:84
MKEND
#define MKEND
Terminator of airport tiles layout definition.
Definition: airport_defaults.h:26
APC_LARGE
@ APC_LARGE
id for large airports class
Definition: newgrf_airport.h:71
MK
#define MK(x, y, m)
Definition of an airport tiles layout.
Definition: airport_defaults.h:21
APC_SMALL
@ APC_SMALL
id for small airports class
Definition: newgrf_airport.h:70
lengthof
#define lengthof(x)
Return the length of an fixed size array.
Definition: stdafx.h:378
_tile_table_metropolitan_0
static const AirportTileTable _tile_table_metropolitan_0[]
Tiles for Metropolitain Airport (large) - 2 runways.
Definition: airport_defaults.h:124
ATP_TTDP_SMALL
@ ATP_TTDP_SMALL
Same as AT_SMALL.
Definition: newgrf_airport.h:82
ATP_TTDP_LARGE
@ ATP_TTDP_LARGE
Same as AT_LARGE.
Definition: newgrf_airport.h:83
ATP_TTDP_OILRIG
@ ATP_TTDP_OILRIG
Same as AT_OILRIG.
Definition: newgrf_airport.h:85
APC_BEGIN
@ APC_BEGIN
Lowest valid airport class id.
Definition: newgrf_airport.h:69
_tile_table_intercontinental_0
static const AirportTileTable _tile_table_intercontinental_0[]
Tiles for International Airport (large) - 2 runways.
Definition: airport_defaults.h:227
_tile_table_international_0
static const AirportTileTable _tile_table_international_0[]
Tiles for International Airport (large) - 2 runways.
Definition: airport_defaults.h:169
MAX_YEAR
static const Year MAX_YEAR
MAX_YEAR, nicely rounded value of the number of years that can be encoded in a single 32 bits date,...
Definition: date_type.h:95