14 #include "table/strings.h"
29 #define AIRPORT_GENERIC(name, terminals, num_helipads, flags, delta_z) \
30 static AirportFTAClass _airportfta_ ## name(_airport_moving_data_ ## name, terminals, \
31 num_helipads, _airport_entries_ ## name, flags, _airport_fta_ ## name, delta_z);
39 #define AIRPORT(name, num_helipads, short_strip) \
40 AIRPORT_GENERIC(name, _airport_terminal_ ## name, num_helipads, AirportFTAClass::ALL | (short_strip ? AirportFTAClass::SHORT_STRIP : (AirportFTAClass::Flags)0), 0)
48 #define HELIPORT(name, num_helipads, delta_z) \
49 AIRPORT_GENERIC(name, NULL, num_helipads, AirportFTAClass::HELICOPTERS, delta_z)
55 AIRPORT(international, 2, false)
58 AIRPORT(intercontinental, 2, false)
65 #undef AIRPORT_GENERIC
108 default: NOT_REACHED();
113 AirportFTAClass::AirportFTAClass(
115 const byte *terminals_,
116 const byte num_helipads_,
117 const byte *entry_points_,
122 moving_data(moving_data_),
123 terminals(terminals_),
124 num_helipads(num_helipads_),
127 entry_points(entry_points_),
134 AirportFTAClass::~AirportFTAClass()
138 while (current != NULL) {
154 uint16 nofelements = 0;
158 if (temp != apFA[i].position) {
162 if (apFA[i].position == MAX_ELEMENTS)
break;
175 AirportFTA *FAutomata = MallocT<AirportFTA>(nofelements);
176 uint16 internalcounter = 0;
178 for (uint i = 0; i < nofelements; i++) {
191 newNode->
block = apFA[internalcounter + 1].
block;
194 current->
next = newNode;
195 current = current->
next;
198 current->
next = NULL;
211 if (airport_type ==
AT_DUMMY)
return &_airportfta_dummy;
228 for (uint i = 0;; i++) {