@@ -102,15 +102,15 @@ static const AirportMovingData _airport_
AMD( 56, 8, AMED_EXACTPOS, DIR_N ), // pre-helitakeoff helipad 2
};
/* City Airport (large) 6x6 */
static const AirportMovingData _airport_moving_data_town[] = {
AMD( 85, 3, AMED_EXACTPOS, DIR_SE), // 00 In Hangar
AMD( 85, 27, 0, DIR_N ), // 01 Taxi to right outside depot
AMD( 85, 22, 0, DIR_N ), // 01 Taxi to right outside depot
AMD( 26, 41, AMED_EXACTPOS, DIR_SW), // 02 Terminal 1
AMD( 56, 20, AMED_EXACTPOS, DIR_SE), // 03 Terminal 2
AMD( 56, 22, AMED_EXACTPOS, DIR_SE), // 03 Terminal 2
AMD( 38, 8, AMED_EXACTPOS, DIR_SW), // 04 Terminal 3
AMD( 65, 6, 0, DIR_N ), // 05 Taxi to right in infront of terminal 2/3
AMD( 80, 27, 0, DIR_N ), // 06 Taxiway terminals 2-3
AMD( 44, 63, 0, DIR_N ), // 07 Taxi to Airport center
AMD( 58, 71, 0, DIR_N ), // 08 Towards takeoff
AMD( 72, 85, 0, DIR_N ), // 09 Taxi to runway (takeoff)
@@ -136,30 +136,30 @@ static const AirportMovingData _airport_
AMD( -32, 120, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 29 Initial approach fix (east)
/* Metropolitan Airport (metropolitan) - 2 runways */
static const AirportMovingData _airport_moving_data_metropolitan[27] = {
AMD( 70, 33, 0, DIR_N ), // 06 Taxiway terminals 2-3
AMD( 44, 58, 0, DIR_N ), // 07 Taxi to Airport center
AMD( 49, 58, 0, DIR_N ), // 07 Taxi to Airport center
AMD( 72, 58, 0, DIR_N ), // 08 Towards takeoff
AMD( 72, 69, 0, DIR_N ), // 09 Taxi to runway (takeoff)
AMD( 89, 69, AMED_EXACTPOS, DIR_NE), // 10 Taxi to start of runway (takeoff)
AMD( 3, 69, AMED_NOSPDCLAMP, DIR_N ), // 11 Accelerate to end of runway
AMD( -79, 69, AMED_NOSPDCLAMP | AMED_TAKEOFF, DIR_N ), // 12 Take off
AMD( 177, 85, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 13 Fly to landing position in air
AMD( 89, 85, AMED_NOSPDCLAMP | AMED_LAND, DIR_N ), // 14 Going down for land
AMD( 3, 85, AMED_NOSPDCLAMP | AMED_BRAKE, DIR_N ), // 15 Just landed, brake until end of runway
AMD( 21, 85, 0, DIR_N ), // 16 Just landed, turn around and taxi 1 square
AMD( 21, 69, 0, DIR_N ), // 17 On Runway-out taxiing to In-Way
AMD( 21, 54, AMED_EXACTPOS, DIR_SW), // 18 Taxi from runway to crossing
AMD( 21, 58, AMED_EXACTPOS, DIR_SW), // 18 Taxi from runway to crossing
AMD( 1, 193, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 19 Fly around waiting for a landing spot (north-east)
AMD( 1, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 20 Fly around waiting for a landing spot (north-west)
AMD( 257, 1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 21 Fly around waiting for a landing spot (south-west)
AMD( 273, 49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 22 Fly around waiting for a landing spot (south)
AMD( 44, 58, 0, DIR_N ), // 23 Helicopter takeoff spot on ground (to clear airport sooner)
AMD( 44, 63, AMED_HELI_RAISE, DIR_N ), // 24 Helicopter takeoff
@@ -222,16 +222,16 @@ static const AirportMovingData _airport_
AMD( 104, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 49 Go to position for Hangarentrance in air
AMD( 104, 32, AMED_HELI_LOWER, DIR_N ), // 50 Land in HANGAR2_AREA to go to hangar
/* Intercontinental Airport - 4 runways, 8 terminals, 2 dedicated helipads */
static const AirportMovingData _airport_moving_data_intercontinental[77] = {
AMD( 7, 87, AMED_EXACTPOS, DIR_SE), // 00 In Hangar 1
AMD( 135, 72, AMED_EXACTPOS, DIR_SE), // 01 In Hangar 2
AMD( 7, 104, 0, DIR_N ), // 02 Taxi to right outside depot 1
AMD( 135, 88, 0, DIR_N ), // 03 Taxi to right outside depot 2
AMD( 8, 87, AMED_EXACTPOS, DIR_SE), // 00 In Hangar 1
AMD( 136, 72, AMED_EXACTPOS, DIR_SE), // 01 In Hangar 2
AMD( 8, 104, 0, DIR_N ), // 02 Taxi to right outside depot 1
AMD( 136, 88, 0, DIR_N ), // 03 Taxi to right outside depot 2
AMD( 56, 120, AMED_EXACTPOS, DIR_W ), // 04 Terminal 1
AMD( 56, 104, AMED_EXACTPOS, DIR_SW), // 05 Terminal 2
AMD( 56, 88, AMED_EXACTPOS, DIR_SW), // 06 Terminal 3
AMD( 56, 72, AMED_EXACTPOS, DIR_SW), // 07 Terminal 4
AMD( 88, 120, AMED_EXACTPOS, DIR_N ), // 08 Terminal 5
AMD( 88, 104, AMED_EXACTPOS, DIR_NE), // 09 Terminal 6
@@ -264,13 +264,13 @@ static const AirportMovingData _airport_
AMD( 254, 84, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 36 Flying to landing position in air
AMD( 117, 168, AMED_NOSPDCLAMP | AMED_LAND, DIR_N ), // 37 Going down for land
AMD( 8, 168, AMED_NOSPDCLAMP | AMED_BRAKE, DIR_N ), // 38 Just landed, brake until end of runway
AMD( 8, 168, 0, DIR_N ), // 39 Just landed, turn around and taxi
AMD( 8, 144, 0, DIR_NW), // 40 Taxi from runway
AMD( 8, 128, 0, DIR_NW), // 41 Taxi from runway
AMD( 8, 120, AMED_EXACTPOS, DIR_SW), // 42 Airport entrance
AMD( 8, 120, AMED_EXACTPOS, DIR_NW), // 42 Airport entrance
AMD( 56, 344, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 43 Fly around waiting for a landing spot (north-east)
AMD( -200, 88, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 44 Fly around waiting for a landing spot (north-west)
AMD( 56, -168, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 45 Fly around waiting for a landing spot (south-west)
AMD( 312, 88, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 46 Fly around waiting for a landing spot (south)
/* Helicopter */
AMD( 96, 40, AMED_NOSPDCLAMP, DIR_N ), // 47 Bufferspace before helipad
@@ -493,16 +493,16 @@ static const TileIndexDiffC _airport_dep
static const byte _airport_terminal_city[] = { 1, 3 };
static const byte _airport_entries_city[] = {26, 29, 27, 28};
static const AirportFTAbuildup _airport_fta_city[] = {
{ 0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, 0, 0, 1 },
{ 1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, 0, 0, 7 }, // for all else, go to 7
{ 2, TERM1, TERM1_block, 7 }, { 2, TAKEOFF, OUT_WAY_block, 7 }, { 2, 0, 0, 7 },
{ 3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 5 }, { 3, 0, 0, 5 },
{ 3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 6 }, { 3, 0, 0, 6 },
{ 4, TERM3, TERM3_block, 5 }, { 4, TAKEOFF, OUT_WAY_block, 5 }, { 4, 0, 0, 5 },
{ 5, 255, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, 0, 0, 6 },
{ 6, 255, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, 0, 5 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, 0, 0, 7 },
{ 6, 255, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, TERM2_block, 3 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, 0, 0, 7 },
{ 7, 255, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, OUT_WAY_block, 8 }, { 7, HELITAKEOFF, 0, 22 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
{ 8, 0, OUT_WAY_block, 9 },
{ 9, 0, RUNWAY_IN_OUT_block, 10 },
/* takeoff */
{ 10, TAKEOFF, RUNWAY_IN_OUT_block, 11 },
{ 11, STARTTAKEOFF, NOTHING_block, 12 },
@@ -534,16 +534,16 @@ static const TileIndexDiffC _airport_dep
static const byte _airport_terminal_metropolitan[] = { 1, 3 };
static const byte _airport_entries_metropolitan[] = {20, 19, 22, 21};
static const AirportFTAbuildup _airport_fta_metropolitan[] = {
{ 0, HANGAR, NOTHING_block, 1 },
{ 2, TERM1, TERM1_block, 7 },
{ 3, TERM2, TERM2_block, 5 },
{ 3, TERM2, TERM2_block, 6 },
{ 4, TERM3, TERM3_block, 5 },
{ 7, 255, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, 0, 8 }, { 7, HELITAKEOFF, 0, 23 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
{ 9, 0, RUNWAY_OUT_block, 10 },
{ 10, TAKEOFF, RUNWAY_OUT_block, 11 },
@@ -639,13 +639,13 @@ static const byte _airport_terminal_inte
static const byte _airport_helipad_intercontinental[] = { 1, 2 };
static const byte _airport_entries_intercontinental[] = { 44, 43, 46, 45 };
static const AirportFTAbuildup _airport_fta_intercontinental[] = {
{ 0, HANGAR, NOTHING_block, 2 }, { 0, 255, HANGAR1_AREA_block | TERM_GROUP1_block, 0 }, { 0, 255, HANGAR1_AREA_block | TERM_GROUP1_block, 1 }, { 0, TAKEOFF, HANGAR1_AREA_block | TERM_GROUP1_block, 2 }, { 0, 0, 0, 2 },
{ 1, HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1, 255, HANGAR2_AREA_block, 0 }, { 1, 0, 0, 3 },
{ 2, 255, HANGAR1_AREA_block, 0 }, { 2, 255, TERM_GROUP1_block, 0 }, { 2, 255, TERM_GROUP1_block, 1 }, { 2, HANGAR, 0, 0 }, { 2, TAKEOFF, TERM_GROUP1_block, 27 }, { 2, TERM5, 0, 26 }, { 2, TERM6, 0, 26 }, { 2, TERM7, 0, 26 }, { 2, TERM8, 0, 26 }, { 2, HELIPAD1, 0, 26 }, { 2, HELIPAD2, 0, 26 }, { 2, HELITAKEOFF, 0, 74 }, { 2, 0, 0, 27 },
{ 3, 255, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, HELITAKEOFF, 0, 75 }, { 3, 0, 0, 20 },
{ 3, 255, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, HELITAKEOFF, 0, 75 }, {3, TAKEOFF, 0, 59}, { 3, 0, 0, 20 },
{ 4, TERM1, TERM1_block, 26 }, { 4, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 26 }, { 4, 0, 0, 26 },
{ 5, TERM2, TERM2_block, 27 }, { 5, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 27 }, { 5, 0, 0, 27 },
{ 6, TERM3, TERM3_block, 28 }, { 6, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 28 }, { 6, 0, 0, 28 },
{ 7, TERM4, TERM4_block, 29 }, { 7, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 7, 0, 0, 29 },
{ 8, TERM5, TERM5_block, 18 }, { 8, HANGAR, HANGAR2_AREA_block, 18 }, { 8, 0, 0, 18 },
{ 9, TERM6, TERM6_block, 19 }, { 9, HANGAR, HANGAR2_AREA_block, 19 }, { 9, 0, 0, 19 },
Status change: