Changeset - r13957:c51a5adbf84e
[Not reviewed]
master
0 1 0
yexo - 15 years ago 2009-12-14 23:35:38
yexo@openttd.org
(svn r18505) -Fix [FS#3169]: improve airport movement on several airports
1 file changed with 17 insertions and 17 deletions:
0 comments (0 inline, 0 general)
src/airport_movement.h
Show inline comments
 
@@ -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(   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(   70,   33, 0,                               DIR_N ), // 06 Taxiway terminals 2-3
 
	AMD(   44,   58, 0,                               DIR_N ), // 07 Taxi to Airport center
 
	AMD(   80,   27, 0,                               DIR_N ), // 06 Taxiway terminals 2-3
 
	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 },
 
	{  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 },
 
	{  3, TERM2, TERM2_block, 5 },
 
	{  3, TERM2, TERM2_block, 6 },
 
	{  4, TERM3, TERM3_block, 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, 0, 8 }, { 7, HELITAKEOFF, 0, 23 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
 
	{  8, 0, OUT_WAY_block, 9 },
 
	{  9, 0, RUNWAY_OUT_block, 10 },
 
	/* takeoff */
 
	{ 10, TAKEOFF, RUNWAY_OUT_block, 11 },
 
	{ 11, STARTTAKEOFF, NOTHING_block, 12 },
 
@@ -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 },
0 comments (0 inline, 0 general)