summaryrefslogtreecommitdiff
path: root/src/airport.cpp
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2010-08-18 01:19:03 +0000
committeryexo <yexo@openttd.org>2010-08-18 01:19:03 +0000
commita65345d7edd92bcb86befa568d676470b276d164 (patch)
tree9e10729d73266a21d97b131c256679024d4e4799 /src/airport.cpp
parent8118cab6ba586c947c8c5ff0bbce31a720c4062f (diff)
downloadopenttd-a65345d7edd92bcb86befa568d676470b276d164.tar.xz
(svn r20538) -Codechange: introduce a few macros to initialize the airport classes
Diffstat (limited to 'src/airport.cpp')
-rw-r--r--src/airport.cpp134
1 files changed, 25 insertions, 109 deletions
diff --git a/src/airport.cpp b/src/airport.cpp
index 2555fbfa9..9ba518375 100644
--- a/src/airport.cpp
+++ b/src/airport.cpp
@@ -23,115 +23,31 @@
#include "table/airporttile_ids.h"
-static AirportFTAClass _airportfta_dummy(
- _airport_moving_data_dummy,
- NULL,
- 0,
- _airport_entries_dummy,
- AirportFTAClass::ALL,
- _airport_fta_dummy,
- 0
- );
-
-static AirportFTAClass _airportfta_country(
- _airport_moving_data_country,
- _airport_terminal_country,
- 0,
- _airport_entries_country,
- AirportFTAClass::ALL | AirportFTAClass::SHORT_STRIP,
- _airport_fta_country,
- 0
- );
-
-static AirportFTAClass _airportfta_city(
- _airport_moving_data_town,
- _airport_terminal_city,
- 0,
- _airport_entries_city,
- AirportFTAClass::ALL,
- _airport_fta_city,
- 0
- );
-
-static AirportFTAClass _airportfta_oilrig(
- _airport_moving_data_oilrig,
- NULL,
- 1,
- _airport_entries_heliport_oilrig,
- AirportFTAClass::HELICOPTERS,
- _airport_fta_heliport_oilrig,
- 54
- );
-
-static AirportFTAClass _airportfta_heliport(
- _airport_moving_data_heliport,
- NULL,
- 1,
- _airport_entries_heliport_oilrig,
- AirportFTAClass::HELICOPTERS,
- _airport_fta_heliport_oilrig,
- 60
- );
-
-static AirportFTAClass _airportfta_metropolitan(
- _airport_moving_data_metropolitan,
- _airport_terminal_metropolitan,
- 0,
- _airport_entries_metropolitan,
- AirportFTAClass::ALL,
- _airport_fta_metropolitan,
- 0
- );
-
-static AirportFTAClass _airportfta_international(
- _airport_moving_data_international,
- _airport_terminal_international,
- 2,
- _airport_entries_international,
- AirportFTAClass::ALL,
- _airport_fta_international,
- 0
- );
-
-static AirportFTAClass _airportfta_commuter(
- _airport_moving_data_commuter,
- _airport_terminal_commuter,
- 2,
- _airport_entries_commuter,
- AirportFTAClass::ALL | AirportFTAClass::SHORT_STRIP,
- _airport_fta_commuter,
- 0
- );
-
-static AirportFTAClass _airportfta_helidepot(
- _airport_moving_data_helidepot,
- NULL,
- 1,
- _airport_entries_helidepot,
- AirportFTAClass::HELICOPTERS,
- _airport_fta_helidepot,
- 0
- );
-
-static AirportFTAClass _airportfta_intercontinental(
- _airport_moving_data_intercontinental,
- _airport_terminal_intercontinental,
- 2,
- _airport_entries_intercontinental,
- AirportFTAClass::ALL,
- _airport_fta_intercontinental,
- 0
- );
-
-static AirportFTAClass _airportfta_helistation(
- _airport_moving_data_helistation,
- NULL,
- 3,
- _airport_entries_helistation,
- AirportFTAClass::HELICOPTERS,
- _airport_fta_helistation,
- 0
- );
+#define AIRPORT_GENERIC(name, terminals, num_helipads, flags, delta_z) \
+ static AirportFTAClass _airportfta_ ## name(_airport_moving_data_ ## name, terminals, \
+ num_helipads, _airport_entries_ ## name, flags, _airport_fta_ ## name, delta_z);
+
+#define AIRPORT(name, num_helipads, short_strip) \
+ AIRPORT_GENERIC(name, _airport_terminal_ ## name, num_helipads, AirportFTAClass::ALL | (short_strip ? AirportFTAClass::SHORT_STRIP : (AirportFTAClass::Flags)0), 0)
+
+#define HELIPORT(name, num_helipads, delta_z) \
+ AIRPORT_GENERIC(name, NULL, num_helipads, AirportFTAClass::HELICOPTERS, delta_z)
+
+AIRPORT(country, 0, true)
+AIRPORT(city, 0, false)
+HELIPORT(heliport, 1, 60)
+AIRPORT(metropolitan, 0, false)
+AIRPORT(international, 2, false)
+AIRPORT(commuter, 2, true)
+HELIPORT(helidepot, 1, 0)
+AIRPORT(intercontinental, 2, false)
+HELIPORT(helistation, 3, 0)
+HELIPORT(oilrig, 1, 54)
+AIRPORT_GENERIC(dummy, NULL, 0, AirportFTAClass::ALL, 0)
+
+#undef HELIPORT
+#undef AIRPORT
+#undef AIRPORT_GENERIC
#include "table/airport_defaults.h"