src/airport_movement.h
branchcpp_gui
changeset 6285 187e3ef04cc9
parent 6268 4b5241e5dd10
child 6298 c30fe89622df
equal deleted inserted replaced
6284:45d0233e7d79 6285:187e3ef04cc9
    84 	{   40,    8, AMED_EXACTPOS,                   {DIR_N} }, // pre-helitakeoff helipad 1
    84 	{   40,    8, AMED_EXACTPOS,                   {DIR_N} }, // pre-helitakeoff helipad 1
    85 	{   56,    8, AMED_EXACTPOS,                   {DIR_N} }, // pre-helitakeoff helipad 2
    85 	{   56,    8, AMED_EXACTPOS,                   {DIR_N} }, // pre-helitakeoff helipad 2
    86 };
    86 };
    87 
    87 
    88 // City Airport (large) 6x6
    88 // City Airport (large) 6x6
    89 static const AirportMovingData _airport_moving_data_town[25] = {
    89 static const AirportMovingData _airport_moving_data_town[] = {
    90 	{   85,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
    90 	{   85,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
    91 	{   85,   27, 0,                               {DIR_N} }, // 01 Taxi to right outside depot
    91 	{   85,   27, 0,                               {DIR_N} }, // 01 Taxi to right outside depot
    92 	{   26,   41, AMED_EXACTPOS,                   {DIR_SW} }, // 02 Terminal 1
    92 	{   26,   41, AMED_EXACTPOS,                   {DIR_SW} }, // 02 Terminal 1
    93 	{   56,   20, AMED_EXACTPOS,                   {DIR_SE} }, // 03 Terminal 2
    93 	{   56,   20, AMED_EXACTPOS,                   {DIR_SE} }, // 03 Terminal 2
    94 	{   38,    8, AMED_EXACTPOS,                   {DIR_SW} }, // 04 Terminal 3
    94 	{   38,    8, AMED_EXACTPOS,                   {DIR_SW} }, // 04 Terminal 3
    98 	{   58,   71, 0,                               {DIR_N} }, // 08 Towards takeoff
    98 	{   58,   71, 0,                               {DIR_N} }, // 08 Towards takeoff
    99 	{   72,   85, 0,                               {DIR_N} }, // 09 Taxi to runway (takeoff)
    99 	{   72,   85, 0,                               {DIR_N} }, // 09 Taxi to runway (takeoff)
   100 	{   89,   85, AMED_EXACTPOS,                   {DIR_NE} }, // 10 Taxi to start of runway (takeoff)
   100 	{   89,   85, AMED_EXACTPOS,                   {DIR_NE} }, // 10 Taxi to start of runway (takeoff)
   101 	{    3,   85, AMED_NOSPDCLAMP,                 {DIR_N} }, // 11 Accelerate to end of runway
   101 	{    3,   85, AMED_NOSPDCLAMP,                 {DIR_N} }, // 11 Accelerate to end of runway
   102 	{  -79,   85, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 12 Take off
   102 	{  -79,   85, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 12 Take off
   103 	{  177,   85, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 13 Fly to landing position in air
   103 	{  177,   87, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 13 Fly to landing position in air
   104 	{   89,   85, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 14 Going down for land
   104 	{   89,   87, AMED_HOLD       | AMED_LAND,     {DIR_N} }, // 14 Going down for land
   105 	{    3,   85, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 15 Just landed, brake until end of runway
   105 	{   20,   87, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 15 Just landed, brake until end of runway
   106 	{   20,   87, 0,                               {DIR_N} }, // 16 Just landed, turn around and taxi 1 square
   106 	{   20,   87, 0,                               {DIR_N} }, // 16 Just landed, turn around and taxi 1 square /* NOT USED */
   107 	{   36,   71, 0,                               {DIR_N} }, // 17 Taxi from runway to crossing
   107 	{   36,   71, 0,                               {DIR_N} }, // 17 Taxi from runway to crossing
   108 	{  -31,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 18 Fly around waiting for a landing spot (north-east)
   108 	{  160,   87, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 18 Fly around waiting for a landing spot (north-east)
   109 	{    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 19 Fly around waiting for a landing spot (north-west)
   109 	{  140,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 19 Final approach fix
   110 	{  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 20 Fly around waiting for a landing spot (south-west)
   110 	{  257,    1, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 20 Fly around waiting for a landing spot (south-west)
   111 	{  273,   49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 21 Fly around waiting for a landing spot (south)
   111 	{  273,   49, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 21 Fly around waiting for a landing spot (south)
   112 	{   44,   63, AMED_HELI_RAISE,                 {DIR_N} }, // 22 Helicopter takeoff
   112 	{   44,   63, AMED_HELI_RAISE,                 {DIR_N} }, // 22 Helicopter takeoff
   113 	{   28,   74, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 23 In position above landing spot helicopter
   113 	{   28,   74, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 23 In position above landing spot helicopter
   114 	{   28,   74, AMED_HELI_LOWER,                 {DIR_N} }, // 24 Helicopter landing
   114 	{   28,   74, AMED_HELI_LOWER,                 {DIR_N} }, // 24 Helicopter landing
       
   115 	{  145,    1, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 25 Fly around waiting for a landing spot (north-west)
       
   116 	{  -32,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 26 Initial approach fix (north)
       
   117 	{  300,  -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 27 Initial approach fix (south)
       
   118 	{  140,  -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 28 Intermediadate Approach fix (south), IAF (west)
       
   119 	{  -32,  120, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 29 Initial approach fix (east)
   115 };
   120 };
   116 
   121 
   117 // Metropolitan Airport (metropolitan) - 2 runways
   122 // Metropolitan Airport (metropolitan) - 2 runways
   118 static const AirportMovingData _airport_moving_data_metropolitan[27] = {
   123 static const AirportMovingData _airport_moving_data_metropolitan[27] = {
   119 	{   85,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
   124 	{   85,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
   456 	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
   461 	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
   457 };
   462 };
   458 
   463 
   459 static const TileIndexDiffC _airport_depots_city[] = { { 5, 0 } };
   464 static const TileIndexDiffC _airport_depots_city[] = { { 5, 0 } };
   460 static const byte _airport_terminal_city[] = { 1, 3 };
   465 static const byte _airport_terminal_city[] = { 1, 3 };
   461 static const byte _airport_entries_city[] = {19, 19, 19, 19};
   466 static const byte _airport_entries_city[] = {26, 29, 27, 28};
   462 static const AirportFTAbuildup _airport_fta_city[] = {
   467 static const AirportFTAbuildup _airport_fta_city[] = {
   463 	{  0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, 0, 0, 1 },
   468 	{  0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, 0, 0, 1 },
   464 	{  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
   469 	{  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
   465 	{  2, TERM1, TERM1_block, 7 }, { 2, TAKEOFF, OUT_WAY_block, 7 }, { 2, 0, 0, 7 },
   470 	{  2, TERM1, TERM1_block, 7 }, { 2, TAKEOFF, OUT_WAY_block, 7 }, { 2, 0, 0, 7 },
   466 	{  3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 5 }, { 3, 0, 0, 5 },
   471 	{  3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 5 }, { 3, 0, 0, 5 },
   475 	{ 11, STARTTAKEOFF, NOTHING_block, 12 },
   480 	{ 11, STARTTAKEOFF, NOTHING_block, 12 },
   476 	{ 12, ENDTAKEOFF, NOTHING_block, 0 },
   481 	{ 12, ENDTAKEOFF, NOTHING_block, 0 },
   477 	// landing
   482 	// landing
   478 	{ 13, FLYING, NOTHING_block, 18 }, { 13, LANDING, 0, 14 }, { 13, HELILANDING, 0, 23 },
   483 	{ 13, FLYING, NOTHING_block, 18 }, { 13, LANDING, 0, 14 }, { 13, HELILANDING, 0, 23 },
   479 	{ 14, LANDING, RUNWAY_IN_OUT_block, 15 },
   484 	{ 14, LANDING, RUNWAY_IN_OUT_block, 15 },
   480 	{ 15, 0, RUNWAY_IN_OUT_block, 16 },
   485 	{ 15, 0, RUNWAY_IN_OUT_block, 17 },
   481 	{ 16, 0, RUNWAY_IN_OUT_block, 17 },
   486 	{ 16, 0, RUNWAY_IN_OUT_block, 17 }, /* not used, left for compatibility */
   482 	{ 17, ENDLANDING, IN_WAY_block, 7 },
   487 	{ 17, ENDLANDING, IN_WAY_block, 7 },
   483 	// In Air
   488 	// In Air
   484 	{ 18, 0, NOTHING_block, 19 },
   489 	{ 18, 0, NOTHING_block, 25 },
   485 	{ 19, 0, NOTHING_block, 20 },
   490 	{ 19, 0, NOTHING_block, 20 },
   486 	{ 20, 0, NOTHING_block, 21 },
   491 	{ 20, 0, NOTHING_block, 21 },
   487 	{ 21, 0, NOTHING_block, 13 },
   492 	{ 21, 0, NOTHING_block, 13 },
   488 	// helicopter
   493 	// helicopter
   489 	{ 22, HELITAKEOFF, NOTHING_block, 0 },
   494 	{ 22, HELITAKEOFF, NOTHING_block, 0 },
   490 	{ 23, HELILANDING, IN_WAY_block, 24 },
   495 	{ 23, HELILANDING, IN_WAY_block, 24 },
   491 	{ 24, HELIENDLANDING, IN_WAY_block, 17 },
   496 	{ 24, HELIENDLANDING, IN_WAY_block, 17 },
       
   497 	{ 25, 0, NOTHING_block, 20},
       
   498 	{ 26, 0, NOTHING_block, 19},
       
   499 	{ 27, 0, NOTHING_block, 28},
       
   500 	{ 28, 0, NOTHING_block, 19},
       
   501 	{ 29, 0, NOTHING_block, 26},
   492 	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
   502 	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
   493 };
   503 };
   494 
   504 
   495 static const TileIndexDiffC _airport_depots_metropolitan[] = { { 5, 0 } };
   505 static const TileIndexDiffC _airport_depots_metropolitan[] = { { 5, 0 } };
   496 static const byte _airport_terminal_metropolitan[] = { 1, 3 };
   506 static const byte _airport_terminal_metropolitan[] = { 1, 3 };