12 #ifndef AIRPORT_MOVEMENT_H
13 #define AIRPORT_MOVEMENT_H
37 #define AMD(x, y, flags, dir) { x, y, flags, {dir} }
409 static const byte _airport_entries_dummy[] = {0, 1, 2, 3};
421 static const byte _airport_terminal_country[] = {1, 2};
422 static const byte _airport_entries_country[] = {16, 15, 18, 17};
424 { 0,
HANGAR, NOTHING_block, 1 },
425 { 1, 255, AIRPORT_BUSY_block, 0 }, { 1,
HANGAR, 0, 0 }, { 1,
TERM1,
TERM1_block, 2 }, { 1,
TERM2, 0, 4 }, { 1,
HELITAKEOFF, 0, 19 }, { 1, 0, 0, 6 },
428 { 4, 255, AIRPORT_BUSY_block, 0 }, { 4,
TERM2, 0, 5 }, { 4,
HANGAR, 0, 1 }, { 4,
TAKEOFF, 0, 6 }, { 4,
HELITAKEOFF, 0, 1 },
429 { 5, 255, AIRPORT_BUSY_block, 0 }, { 5,
TERM2,
TERM2_block, 3 }, { 5, 0, 0, 4 },
430 { 6, 0, AIRPORT_BUSY_block, 7 },
432 { 7,
TAKEOFF, AIRPORT_BUSY_block, 8 },
436 { 10,
FLYING, NOTHING_block, 15 }, { 10,
LANDING, 0, 11 }, { 10,
HELILANDING, 0, 20 },
437 { 11,
LANDING, AIRPORT_BUSY_block, 12 },
438 { 12, 0, AIRPORT_BUSY_block, 13 },
439 { 13,
ENDLANDING, AIRPORT_BUSY_block, 14 }, { 13,
TERM2, 0, 5 }, { 13, 0, 0, 14 },
440 { 14, 0, AIRPORT_BUSY_block, 1 },
442 { 15, 0, NOTHING_block, 16 },
443 { 16, 0, NOTHING_block, 17 },
444 { 17, 0, NOTHING_block, 18 },
445 { 18, 0, NOTHING_block, 10 },
453 static const byte _airport_terminal_commuter[] = { 1, 3 };
454 static const byte _airport_entries_commuter[] = {22, 21, 24, 23};
456 { 0,
HANGAR, NOTHING_block, 1 }, { 0,
HELITAKEOFF,
HELIPAD2_block, 1 }, { 0, 0, 0, 1 },
457 { 1, 255, TAXIWAY_BUSY_block, 0 }, { 1,
HANGAR, 0, 0 }, { 1,
TAKEOFF, 0, 11 }, { 1,
TERM1, TAXIWAY_BUSY_block, 10 }, { 1,
TERM2, TAXIWAY_BUSY_block, 10 }, { 1,
TERM3, TAXIWAY_BUSY_block, 10 }, { 1,
HELIPAD1, TAXIWAY_BUSY_block, 10 }, { 1,
HELIPAD2, TAXIWAY_BUSY_block, 10 }, { 1,
HELITAKEOFF, TAXIWAY_BUSY_block, 10 }, { 1, 0, 0, 0 },
458 { 2, 255, AIRPORT_ENTRANCE_block, 2 }, { 2,
HANGAR, 0, 8 }, { 2,
TERM1, 0, 8 }, { 2,
TERM2, 0, 8 }, { 2,
TERM3, 0, 8 }, { 2,
HELIPAD1, 0, 8 }, { 2,
HELIPAD2, 0, 8 }, { 2,
HELITAKEOFF, 0, 8 }, { 2, 0, 0, 2 },
459 { 3,
TERM1,
TERM1_block, 8 }, { 3,
HANGAR, 0, 8 }, { 3,
TAKEOFF, 0, 8 }, { 3, 0, 0, 3 },
460 { 4,
TERM2,
TERM2_block, 9 }, { 4,
HANGAR, 0, 9 }, { 4,
TAKEOFF, 0, 9 }, { 4, 0, 0, 4 },
461 { 5,
TERM3,
TERM3_block, 10 }, { 5,
HANGAR, 0, 10 }, { 5,
TAKEOFF, 0, 10 }, { 5, 0, 0, 5 },
462 { 6,
HELIPAD1,
HELIPAD1_block, 6 }, { 6,
HANGAR, TAXIWAY_BUSY_block, 9 }, { 6,
HELITAKEOFF, 0, 35 },
463 { 7,
HELIPAD2,
HELIPAD2_block, 7 }, { 7,
HANGAR, TAXIWAY_BUSY_block, 10 }, { 7,
HELITAKEOFF, 0, 36 },
464 { 8, 255, TAXIWAY_BUSY_block, 8 }, { 8,
TAKEOFF, TAXIWAY_BUSY_block, 9 }, { 8,
HANGAR, TAXIWAY_BUSY_block, 9 }, { 8,
TERM1,
TERM1_block, 3 }, { 8, 0, TAXIWAY_BUSY_block, 9 },
465 { 9, 255, TAXIWAY_BUSY_block, 9 }, { 9,
TAKEOFF, TAXIWAY_BUSY_block, 10 }, { 9,
HANGAR, TAXIWAY_BUSY_block, 10 }, { 9,
TERM2,
TERM2_block, 4 }, { 9,
HELIPAD1,
HELIPAD1_block, 6 }, { 9,
HELITAKEOFF,
HELIPAD1_block, 6 }, { 9,
TERM1, TAXIWAY_BUSY_block, 8 }, { 9, 0, TAXIWAY_BUSY_block, 10 },
466 { 10, 255, TAXIWAY_BUSY_block, 10 }, { 10,
TERM3,
TERM3_block, 5 }, { 10,
HELIPAD1, 0, 9 }, { 10,
HELIPAD2,
HELIPAD2_block, 7 }, { 10,
HELITAKEOFF,
HELIPAD2_block, 7 }, { 10,
TAKEOFF, TAXIWAY_BUSY_block, 1 }, { 10,
HANGAR, TAXIWAY_BUSY_block, 1 }, { 10, 0, TAXIWAY_BUSY_block, 9 },
467 { 11, 0, OUT_WAY_block, 12 },
469 { 12,
TAKEOFF, RUNWAY_IN_OUT_block, 13 },
470 { 13, 0, RUNWAY_IN_OUT_block, 14 },
474 { 16,
FLYING, NOTHING_block, 21 }, { 16,
LANDING, IN_WAY_block, 17 }, { 16,
HELILANDING, 0, 25 },
475 { 17,
LANDING, RUNWAY_IN_OUT_block, 18 },
476 { 18, 0, RUNWAY_IN_OUT_block, 19 },
477 { 19, 0, RUNWAY_IN_OUT_block, 20 },
480 { 21, 0, NOTHING_block, 22 },
481 { 22, 0, NOTHING_block, 23 },
482 { 23, 0, NOTHING_block, 24 },
483 { 24, 0, NOTHING_block, 16 },
486 { 26,
HELIENDLANDING, PRE_HELIPAD_block, 26 }, { 26,
HELIPAD1, 0, 27 }, { 26,
HELIPAD2, 0, 28 }, { 26,
HANGAR, 0, 33 },
487 { 27, 0, NOTHING_block, 29 },
488 { 28, 0, NOTHING_block, 30 },
495 { 33, 0, TAXIWAY_BUSY_block, 34 },
496 { 34, 0, TAXIWAY_BUSY_block, 1 },
503 static const byte _airport_terminal_city[] = { 1, 3 };
504 static const byte _airport_entries_city[] = {26, 29, 27, 28};
506 { 0,
HANGAR, NOTHING_block, 1 }, { 0,
TAKEOFF, OUT_WAY_block, 1 }, { 0, 0, 0, 1 },
507 { 1, 255, TAXIWAY_BUSY_block, 0 }, { 1,
HANGAR, 0, 0 }, { 1,
TERM2, 0, 6 }, { 1,
TERM3, 0, 6 }, { 1, 0, 0, 7 },
508 { 2,
TERM1,
TERM1_block, 7 }, { 2,
TAKEOFF, OUT_WAY_block, 7 }, { 2, 0, 0, 7 },
509 { 3,
TERM2,
TERM2_block, 5 }, { 3,
TAKEOFF, OUT_WAY_block, 6 }, { 3, 0, 0, 6 },
510 { 4,
TERM3,
TERM3_block, 5 }, { 4,
TAKEOFF, OUT_WAY_block, 5 }, { 4, 0, 0, 5 },
511 { 5, 255, TAXIWAY_BUSY_block, 0 }, { 5,
TERM2,
TERM2_block, 3 }, { 5,
TERM3,
TERM3_block, 4 }, { 5, 0, 0, 6 },
512 { 6, 255, TAXIWAY_BUSY_block, 0 }, { 6,
TERM2,
TERM2_block, 3 }, { 6,
TERM3, 0, 5 }, { 6,
HANGAR, 0, 1 }, { 6, 0, 0, 7 },
513 { 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 },
514 { 8, 0, OUT_WAY_block, 9 },
515 { 9, 0, RUNWAY_IN_OUT_block, 10 },
517 { 10,
TAKEOFF, RUNWAY_IN_OUT_block, 11 },
521 { 13,
FLYING, NOTHING_block, 18 }, { 13,
LANDING, 0, 14 }, { 13,
HELILANDING, 0, 23 },
522 { 14,
LANDING, RUNWAY_IN_OUT_block, 15 },
523 { 15, 0, RUNWAY_IN_OUT_block, 17 },
524 { 16, 0, RUNWAY_IN_OUT_block, 17 },
527 { 18, 0, NOTHING_block, 25 },
528 { 19, 0, NOTHING_block, 20 },
529 { 20, 0, NOTHING_block, 21 },
530 { 21, 0, NOTHING_block, 13 },
535 { 25, 0, NOTHING_block, 20},
536 { 26, 0, NOTHING_block, 19},
537 { 27, 0, NOTHING_block, 28},
538 { 28, 0, NOTHING_block, 19},
539 { 29, 0, NOTHING_block, 26},
544 static const byte _airport_terminal_metropolitan[] = { 1, 3 };
545 static const byte _airport_entries_metropolitan[] = {20, 19, 22, 21};
547 { 0,
HANGAR, NOTHING_block, 1 },
548 { 1, 255, TAXIWAY_BUSY_block, 0 }, { 1,
HANGAR, 0, 0 }, { 1,
TERM2, 0, 6 }, { 1,
TERM3, 0, 6 }, { 1, 0, 0, 7 },
552 { 5, 255, TAXIWAY_BUSY_block, 0 }, { 5,
TERM2,
TERM2_block, 3 }, { 5,
TERM3,
TERM3_block, 4 }, { 5, 0, 0, 6 },
553 { 6, 255, TAXIWAY_BUSY_block, 0 }, { 6,
TERM2,
TERM2_block, 3 }, { 6,
TERM3, 0, 5 }, { 6,
HANGAR, 0, 1 }, { 6, 0, 0, 7 },
554 { 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 },
555 { 8, 0, OUT_WAY_block, 9 },
556 { 9, 0, RUNWAY_OUT_block, 10 },
558 { 10,
TAKEOFF, RUNWAY_OUT_block, 11 },
562 { 13,
FLYING, NOTHING_block, 19 }, { 13,
LANDING, 0, 14 }, { 13,
HELILANDING, 0, 25 },
563 { 14,
LANDING, RUNWAY_IN_block, 15 },
564 { 15, 0, RUNWAY_IN_block, 16 },
565 { 16, 255, RUNWAY_IN_block, 0 }, { 16,
ENDLANDING, IN_WAY_block, 17 },
566 { 17, 255, RUNWAY_OUT_block, 0 }, { 17,
ENDLANDING, IN_WAY_block, 18 },
569 { 19, 0, NOTHING_block, 20 },
570 { 20, 0, NOTHING_block, 21 },
571 { 21, 0, NOTHING_block, 22 },
572 { 22, 0, NOTHING_block, 13 },
574 { 23, 0, NOTHING_block, 24 },
578 { 27, 255, TAXIWAY_BUSY_block, 27 }, { 27,
TERM1,
TERM1_block, 2 }, { 27, 0, 0, 7 },
583 static const byte _airport_terminal_international[] = { 2, 3, 3 };
584 static const byte _airport_entries_international[] = { 38, 37, 40, 39 };
586 { 0,
HANGAR, NOTHING_block, 2 }, { 0, 255, TERM_GROUP1_block, 0 }, { 0, 255, TERM_GROUP2_ENTER1_block, 1 }, { 0,
HELITAKEOFF,
HELIPAD1_block, 2 }, { 0, 0, 0, 2 },
587 { 1,
HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1,
HELITAKEOFF,
HELIPAD2_block, 3 }, { 1, 0, 0, 3 },
588 { 2, 255, AIRPORT_ENTRANCE_block, 0 }, { 2,
HANGAR, 0, 0 }, { 2,
TERM4, 0, 12 }, { 2,
TERM5, 0, 12 }, { 2,
TERM6, 0, 12 }, { 2,
HELIPAD1, 0, 12 }, { 2,
HELIPAD2, 0, 12 }, { 2,
HELITAKEOFF, 0, 12 }, { 2, 0, 0, 23 },
589 { 3, 255, HANGAR2_AREA_block, 0 }, { 3,
HANGAR, 0, 1 }, { 3, 0, 0, 18 },
590 { 4,
TERM1,
TERM1_block, 23 }, { 4,
HANGAR, AIRPORT_ENTRANCE_block, 23 }, { 4, 0, 0, 23 },
591 { 5,
TERM2,
TERM2_block, 24 }, { 5,
HANGAR, AIRPORT_ENTRANCE_block, 24 }, { 5, 0, 0, 24 },
592 { 6,
TERM3,
TERM3_block, 25 }, { 6,
HANGAR, AIRPORT_ENTRANCE_block, 25 }, { 6, 0, 0, 25 },
593 { 7,
TERM4,
TERM4_block, 16 }, { 7,
HANGAR, HANGAR2_AREA_block, 16 }, { 7, 0, 0, 16 },
594 { 8,
TERM5,
TERM5_block, 17 }, { 8,
HANGAR, HANGAR2_AREA_block, 17 }, { 8, 0, 0, 17 },
595 { 9,
TERM6,
TERM6_block, 18 }, { 9,
HANGAR, HANGAR2_AREA_block, 18 }, { 9, 0, 0, 18 },
596 { 10,
HELIPAD1,
HELIPAD1_block, 10 }, { 10,
HANGAR, HANGAR2_AREA_block, 16 }, { 10,
HELITAKEOFF, 0, 47 },
597 { 11,
HELIPAD2,
HELIPAD2_block, 11 }, { 11,
HANGAR, HANGAR2_AREA_block, 17 }, { 11,
HELITAKEOFF, 0, 48 },
598 { 12, 0, TERM_GROUP2_ENTER1_block, 13 },
599 { 13, 0, TERM_GROUP2_ENTER1_block, 14 },
600 { 14, 0, TERM_GROUP2_ENTER2_block, 15 },
601 { 15, 0, TERM_GROUP2_ENTER2_block, 16 },
602 { 16, 255, TERM_GROUP2_block, 0 }, { 16,
TERM4,
TERM4_block, 7 }, { 16,
HELIPAD1,
HELIPAD1_block, 10 }, { 16,
HELITAKEOFF,
HELIPAD1_block, 10 }, { 16, 0, 0, 17 },
603 { 17, 255, TERM_GROUP2_block, 0 }, { 17,
TERM5,
TERM5_block, 8 }, { 17,
TERM4, 0, 16 }, { 17,
HELIPAD1, 0, 16 }, { 17,
HELIPAD2,
HELIPAD2_block, 11 }, { 17,
HELITAKEOFF,
HELIPAD2_block, 11 }, { 17, 0, 0, 18 },
604 { 18, 255, TERM_GROUP2_block, 0 }, { 18,
TERM6,
TERM6_block, 9 }, { 18,
TAKEOFF, 0, 19 }, { 18,
HANGAR, HANGAR2_AREA_block, 3 }, { 18, 0, 0, 17 },
605 { 19, 0, TERM_GROUP2_EXIT1_block, 20 },
606 { 20, 0, TERM_GROUP2_EXIT1_block, 21 },
607 { 21, 0, TERM_GROUP2_EXIT2_block, 22 },
608 { 22, 0, TERM_GROUP2_EXIT2_block, 26 },
609 { 23, 255, TERM_GROUP1_block, 0 }, { 23,
TERM1,
TERM1_block, 4 }, { 23,
HANGAR, AIRPORT_ENTRANCE_block, 2 }, { 23, 0, 0, 24 },
610 { 24, 255, TERM_GROUP1_block, 0 }, { 24,
TERM2,
TERM2_block, 5 }, { 24,
TERM1, 0, 23 }, { 24,
HANGAR, 0, 23 }, { 24, 0, 0, 25 },
611 { 25, 255, TERM_GROUP1_block, 0 }, { 25,
TERM3,
TERM3_block, 6 }, { 25,
TAKEOFF, 0, 26 }, { 25, 0, 0, 24 },
612 { 26, 255, TAXIWAY_BUSY_block, 0 }, { 26,
TAKEOFF, 0, 27 }, { 26, 0, 0, 25 },
613 { 27, 0, OUT_WAY_block, 28 },
615 { 28,
TAKEOFF, OUT_WAY_block, 29 },
616 { 29, 0, RUNWAY_OUT_block, 30 },
620 { 32,
FLYING, NOTHING_block, 37 }, { 32,
LANDING, 0, 33 }, { 32,
HELILANDING, 0, 41 },
621 { 33,
LANDING, RUNWAY_IN_block, 34 },
622 { 34, 0, RUNWAY_IN_block, 35 },
623 { 35, 0, RUNWAY_IN_block, 36 },
624 { 36,
ENDLANDING, IN_WAY_block, 36 }, { 36, 255, TERM_GROUP1_block, 0 }, { 36, 255, TERM_GROUP2_ENTER1_block, 1 }, { 36,
TERM4, 0, 12 }, { 36,
TERM5, 0, 12 }, { 36,
TERM6, 0, 12 }, { 36, 0, 0, 2 },
626 { 37, 0, NOTHING_block, 38 },
627 { 38, 0, NOTHING_block, 39 },
628 { 39, 0, NOTHING_block, 40 },
629 { 40, 0, NOTHING_block, 32 },
632 { 42,
HELIENDLANDING, PRE_HELIPAD_block, 42 }, { 42,
HELIPAD1, 0, 43 }, { 42,
HELIPAD2, 0, 44 }, { 42,
HANGAR, 0, 49 },
633 { 43, 0, NOTHING_block, 45 },
634 { 44, 0, NOTHING_block, 46 },
641 { 49, 0, HANGAR2_AREA_block, 50 },
642 { 50, 0, HANGAR2_AREA_block, 3 },
648 static const byte _airport_terminal_intercontinental[] = { 2, 4, 4 };
649 static const byte _airport_entries_intercontinental[] = { 44, 43, 46, 45 };
651 { 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 },
652 { 1,
HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1, 255, HANGAR2_AREA_block, 0 }, { 1, 0, 0, 3 },
653 { 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 },
654 { 3, 255, HANGAR2_AREA_block, 0 }, { 3,
HANGAR, 0, 1 }, { 3,
HELITAKEOFF, 0, 75 }, {3,
TAKEOFF, 0, 59}, { 3, 0, 0, 20 },
655 { 4,
TERM1,
TERM1_block, 26 }, { 4,
HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 26 }, { 4, 0, 0, 26 },
656 { 5,
TERM2,
TERM2_block, 27 }, { 5,
HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 27 }, { 5, 0, 0, 27 },
657 { 6,
TERM3,
TERM3_block, 28 }, { 6,
HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 28 }, { 6, 0, 0, 28 },
658 { 7,
TERM4,
TERM4_block, 29 }, { 7,
HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 7, 0, 0, 29 },
659 { 8,
TERM5,
TERM5_block, 18 }, { 8,
HANGAR, HANGAR2_AREA_block, 18 }, { 8, 0, 0, 18 },
660 { 9,
TERM6,
TERM6_block, 19 }, { 9,
HANGAR, HANGAR2_AREA_block, 19 }, { 9, 0, 0, 19 },
661 { 10,
TERM7,
TERM7_block, 20 }, { 10,
HANGAR, HANGAR2_AREA_block, 20 }, { 10, 0, 0, 20 },
662 { 11,
TERM8,
TERM8_block, 21 }, { 11,
HANGAR, HANGAR2_AREA_block, 21 }, { 11, 0, 0, 21 },
663 { 12,
HELIPAD1,
HELIPAD1_block, 12 }, { 12,
HANGAR, 0, 70 }, { 12,
HELITAKEOFF, 0, 72 },
664 { 13,
HELIPAD2,
HELIPAD2_block, 13 }, { 13,
HANGAR, 0, 71 }, { 13,
HELITAKEOFF, 0, 73 },
665 { 14, 0, TERM_GROUP2_ENTER1_block, 15 },
666 { 15, 0, TERM_GROUP2_ENTER1_block, 16 },
667 { 16, 0, TERM_GROUP2_ENTER2_block, 17 },
668 { 17, 0, TERM_GROUP2_ENTER2_block, 18 },
669 { 18, 255, TERM_GROUP2_block, 0 }, { 18,
TERM5,
TERM5_block, 8 }, { 18,
TAKEOFF, 0, 19 }, { 18,
HELITAKEOFF,
HELIPAD1_block, 19 }, { 18, 0, TERM_GROUP2_EXIT1_block, 19 },
670 { 19, 255, TERM_GROUP2_block, 0 }, { 19,
TERM6,
TERM6_block, 9 }, { 19,
TERM5, 0, 18 }, { 19,
TAKEOFF, 0, 57 }, { 19,
HELITAKEOFF,
HELIPAD1_block, 20 }, { 19, 0, TERM_GROUP2_EXIT1_block, 20 },
671 { 20, 255, TERM_GROUP2_block, 0 }, { 20,
TERM7,
TERM7_block, 10 }, { 20,
TERM5, 0, 19 }, { 20,
TERM6, 0, 19 }, { 20,
HANGAR, HANGAR2_AREA_block, 3 }, { 20,
TAKEOFF, 0, 19 }, { 20, 0, TERM_GROUP2_EXIT1_block, 21 },
672 { 21, 255, TERM_GROUP2_block, 0 }, { 21,
TERM8,
TERM8_block, 11 }, { 21,
HANGAR, HANGAR2_AREA_block, 20 }, { 21,
TERM5, 0, 20 }, { 21,
TERM6, 0, 20 }, { 21,
TERM7, 0, 20 }, { 21,
TAKEOFF, 0, 20 }, { 21, 0, TERM_GROUP2_EXIT1_block, 22 },
673 { 22, 255, TERM_GROUP2_block, 0 }, { 22,
HANGAR, 0, 21 }, { 22,
TERM5, 0, 21 }, { 22,
TERM6, 0, 21 }, { 22,
TERM7, 0, 21 }, { 22,
TERM8, 0, 21 }, { 22,
TAKEOFF, 0, 21 }, { 22, 0, 0, 23 },
674 { 23, 0, TERM_GROUP2_EXIT1_block, 70 },
675 { 24, 0, TERM_GROUP2_EXIT2_block, 25 },
676 { 25, 255, TERM_GROUP2_EXIT2_block, 0 }, { 25,
HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 25, 0, 0, 29 },
677 { 26, 255, TERM_GROUP1_block, 0 }, { 26,
TERM1,
TERM1_block, 4 }, { 26,
HANGAR, HANGAR1_AREA_block, 27 }, { 26,
TERM5, TERM_GROUP2_ENTER1_block, 14 }, { 26,
TERM6, TERM_GROUP2_ENTER1_block, 14 }, { 26,
TERM7, TERM_GROUP2_ENTER1_block, 14 }, { 26,
TERM8, TERM_GROUP2_ENTER1_block, 14 }, { 26,
HELIPAD1, TERM_GROUP2_ENTER1_block, 14 }, { 26,
HELIPAD2, TERM_GROUP2_ENTER1_block, 14 }, { 26,
HELITAKEOFF, TERM_GROUP2_ENTER1_block, 14 }, { 26, 0, 0, 27 },
678 { 27, 255, TERM_GROUP1_block, 0 }, { 27,
TERM2,
TERM2_block, 5 }, { 27,
HANGAR, HANGAR1_AREA_block, 2 }, { 27,
TERM1, 0, 26 }, { 27,
TERM5, 0, 26 }, { 27,
TERM6, 0, 26 }, { 27,
TERM7, 0, 26 }, { 27,
TERM8, 0, 26 }, { 27,
HELIPAD1, 0, 14 }, { 27,
HELIPAD2, 0, 14 }, { 27, 0, 0, 28 },
679 { 28, 255, TERM_GROUP1_block, 0 }, { 28,
TERM3,
TERM3_block, 6 }, { 28,
HANGAR, HANGAR1_AREA_block, 27 }, { 28,
TERM1, 0, 27 }, { 28,
TERM2, 0, 27 }, { 28,
TERM4, 0, 29 }, { 28,
TERM5, 0, 14 }, { 28,
TERM6, 0, 14 }, { 28,
TERM7, 0, 14 }, { 28,
TERM8, 0, 14 }, { 28,
HELIPAD1, 0, 14 }, { 28,
HELIPAD2, 0, 14 }, { 28, 0, 0, 29 },
680 { 29, 255, TERM_GROUP1_block, 0 }, { 29,
TERM4,
TERM4_block, 7 }, { 29,
HANGAR, HANGAR1_AREA_block, 27 }, { 29,
TAKEOFF, 0, 30 }, { 29, 0, 0, 28 },
681 { 30, 0, OUT_WAY_block2, 31 },
682 { 31, 0, OUT_WAY_block, 32 },
684 { 32,
TAKEOFF, RUNWAY_OUT_block, 33 },
685 { 33, 0, RUNWAY_OUT_block, 34 },
690 { 37,
LANDING, RUNWAY_IN_block, 38 },
691 { 38, 0, RUNWAY_IN_block, 39 },
692 { 39, 0, RUNWAY_IN_block, 40 },
694 { 41, 0, IN_WAY_block, 42 },
695 { 42, 255, IN_WAY_block, 0 }, { 42, 255, TERM_GROUP1_block, 0 }, { 42, 255, TERM_GROUP1_block, 1 }, { 42,
HANGAR, 0, 2 }, { 42, 0, 0, 26 },
698 { 44,
FLYING, 0, 45 }, { 44,
HELILANDING, 0, 47 }, { 44,
LANDING, 0, 69 }, { 44, 0, 0, 45 },
700 { 46,
FLYING, 0, 43 }, { 46,
LANDING, 0, 76 }, { 46, 0, 0, 43 },
703 { 48,
HELIENDLANDING, PRE_HELIPAD_block, 48 }, { 48,
HELIPAD1, 0, 49 }, { 48,
HELIPAD2, 0, 50 }, { 48,
HANGAR, 0, 55 },
704 { 49, 0, NOTHING_block, 51 },
705 { 50, 0, NOTHING_block, 52 },
707 { 51, 255, NOTHING_block, 0 }, { 51,
HELIPAD1,
HELIPAD1_block, 12 }, { 51,
HANGAR, 0, 55 }, { 51, 0, 0, 12 },
708 { 52, 255, NOTHING_block, 0 }, { 52,
HELIPAD2,
HELIPAD2_block, 13 }, { 52,
HANGAR, 0, 55 }, { 52, 0, 0, 13 },
712 { 55, 0, HANGAR2_AREA_block, 56 },
713 { 56, 0, HANGAR2_AREA_block, 3 },
715 { 57, 255, OUT_WAY2_block, 0 }, { 57,
TAKEOFF, 0, 58 }, { 57, 0, 0, 58 },
716 { 58, 0, OUT_WAY2_block, 59 },
722 { 63,
LANDING, RUNWAY_IN2_block, 64 },
723 { 64, 0, RUNWAY_IN2_block, 65 },
724 { 65, 0, RUNWAY_IN2_block, 66 },
725 { 66,
ENDLANDING, RUNWAY_IN2_block, 0 }, { 66, 255, 0, 1 }, { 66, 255, 0, 0 }, { 66, 0, 0, 67 },
726 { 67, 0, IN_WAY2_block, 68 },
727 { 68, 255, IN_WAY2_block, 0 }, { 68, 255, TERM_GROUP2_block, 1 }, { 68, 255, TERM_GROUP1_block, 0 }, { 68,
HANGAR, HANGAR2_AREA_block, 22 }, { 68, 0, 0, 22 },
728 { 69, 255, RUNWAY_IN2_block, 0 }, { 69, 0, RUNWAY_IN2_block, 63 },
729 { 70, 255, TERM_GROUP2_EXIT1_block, 0 }, { 70,
HELIPAD1,
HELIPAD1_block, 12 }, { 70,
HELITAKEOFF,
HELIPAD1_block, 12 }, { 70, 0, 0, 71 },
730 { 71, 255, TERM_GROUP2_EXIT1_block, 0 }, { 71,
HELIPAD2,
HELIPAD2_block, 13 }, { 71,
HELITAKEOFF,
HELIPAD1_block, 12 }, { 71, 0, 0, 24 },
735 { 76, 255, RUNWAY_IN_block, 0 }, { 76, 0, RUNWAY_IN_block, 37 },
741 static const byte _airport_entries_heliport[] = { 7, 7, 7, 7 };
745 { 2, 255, AIRPORT_BUSY_block, 0 }, { 2,
HELILANDING, 0, 3 }, { 2,
HELITAKEOFF, 0, 1 },
747 { 4,
HELIENDLANDING, AIRPORT_BUSY_block, 4 }, { 4,
HELIPAD1,
HELIPAD1_block, 0 }, { 4,
HELITAKEOFF, 0, 2 },
749 { 5, 0, NOTHING_block, 6 },
750 { 6, 0, NOTHING_block, 7 },
751 { 7, 0, NOTHING_block, 8 },
755 #define _airport_entries_oilrig _airport_entries_heliport
756 #define _airport_fta_oilrig _airport_fta_heliport
760 static const byte _airport_entries_helidepot[] = { 4, 4, 4, 4 };
762 { 0,
HANGAR, NOTHING_block, 1 },
763 { 1, 255, HANGAR2_AREA_block, 0 }, { 1,
HANGAR, 0, 0 }, { 1,
HELIPAD1,
HELIPAD1_block, 14 }, { 1,
HELITAKEOFF, 0, 15 }, { 1, 0, 0, 0 },
764 { 2,
FLYING, NOTHING_block, 3 }, { 2,
HELILANDING, PRE_HELIPAD_block, 7 }, { 2,
HANGAR, 0, 12 }, { 2,
HELITAKEOFF, NOTHING_block, 16 },
766 { 3, 0, NOTHING_block, 4 },
767 { 4, 0, NOTHING_block, 5 },
768 { 5, 0, NOTHING_block, 6 },
769 { 6, 0, NOTHING_block, 2 },
772 { 8,
HELIENDLANDING, PRE_HELIPAD_block, 8 }, { 8,
HELIPAD1, 0, 9 }, { 8,
HANGAR, 0, 12 }, { 8, 0, 0, 2 },
773 { 9, 0, NOTHING_block, 10 },
775 { 10, 255, NOTHING_block, 10 }, { 10,
HELIPAD1,
HELIPAD1_block, 14 }, { 10,
HANGAR, 0, 1 }, { 10, 0, 0, 14 },
778 { 12, 0, HANGAR2_AREA_block, 13 },
779 { 13, 0, HANGAR2_AREA_block, 1 },
780 { 14,
HELIPAD1,
HELIPAD1_block, 14 }, { 14,
HANGAR, 0, 1 }, { 14,
HELITAKEOFF, 0, 17 },
783 { 17, 0, NOTHING_block, 11 },
789 static const byte _airport_entries_helistation[] = { 25, 25, 25, 25 };
791 { 0,
HANGAR, NOTHING_block, 8 }, { 0,
HELIPAD1, 0, 1 }, { 0,
HELIPAD2, 0, 1 }, { 0,
HELIPAD3, 0, 1 }, { 0,
HELITAKEOFF, 0, 1 }, { 0, 0, 0, 0 },
792 { 1, 255, HANGAR2_AREA_block, 0 }, { 1,
HANGAR, 0, 0 }, { 1,
HELITAKEOFF, 0, 3 }, { 1, 0, 0, 4 },
794 { 2,
FLYING, NOTHING_block, 28 }, { 2,
HELILANDING, 0, 15 }, { 2, 0, 0, 28 },
797 { 4, 255, TAXIWAY_BUSY_block, 0 }, { 4,
HANGAR, HANGAR2_AREA_block, 1 }, { 4,
HELITAKEOFF, 0, 1 }, { 4, 0, 0, 5 },
798 { 5, 255, TAXIWAY_BUSY_block, 0 }, { 5,
HELIPAD1,
HELIPAD1_block, 6 }, { 5,
HELIPAD2,
HELIPAD2_block, 7 }, { 5,
HELIPAD3,
HELIPAD3_block, 8 }, { 5, 0, 0, 4 },
799 { 6,
HELIPAD1,
HELIPAD1_block, 5 }, { 6,
HANGAR, HANGAR2_AREA_block, 5 }, { 6,
HELITAKEOFF, 0, 9 }, { 6, 0, 0, 6 },
800 { 7,
HELIPAD2,
HELIPAD2_block, 5 }, { 7,
HANGAR, HANGAR2_AREA_block, 5 }, { 7,
HELITAKEOFF, 0, 10 }, { 7, 0, 0, 7 },
801 { 8,
HELIPAD3,
HELIPAD3_block, 5 }, { 8,
HANGAR, HANGAR2_AREA_block, 5 }, { 8,
HELITAKEOFF, 0, 11 }, { 8, 0, 0, 8 },
810 { 16,
HELIENDLANDING, PRE_HELIPAD_block, 16 }, { 16,
HELIPAD1, 0, 17 }, { 16,
HELIPAD2, 0, 18 }, { 16,
HELIPAD3, 0, 19 }, { 16,
HANGAR, 0, 23 },
811 { 17, 0, NOTHING_block, 20 },
812 { 18, 0, NOTHING_block, 21 },
813 { 19, 0, NOTHING_block, 22 },
815 { 20, 255, NOTHING_block, 0 }, { 20,
HELIPAD1,
HELIPAD1_block, 6 }, { 20,
HANGAR, 0, 23 }, { 20, 0, 0, 6 },
816 { 21, 255, NOTHING_block, 0 }, { 21,
HELIPAD2,
HELIPAD2_block, 7 }, { 21,
HANGAR, 0, 23 }, { 21, 0, 0, 7 },
817 { 22, 255, NOTHING_block, 0 }, { 22,
HELIPAD3,
HELIPAD3_block, 8 }, { 22,
HANGAR, 0, 23 }, { 22, 0, 0, 8 },
818 { 23, 0, HANGAR2_AREA_block, 24 },
819 { 24, 0, HANGAR2_AREA_block, 1 },
820 { 25, 0, NOTHING_block, 26 },
821 { 26, 0, NOTHING_block, 27 },
822 { 27, 0, NOTHING_block, 2 },
823 { 28, 0, NOTHING_block, 29 },
824 { 29, 0, NOTHING_block, 30 },
825 { 30, 0, NOTHING_block, 31 },
826 { 31, 0, NOTHING_block, 32 },
827 { 32, 0, NOTHING_block, 25 },