--- a/src/airport.cpp Sat Feb 03 09:54:42 2007 +0000
+++ b/src/airport.cpp Sat Feb 03 13:03:11 2007 +0000
@@ -30,6 +30,7 @@
static AirportFTAClass *HeliStation;
static void AirportFTAClass_Constructor(AirportFTAClass *apc,
+ const AirportMovingData *moving_data,
const byte *terminals, const byte *helipads,
const byte entry_point, const AcceptPlanes acc_planes,
const AirportFTAbuildup *apFA,
@@ -54,6 +55,7 @@
AirportFTAClass_Constructor(
CountryAirport,
+ _airport_moving_data_country,
_airport_terminal_country,
NULL,
16,
@@ -69,6 +71,7 @@
AirportFTAClass_Constructor(
CityAirport,
+ _airport_moving_data_town,
_airport_terminal_city,
NULL,
19,
@@ -84,6 +87,7 @@
AirportFTAClass_Constructor(
MetropolitanAirport,
+ _airport_moving_data_metropolitan,
_airport_terminal_metropolitan,
NULL,
20,
@@ -99,6 +103,7 @@
AirportFTAClass_Constructor(
InternationalAirport,
+ _airport_moving_data_international,
_airport_terminal_international,
_airport_helipad_international,
37,
@@ -114,6 +119,7 @@
AirportFTAClass_Constructor(
IntercontinentalAirport,
+ _airport_moving_data_intercontinental,
_airport_terminal_intercontinental,
_airport_helipad_intercontinental,
43,
@@ -124,11 +130,11 @@
9,11
);
- // heliport, oilrig
Heliport = MallocT<AirportFTAClass>(1);
AirportFTAClass_Constructor(
Heliport,
+ _airport_moving_data_heliport,
NULL,
_airport_helipad_heliport_oilrig,
7,
@@ -139,13 +145,26 @@
1, 1
);
- Oilrig = Heliport; // exactly the same structure for heliport/oilrig, so share state machine
+ Oilrig = MallocT<AirportFTAClass>(1);
+ AirportFTAClass_Constructor(
+ Oilrig,
+ _airport_moving_data_oilrig,
+ NULL,
+ _airport_helipad_heliport_oilrig,
+ 7,
+ HELICOPTERS_ONLY,
+ _airport_fta_heliport_oilrig,
+ NULL,
+ 0,
+ 1, 1
+ );
// commuter airport
CommuterAirport = MallocT<AirportFTAClass>(1);
AirportFTAClass_Constructor(
CommuterAirport,
+ _airport_moving_data_commuter,
_airport_terminal_commuter,
_airport_helipad_commuter,
22,
@@ -161,6 +180,7 @@
AirportFTAClass_Constructor(
HeliDepot,
+ _airport_moving_data_helidepot,
NULL,
_airport_helipad_helidepot,
4,
@@ -176,6 +196,7 @@
AirportFTAClass_Constructor(
HeliStation,
+ _airport_moving_data_helistation,
NULL,
_airport_helipad_helistation,
25,
@@ -202,6 +223,7 @@
}
static void AirportFTAClass_Constructor(AirportFTAClass *apc,
+ const AirportMovingData *moving_data,
const byte *terminals, const byte *helipads,
const byte entry_point, const AcceptPlanes acc_planes,
const AirportFTAbuildup *apFA,
@@ -212,6 +234,7 @@
byte nofterminals, nofhelipads;
byte nofterminalgroups, nofhelipadgroups;
+ apc->moving_data = moving_data;
apc->size_x = size_x;
apc->size_y = size_y;
@@ -469,12 +492,6 @@
}
}
-const AirportMovingData *GetAirportMovingData(byte airport_type, byte position)
-{
- assert(airport_type < lengthof(_airport_moving_datas));
- assert(position < GetAirport(airport_type)->nofelements);
- return &_airport_moving_datas[airport_type][position];
-}
uint32 GetValidAirports(void)
{