changeset 13003:46bb6b9ae758 draft

(svn r17497) -Codechange: Macrofy AirportMovingData.
author frosch <frosch@openttd.org>
date Thu, 10 Sep 2009 20:16:29 +0000
parents f162da16ef43
children 3af5170994d2
files src/airport_movement.h
diffstat 1 files changed, 321 insertions(+), 317 deletions(-) [+]
line wrap: on
line diff
--- a/src/airport_movement.h
+++ b/src/airport_movement.h
@@ -25,370 +25,374 @@
 ///////////////////////////////////////////////////////////////////////
 /////*********Movement Positions on Airports********************///////
 
+#define AMD(x, y, flags, dir) { x, y, flags, {dir} }
+
 static const AirportMovingData _airport_moving_data_dummy[] = {
-	{    0,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN,     {DIR_N} },
-	{    0,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN,     {DIR_N} },
-	{   96,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN,     {DIR_N} },
-	{   96,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN,     {DIR_N} },
+	AMD(    0,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN,     DIR_N ),
+	AMD(    0,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN,     DIR_N ),
+	AMD(   96,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN,     DIR_N ),
+	AMD(   96,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN,     DIR_N ),
 };
 
 /* Country Airfield (small) 4x3 */
 static const AirportMovingData _airport_moving_data_country[22] = {
-	{   53,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
-	{   53,   27, 0,                               {DIR_N} }, // 01 Taxi to right outside depot
-	{   32,   23, AMED_EXACTPOS,                   {DIR_NW} }, // 02 Terminal 1
-	{   10,   23, AMED_EXACTPOS,                   {DIR_NW} }, // 03 Terminal 2
-	{   43,   37, 0,                               {DIR_N} }, // 04 Going towards terminal 2
-	{   24,   37, 0,                               {DIR_N} }, // 05 Going towards terminal 2
-	{   53,   37, 0,                               {DIR_N} }, // 06 Going for takeoff
-	{   61,   40, AMED_EXACTPOS,                   {DIR_NE} }, // 07 Taxi to start of runway (takeoff)
-	{    3,   40, AMED_NOSPDCLAMP,                 {DIR_N} }, // 08 Accelerate to end of runway
-	{  -79,   40, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 09 Take off
-	{  177,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 10 Fly to landing position in air
-	{   56,   40, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 11 Going down for land
-	{    3,   40, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 12 Just landed, brake until end of runway
-	{    7,   40, 0,                               {DIR_N} }, // 13 Just landed, turn around and taxi 1 square
-	{   53,   40, 0,                               {DIR_N} }, // 14 Taxi from runway to crossing
-	{    1,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 15 Fly around waiting for a landing spot (north-east)
-	{    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 16 Fly around waiting for a landing spot (north-west)
-	{  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 17 Fly around waiting for a landing spot (south-west)
-	{  273,   47, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 18 Fly around waiting for a landing spot (south)
-	{   44,   37, AMED_HELI_RAISE,                 {DIR_N} }, // 19 Helicopter takeoff
-	{   44,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 20 In position above landing spot helicopter
-	{   44,   40, AMED_HELI_LOWER,                 {DIR_N} }, // 21 Helicopter landing
+	AMD(   53,    3, AMED_EXACTPOS,                   DIR_SE), // 00 In Hangar
+	AMD(   53,   27, 0,                               DIR_N ), // 01 Taxi to right outside depot
+	AMD(   32,   23, AMED_EXACTPOS,                   DIR_NW), // 02 Terminal 1
+	AMD(   10,   23, AMED_EXACTPOS,                   DIR_NW), // 03 Terminal 2
+	AMD(   43,   37, 0,                               DIR_N ), // 04 Going towards terminal 2
+	AMD(   24,   37, 0,                               DIR_N ), // 05 Going towards terminal 2
+	AMD(   53,   37, 0,                               DIR_N ), // 06 Going for takeoff
+	AMD(   61,   40, AMED_EXACTPOS,                   DIR_NE), // 07 Taxi to start of runway (takeoff)
+	AMD(    3,   40, AMED_NOSPDCLAMP,                 DIR_N ), // 08 Accelerate to end of runway
+	AMD(  -79,   40, AMED_NOSPDCLAMP | AMED_TAKEOFF,  DIR_N ), // 09 Take off
+	AMD(  177,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 10 Fly to landing position in air
+	AMD(   56,   40, AMED_NOSPDCLAMP | AMED_LAND,     DIR_N ), // 11 Going down for land
+	AMD(    3,   40, AMED_NOSPDCLAMP | AMED_BRAKE,    DIR_N ), // 12 Just landed, brake until end of runway
+	AMD(    7,   40, 0,                               DIR_N ), // 13 Just landed, turn around and taxi 1 square
+	AMD(   53,   40, 0,                               DIR_N ), // 14 Taxi from runway to crossing
+	AMD(    1,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 15 Fly around waiting for a landing spot (north-east)
+	AMD(    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 16 Fly around waiting for a landing spot (north-west)
+	AMD(  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 17 Fly around waiting for a landing spot (south-west)
+	AMD(  273,   47, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 18 Fly around waiting for a landing spot (south)
+	AMD(   44,   37, AMED_HELI_RAISE,                 DIR_N ), // 19 Helicopter takeoff
+	AMD(   44,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 20 In position above landing spot helicopter
+	AMD(   44,   40, AMED_HELI_LOWER,                 DIR_N ), // 21 Helicopter landing
 };
 
 /* Commuter Airfield (small) 5x4 */
 static const AirportMovingData _airport_moving_data_commuter[37] = {
-	{   69,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
-	{   72,   22, 0,                               {DIR_N} }, // 01 Taxi to right outside depot
-	{    8,   22, AMED_EXACTPOS,                   {DIR_SW} }, // 01 Taxi to right outside depot
-	{   24,   36, AMED_EXACTPOS,                   {DIR_SE} }, // 03 Terminal 1
-	{   40,   36, AMED_EXACTPOS,                   {DIR_SE} }, // 04 Terminal 2
-	{   56,   36, AMED_EXACTPOS,                   {DIR_SE} }, // 05 Terminal 3
-	{   40,    8, AMED_EXACTPOS,                   {DIR_NE} }, // 06 Helipad 1
-	{   56,    8, AMED_EXACTPOS,                   {DIR_NE} }, // 07 Helipad 2
-	{   24,   22, 0,                               {DIR_SW} }, // 08 Taxiing
-	{   40,   22, 0,                               {DIR_SW} }, // 09 Taxiing
-	{   56,   22, 0,                               {DIR_SW} }, // 10 Taxiing
-	{   72,   40, 0,                               {DIR_SE} }, // 11 Airport OUTWAY
-	{   72,   54, AMED_EXACTPOS,                   {DIR_NE} }, // 12 Accelerate to end of runway
-	{    7,   54, AMED_NOSPDCLAMP,                 {DIR_N} }, // 13 Release control of runway, for smoother movement
-	{    5,   54, AMED_NOSPDCLAMP,                 {DIR_N} }, // 14 End of runway
-	{  -79,   54, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 15 Take off
-	{  145,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 16 Fly to landing position in air
-	{   73,   54, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 17 Going down for land
-	{    3,   54, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 18 Just landed, brake until end of runway
-	{   12,   54, AMED_SLOWTURN,                   {DIR_NW} }, // 19 Just landed, turn around and taxi
-	{    8,   32, 0,                               {DIR_NW} }, // 20 Taxi from runway to crossing
-	{    1,  149, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 21 Fly around waiting for a landing spot (north-east)
-	{    1,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 22 Fly around waiting for a landing spot (north-west)
-	{  193,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 23 Fly around waiting for a landing spot (south-west)
-	{  225,   62, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 24 Fly around waiting for a landing spot (south)
+	AMD(   69,    3, AMED_EXACTPOS,                   DIR_SE), // 00 In Hangar
+	AMD(   72,   22, 0,                               DIR_N ), // 01 Taxi to right outside depot
+	AMD(    8,   22, AMED_EXACTPOS,                   DIR_SW), // 01 Taxi to right outside depot
+	AMD(   24,   36, AMED_EXACTPOS,                   DIR_SE), // 03 Terminal 1
+	AMD(   40,   36, AMED_EXACTPOS,                   DIR_SE), // 04 Terminal 2
+	AMD(   56,   36, AMED_EXACTPOS,                   DIR_SE), // 05 Terminal 3
+	AMD(   40,    8, AMED_EXACTPOS,                   DIR_NE), // 06 Helipad 1
+	AMD(   56,    8, AMED_EXACTPOS,                   DIR_NE), // 07 Helipad 2
+	AMD(   24,   22, 0,                               DIR_SW), // 08 Taxiing
+	AMD(   40,   22, 0,                               DIR_SW), // 09 Taxiing
+	AMD(   56,   22, 0,                               DIR_SW), // 10 Taxiing
+	AMD(   72,   40, 0,                               DIR_SE), // 11 Airport OUTWAY
+	AMD(   72,   54, AMED_EXACTPOS,                   DIR_NE), // 12 Accelerate to end of runway
+	AMD(    7,   54, AMED_NOSPDCLAMP,                 DIR_N ), // 13 Release control of runway, for smoother movement
+	AMD(    5,   54, AMED_NOSPDCLAMP,                 DIR_N ), // 14 End of runway
+	AMD(  -79,   54, AMED_NOSPDCLAMP | AMED_TAKEOFF,  DIR_N ), // 15 Take off
+	AMD(  145,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 16 Fly to landing position in air
+	AMD(   73,   54, AMED_NOSPDCLAMP | AMED_LAND,     DIR_N ), // 17 Going down for land
+	AMD(    3,   54, AMED_NOSPDCLAMP | AMED_BRAKE,    DIR_N ), // 18 Just landed, brake until end of runway
+	AMD(   12,   54, AMED_SLOWTURN,                   DIR_NW), // 19 Just landed, turn around and taxi
+	AMD(    8,   32, 0,                               DIR_NW), // 20 Taxi from runway to crossing
+	AMD(    1,  149, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 21 Fly around waiting for a landing spot (north-east)
+	AMD(    1,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 22 Fly around waiting for a landing spot (north-west)
+	AMD(  193,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 23 Fly around waiting for a landing spot (south-west)
+	AMD(  225,   62, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 24 Fly around waiting for a landing spot (south)
 	/* Helicopter */
-	{   80,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 25 Bufferspace before helipad
-	{   80,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 26 Bufferspace before helipad
-	{   32,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 27 Get in position for Helipad1
-	{   48,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 28 Get in position for Helipad2
-	{   32,    8, AMED_HELI_LOWER,                 {DIR_N} }, // 29 Land at Helipad1
-	{   48,    8, AMED_HELI_LOWER,                 {DIR_N} }, // 30 Land at Helipad2
-	{   32,    8, AMED_HELI_RAISE,                 {DIR_N} }, // 31 Takeoff Helipad1
-	{   48,    8, AMED_HELI_RAISE,                 {DIR_N} }, // 32 Takeoff Helipad2
-	{   64,   22, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 33 Go to position for Hangarentrance in air
-	{   64,   22, AMED_HELI_LOWER,                 {DIR_N} }, // 34 Land in front of hangar
-	{   40,    8, AMED_EXACTPOS,                   {DIR_N} }, // pre-helitakeoff helipad 1
-	{   56,    8, AMED_EXACTPOS,                   {DIR_N} }, // pre-helitakeoff helipad 2
+	AMD(   80,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 25 Bufferspace before helipad
+	AMD(   80,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 26 Bufferspace before helipad
+	AMD(   32,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 27 Get in position for Helipad1
+	AMD(   48,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 28 Get in position for Helipad2
+	AMD(   32,    8, AMED_HELI_LOWER,                 DIR_N ), // 29 Land at Helipad1
+	AMD(   48,    8, AMED_HELI_LOWER,                 DIR_N ), // 30 Land at Helipad2
+	AMD(   32,    8, AMED_HELI_RAISE,                 DIR_N ), // 31 Takeoff Helipad1
+	AMD(   48,    8, AMED_HELI_RAISE,                 DIR_N ), // 32 Takeoff Helipad2
+	AMD(   64,   22, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 33 Go to position for Hangarentrance in air
+	AMD(   64,   22, AMED_HELI_LOWER,                 DIR_N ), // 34 Land in front of hangar
+	AMD(   40,    8, AMED_EXACTPOS,                   DIR_N ), // pre-helitakeoff helipad 1
+	AMD(   56,    8, AMED_EXACTPOS,                   DIR_N ), // pre-helitakeoff helipad 2
 };
 
 /* City Airport (large) 6x6 */
 static const AirportMovingData _airport_moving_data_town[] = {
-	{   85,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
-	{   85,   27, 0,                               {DIR_N} }, // 01 Taxi to right outside depot
-	{   26,   41, AMED_EXACTPOS,                   {DIR_SW} }, // 02 Terminal 1
-	{   56,   20, AMED_EXACTPOS,                   {DIR_SE} }, // 03 Terminal 2
-	{   38,    8, AMED_EXACTPOS,                   {DIR_SW} }, // 04 Terminal 3
-	{   65,    6, 0,                               {DIR_N} }, // 05 Taxi to right in infront of terminal 2/3
-	{   80,   27, 0,                               {DIR_N} }, // 06 Taxiway terminals 2-3
-	{   44,   63, 0,                               {DIR_N} }, // 07 Taxi to Airport center
-	{   58,   71, 0,                               {DIR_N} }, // 08 Towards takeoff
-	{   72,   85, 0,                               {DIR_N} }, // 09 Taxi to runway (takeoff)
-	{   89,   85, AMED_EXACTPOS,                   {DIR_NE} }, // 10 Taxi to start of runway (takeoff)
-	{    3,   85, AMED_NOSPDCLAMP,                 {DIR_N} }, // 11 Accelerate to end of runway
-	{  -79,   85, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 12 Take off
-	{  177,   87, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 13 Fly to landing position in air
-	{   89,   87, AMED_HOLD       | AMED_LAND,     {DIR_N} }, // 14 Going down for land
-	{   20,   87, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 15 Just landed, brake until end of runway
-	{   20,   87, 0,                               {DIR_N} }, // 16 Just landed, turn around and taxi 1 square // NOT USED
-	{   36,   71, 0,                               {DIR_N} }, // 17 Taxi from runway to crossing
-	{  160,   87, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 18 Fly around waiting for a landing spot (north-east)
-	{  140,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 19 Final approach fix
-	{  257,    1, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 20 Fly around waiting for a landing spot (south-west)
-	{  273,   49, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 21 Fly around waiting for a landing spot (south)
-	{   44,   63, AMED_HELI_RAISE,                 {DIR_N} }, // 22 Helicopter takeoff
-	{   28,   74, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 23 In position above landing spot helicopter
-	{   28,   74, AMED_HELI_LOWER,                 {DIR_N} }, // 24 Helicopter landing
-	{  145,    1, AMED_HOLD       | AMED_SLOWTURN, {DIR_N} }, // 25 Fly around waiting for a landing spot (north-west)
-	{  -32,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 26 Initial approach fix (north)
-	{  300,  -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 27 Initial approach fix (south)
-	{  140,  -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 28 Intermediadate Approach fix (south), IAF (west)
-	{  -32,  120, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 29 Initial approach fix (east)
+	AMD(   85,    3, AMED_EXACTPOS,                   DIR_SE), // 00 In Hangar
+	AMD(   85,   27, 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(   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)
+	AMD(   89,   85, AMED_EXACTPOS,                   DIR_NE), // 10 Taxi to start of runway (takeoff)
+	AMD(    3,   85, AMED_NOSPDCLAMP,                 DIR_N ), // 11 Accelerate to end of runway
+	AMD(  -79,   85, AMED_NOSPDCLAMP | AMED_TAKEOFF,  DIR_N ), // 12 Take off
+	AMD(  177,   87, AMED_HOLD       | AMED_SLOWTURN, DIR_N ), // 13 Fly to landing position in air
+	AMD(   89,   87, AMED_HOLD       | AMED_LAND,     DIR_N ), // 14 Going down for land
+	AMD(   20,   87, AMED_NOSPDCLAMP | AMED_BRAKE,    DIR_N ), // 15 Just landed, brake until end of runway
+	AMD(   20,   87, 0,                               DIR_N ), // 16 Just landed, turn around and taxi 1 square // NOT USED
+	AMD(   36,   71, 0,                               DIR_N ), // 17 Taxi from runway to crossing
+	AMD(  160,   87, AMED_HOLD       | AMED_SLOWTURN, DIR_N ), // 18 Fly around waiting for a landing spot (north-east)
+	AMD(  140,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 19 Final approach fix
+	AMD(  257,    1, AMED_HOLD       | AMED_SLOWTURN, DIR_N ), // 20 Fly around waiting for a landing spot (south-west)
+	AMD(  273,   49, AMED_HOLD       | AMED_SLOWTURN, DIR_N ), // 21 Fly around waiting for a landing spot (south)
+	AMD(   44,   63, AMED_HELI_RAISE,                 DIR_N ), // 22 Helicopter takeoff
+	AMD(   28,   74, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 23 In position above landing spot helicopter
+	AMD(   28,   74, AMED_HELI_LOWER,                 DIR_N ), // 24 Helicopter landing
+	AMD(  145,    1, AMED_HOLD       | AMED_SLOWTURN, DIR_N ), // 25 Fly around waiting for a landing spot (north-west)
+	AMD(  -32,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 26 Initial approach fix (north)
+	AMD(  300,  -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 27 Initial approach fix (south)
+	AMD(  140,  -48, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 28 Intermediadate Approach fix (south), IAF (west)
+	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] = {
-	{   85,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar
-	{   85,   27, 0,                               {DIR_N} }, // 01 Taxi to right outside depot
-	{   26,   41, AMED_EXACTPOS,                   {DIR_SW} }, // 02 Terminal 1
-	{   56,   20, AMED_EXACTPOS,                   {DIR_SE} }, // 03 Terminal 2
-	{   38,    8, AMED_EXACTPOS,                   {DIR_SW} }, // 04 Terminal 3
-	{   65,    6, 0,                               {DIR_N} }, // 05 Taxi to right in infront of terminal 2/3
-	{   70,   33, 0,                               {DIR_N} }, // 06 Taxiway terminals 2-3
-	{   44,   58, 0,                               {DIR_N} }, // 07 Taxi to Airport center
-	{   72,   58, 0,                               {DIR_N} }, // 08 Towards takeoff
-	{   72,   69, 0,                               {DIR_N} }, // 09 Taxi to runway (takeoff)
-	{   89,   69, AMED_EXACTPOS,                   {DIR_NE} }, // 10 Taxi to start of runway (takeoff)
-	{    3,   69, AMED_NOSPDCLAMP,                 {DIR_N} }, // 11 Accelerate to end of runway
-	{  -79,   69, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 12 Take off
-	{  177,   85, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 13 Fly to landing position in air
-	{   89,   85, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 14 Going down for land
-	{    3,   85, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 15 Just landed, brake until end of runway
-	{   21,   85, 0,                               {DIR_N} }, // 16 Just landed, turn around and taxi 1 square
-	{   21,   69, 0,                               {DIR_N} }, // 17 On Runway-out taxiing to In-Way
-	{   21,   54, AMED_EXACTPOS,                   {DIR_SW} }, // 18 Taxi from runway to crossing
-	{    1,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 19 Fly around waiting for a landing spot (north-east)
-	{    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 20 Fly around waiting for a landing spot (north-west)
-	{  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 21 Fly around waiting for a landing spot (south-west)
-	{  273,   49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 22 Fly around waiting for a landing spot (south)
-	{   44,   58, 0,                               {DIR_N} }, // 23 Helicopter takeoff spot on ground (to clear airport sooner)
-	{   44,   63, AMED_HELI_RAISE,                 {DIR_N} }, // 24 Helicopter takeoff
-	{   15,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 25 Get in position above landing spot helicopter
-	{   15,   54, AMED_HELI_LOWER,                 {DIR_N} }, // 26 Helicopter landing
+	AMD(   85,    3, AMED_EXACTPOS,                   DIR_SE), // 00 In Hangar
+	AMD(   85,   27, 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(   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(   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(    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
+	AMD(   15,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 25 Get in position above landing spot helicopter
+	AMD(   15,   54, AMED_HELI_LOWER,                 DIR_N ), // 26 Helicopter landing
 };
 
 /* International Airport (international) - 2 runways, 6 terminals, dedicated helipod */
 static const AirportMovingData _airport_moving_data_international[51] = {
-	{    7,   55, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar 1
-	{  100,   21, AMED_EXACTPOS,                   {DIR_SE} }, // 01 In Hangar 2
-	{    7,   70, 0,                               {DIR_N} }, // 02 Taxi to right outside depot
-	{  100,   36, 0,                               {DIR_N} }, // 03 Taxi to right outside depot
-	{   38,   70, AMED_EXACTPOS,                   {DIR_SW} }, // 04 Terminal 1
-	{   38,   54, AMED_EXACTPOS,                   {DIR_SW} }, // 05 Terminal 2
-	{   38,   38, AMED_EXACTPOS,                   {DIR_SW} }, // 06 Terminal 3
-	{   70,   70, AMED_EXACTPOS,                   {DIR_NE} }, // 07 Terminal 4
-	{   70,   54, AMED_EXACTPOS,                   {DIR_NE} }, // 08 Terminal 5
-	{   70,   38, AMED_EXACTPOS,                   {DIR_NE} }, // 09 Terminal 6
-	{  104,   71, AMED_EXACTPOS,                   {DIR_NE} }, // 10 Helipad 1
-	{  104,   55, AMED_EXACTPOS,                   {DIR_NE} }, // 11 Helipad 2
-	{   22,   87, 0,                               {DIR_N} }, // 12 Towards Terminals 4/5/6, Helipad 1/2
-	{   60,   87, 0,                               {DIR_N} }, // 13 Towards Terminals 4/5/6, Helipad 1/2
-	{   66,   87, 0,                               {DIR_N} }, // 14 Towards Terminals 4/5/6, Helipad 1/2
-	{   86,   87, AMED_EXACTPOS,                   {DIR_NW} }, // 15 Towards Terminals 4/5/6, Helipad 1/2
-	{   86,   70, 0,                               {DIR_N} }, // 16 In Front of Terminal 4 / Helipad 1
-	{   86,   54, 0,                               {DIR_N} }, // 17 In Front of Terminal 5 / Helipad 2
-	{   86,   38, 0,                               {DIR_N} }, // 18 In Front of Terminal 6
-	{   86,   22, 0,                               {DIR_N} }, // 19 Towards Terminals Takeoff (Taxiway)
-	{   66,   22, 0,                               {DIR_N} }, // 20 Towards Terminals Takeoff (Taxiway)
-	{   60,   22, 0,                               {DIR_N} }, // 21 Towards Terminals Takeoff (Taxiway)
-	{   38,   22, 0,                               {DIR_N} }, // 22 Towards Terminals Takeoff (Taxiway)
-	{   22,   70, 0,                               {DIR_N} }, // 23 In Front of Terminal 1
-	{   22,   58, 0,                               {DIR_N} }, // 24 In Front of Terminal 2
-	{   22,   38, 0,                               {DIR_N} }, // 25 In Front of Terminal 3
-	{   22,   22, AMED_EXACTPOS,                   {DIR_NW} }, // 26 Going for Takeoff
-	{   22,    6, 0,                               {DIR_N} }, // 27 On Runway-out, prepare for takeoff
-	{    3,    6, AMED_EXACTPOS,                   {DIR_SW} }, // 28 Accelerate to end of runway
-	{   60,    6, AMED_NOSPDCLAMP,                 {DIR_N} }, // 29 Release control of runway, for smoother movement
-	{  105,    6, AMED_NOSPDCLAMP,                 {DIR_N} }, // 30 End of runway
-	{  190,    6, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 31 Take off
-	{  193,  104, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 32 Fly to landing position in air
-	{  105,  104, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 33 Going down for land
-	{    3,  104, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 34 Just landed, brake until end of runway
-	{   12,  104, AMED_SLOWTURN,                   {DIR_N} }, // 35 Just landed, turn around and taxi 1 square
-	{    7,   84, 0,                               {DIR_N} }, // 36 Taxi from runway to crossing
-	{    1,  209, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 37 Fly around waiting for a landing spot (north-east)
-	{    1,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 38 Fly around waiting for a landing spot (north-west)
-	{  273,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 39 Fly around waiting for a landing spot (south-west)
-	{  305,   81, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 40 Fly around waiting for a landing spot (south)
+	AMD(    7,   55, AMED_EXACTPOS,                   DIR_SE), // 00 In Hangar 1
+	AMD(  100,   21, AMED_EXACTPOS,                   DIR_SE), // 01 In Hangar 2
+	AMD(    7,   70, 0,                               DIR_N ), // 02 Taxi to right outside depot
+	AMD(  100,   36, 0,                               DIR_N ), // 03 Taxi to right outside depot
+	AMD(   38,   70, AMED_EXACTPOS,                   DIR_SW), // 04 Terminal 1
+	AMD(   38,   54, AMED_EXACTPOS,                   DIR_SW), // 05 Terminal 2
+	AMD(   38,   38, AMED_EXACTPOS,                   DIR_SW), // 06 Terminal 3
+	AMD(   70,   70, AMED_EXACTPOS,                   DIR_NE), // 07 Terminal 4
+	AMD(   70,   54, AMED_EXACTPOS,                   DIR_NE), // 08 Terminal 5
+	AMD(   70,   38, AMED_EXACTPOS,                   DIR_NE), // 09 Terminal 6
+	AMD(  104,   71, AMED_EXACTPOS,                   DIR_NE), // 10 Helipad 1
+	AMD(  104,   55, AMED_EXACTPOS,                   DIR_NE), // 11 Helipad 2
+	AMD(   22,   87, 0,                               DIR_N ), // 12 Towards Terminals 4/5/6, Helipad 1/2
+	AMD(   60,   87, 0,                               DIR_N ), // 13 Towards Terminals 4/5/6, Helipad 1/2
+	AMD(   66,   87, 0,                               DIR_N ), // 14 Towards Terminals 4/5/6, Helipad 1/2
+	AMD(   86,   87, AMED_EXACTPOS,                   DIR_NW), // 15 Towards Terminals 4/5/6, Helipad 1/2
+	AMD(   86,   70, 0,                               DIR_N ), // 16 In Front of Terminal 4 / Helipad 1
+	AMD(   86,   54, 0,                               DIR_N ), // 17 In Front of Terminal 5 / Helipad 2
+	AMD(   86,   38, 0,                               DIR_N ), // 18 In Front of Terminal 6
+	AMD(   86,   22, 0,                               DIR_N ), // 19 Towards Terminals Takeoff (Taxiway)
+	AMD(   66,   22, 0,                               DIR_N ), // 20 Towards Terminals Takeoff (Taxiway)
+	AMD(   60,   22, 0,                               DIR_N ), // 21 Towards Terminals Takeoff (Taxiway)
+	AMD(   38,   22, 0,                               DIR_N ), // 22 Towards Terminals Takeoff (Taxiway)
+	AMD(   22,   70, 0,                               DIR_N ), // 23 In Front of Terminal 1
+	AMD(   22,   58, 0,                               DIR_N ), // 24 In Front of Terminal 2
+	AMD(   22,   38, 0,                               DIR_N ), // 25 In Front of Terminal 3
+	AMD(   22,   22, AMED_EXACTPOS,                   DIR_NW), // 26 Going for Takeoff
+	AMD(   22,    6, 0,                               DIR_N ), // 27 On Runway-out, prepare for takeoff
+	AMD(    3,    6, AMED_EXACTPOS,                   DIR_SW), // 28 Accelerate to end of runway
+	AMD(   60,    6, AMED_NOSPDCLAMP,                 DIR_N ), // 29 Release control of runway, for smoother movement
+	AMD(  105,    6, AMED_NOSPDCLAMP,                 DIR_N ), // 30 End of runway
+	AMD(  190,    6, AMED_NOSPDCLAMP | AMED_TAKEOFF,  DIR_N ), // 31 Take off
+	AMD(  193,  104, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 32 Fly to landing position in air
+	AMD(  105,  104, AMED_NOSPDCLAMP | AMED_LAND,     DIR_N ), // 33 Going down for land
+	AMD(    3,  104, AMED_NOSPDCLAMP | AMED_BRAKE,    DIR_N ), // 34 Just landed, brake until end of runway
+	AMD(   12,  104, AMED_SLOWTURN,                   DIR_N ), // 35 Just landed, turn around and taxi 1 square
+	AMD(    7,   84, 0,                               DIR_N ), // 36 Taxi from runway to crossing
+	AMD(    1,  209, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 37 Fly around waiting for a landing spot (north-east)
+	AMD(    1,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 38 Fly around waiting for a landing spot (north-west)
+	AMD(  273,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 39 Fly around waiting for a landing spot (south-west)
+	AMD(  305,   81, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 40 Fly around waiting for a landing spot (south)
 	/* Helicopter */
-	{  128,   80, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 41 Bufferspace before helipad
-	{  128,   80, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 42 Bufferspace before helipad
-	{   96,   71, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 43 Get in position for Helipad1
-	{   96,   55, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 44 Get in position for Helipad2
-	{   96,   71, AMED_HELI_LOWER,                 {DIR_N} }, // 45 Land at Helipad1
-	{   96,   55, AMED_HELI_LOWER,                 {DIR_N} }, // 46 Land at Helipad2
-	{  104,   71, AMED_HELI_RAISE,                 {DIR_N} }, // 47 Takeoff Helipad1
-	{  104,   55, AMED_HELI_RAISE,                 {DIR_N} }, // 48 Takeoff Helipad2
-	{  104,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 49 Go to position for Hangarentrance in air
-	{  104,   32, AMED_HELI_LOWER,                 {DIR_N} }, // 50 Land in HANGAR2_AREA to go to hangar
+	AMD(  128,   80, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 41 Bufferspace before helipad
+	AMD(  128,   80, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 42 Bufferspace before helipad
+	AMD(   96,   71, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 43 Get in position for Helipad1
+	AMD(   96,   55, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 44 Get in position for Helipad2
+	AMD(   96,   71, AMED_HELI_LOWER,                 DIR_N ), // 45 Land at Helipad1
+	AMD(   96,   55, AMED_HELI_LOWER,                 DIR_N ), // 46 Land at Helipad2
+	AMD(  104,   71, AMED_HELI_RAISE,                 DIR_N ), // 47 Takeoff Helipad1
+	AMD(  104,   55, AMED_HELI_RAISE,                 DIR_N ), // 48 Takeoff Helipad2
+	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] = {
-	{    7,   87, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar 1
-	{  135,   72, AMED_EXACTPOS,                   {DIR_SE} }, // 01 In Hangar 2
-	{    7,  104, 0,                               {DIR_N} }, // 02 Taxi to right outside depot 1
-	{  135,   88, 0,                               {DIR_N} }, // 03 Taxi to right outside depot 2
-	{   56,  120, AMED_EXACTPOS,                   {DIR_W} }, // 04 Terminal 1
-	{   56,  104, AMED_EXACTPOS,                   {DIR_SW} }, // 05 Terminal 2
-	{   56,   88, AMED_EXACTPOS,                   {DIR_SW} }, // 06 Terminal 3
-	{   56,   72, AMED_EXACTPOS,                   {DIR_SW} }, // 07 Terminal 4
-	{   88,  120, AMED_EXACTPOS,                   {DIR_N} }, // 08 Terminal 5
-	{   88,  104, AMED_EXACTPOS,                   {DIR_NE} }, // 09 Terminal 6
-	{   88,   88, AMED_EXACTPOS,                   {DIR_NE} }, // 10 Terminal 7
-	{   88,   72, AMED_EXACTPOS,                   {DIR_NE} }, // 11 Terminal 8
-	{   88,   56, AMED_EXACTPOS,                   {DIR_SE} }, // 12 Helipad 1
-	{   72,   56, AMED_EXACTPOS,                   {DIR_NE} }, // 13 Helipad 2
-	{   40,  136, 0,                               {DIR_N} }, // 14 Term group 2 enter 1 a
-	{   56,  136, 0,                               {DIR_N} }, // 15 Term group 2 enter 1 b
-	{   88,  136, 0,                               {DIR_N} }, // 16 Term group 2 enter 2 a
-	{  104,  136, 0,                               {DIR_N} }, // 17 Term group 2 enter 2 b
-	{  104,  120, 0,                               {DIR_N} }, // 18 Term group 2 - opp term 5
-	{  104,  104, 0,                               {DIR_N} }, // 19 Term group 2 - opp term 6 & exit2
-	{  104,   88, 0,                               {DIR_N} }, // 20 Term group 2 - opp term 7 & hangar area 2
-	{  104,   72, 0,                               {DIR_N} }, // 21 Term group 2 - opp term 8
-	{  104,   56, 0,                               {DIR_N} }, // 22 Taxi Term group 2 exit a
-	{  104,   40, 0,                               {DIR_N} }, // 23 Taxi Term group 2 exit b
-	{   56,   40, 0,                               {DIR_N} }, // 24 Term group 2 exit 2a
-	{   40,   40, 0,                               {DIR_N} }, // 25 Term group 2 exit 2b
-	{   40,  120, 0,                               {DIR_N} }, // 26 Term group 1 - opp term 1
-	{   40,  104, 0,                               {DIR_N} }, // 27 Term group 1 - opp term 2 & hangar area 1
-	{   40,   88, 0,                               {DIR_N} }, // 28 Term group 1 - opp term 3
-	{   40,   72, 0,                               {DIR_N} }, // 29 Term group 1 - opp term 4
-	{   18,   72, 0,                               {DIR_NW} }, // 30 Outway 1
-	{    8,   40, 0,                               {DIR_NW} }, // 31 Airport OUTWAY
-	{    8,   24, AMED_EXACTPOS,                   {DIR_SW} }, // 32 Accelerate to end of runway
-	{  119,   24, AMED_NOSPDCLAMP,                 {DIR_N} }, // 33 Release control of runway, for smoother movement
-	{  117,   24, AMED_NOSPDCLAMP,                 {DIR_N} }, // 34 End of runway
-	{  197,   24, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 35 Take off
-	{  254,   84, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 36 Flying to landing position in air
-	{  117,  168, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 37 Going down for land
-	{    3,  168, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 38 Just landed, brake until end of runway
-	{    8,  168, 0,                               {DIR_N} }, // 39 Just landed, turn around and taxi
-	{    8,  144, 0,                               {DIR_NW} }, // 40 Taxi from runway
-	{    8,  128, 0,                               {DIR_NW} }, // 41 Taxi from runway
-	{    8,  120, AMED_EXACTPOS,                   {DIR_SW} }, // 42 Airport entrance
-	{   56,  344, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 43 Fly around waiting for a landing spot (north-east)
-	{ -200,   88, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 44 Fly around waiting for a landing spot (north-west)
-	{   56, -168, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 45 Fly around waiting for a landing spot (south-west)
-	{  312,   88, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 46 Fly around waiting for a landing spot (south)
+	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(   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
+	AMD(   88,   88, AMED_EXACTPOS,                   DIR_NE), // 10 Terminal 7
+	AMD(   88,   72, AMED_EXACTPOS,                   DIR_NE), // 11 Terminal 8
+	AMD(   88,   56, AMED_EXACTPOS,                   DIR_SE), // 12 Helipad 1
+	AMD(   72,   56, AMED_EXACTPOS,                   DIR_NE), // 13 Helipad 2
+	AMD(   40,  136, 0,                               DIR_N ), // 14 Term group 2 enter 1 a
+	AMD(   56,  136, 0,                               DIR_N ), // 15 Term group 2 enter 1 b
+	AMD(   88,  136, 0,                               DIR_N ), // 16 Term group 2 enter 2 a
+	AMD(  104,  136, 0,                               DIR_N ), // 17 Term group 2 enter 2 b
+	AMD(  104,  120, 0,                               DIR_N ), // 18 Term group 2 - opp term 5
+	AMD(  104,  104, 0,                               DIR_N ), // 19 Term group 2 - opp term 6 & exit2
+	AMD(  104,   88, 0,                               DIR_N ), // 20 Term group 2 - opp term 7 & hangar area 2
+	AMD(  104,   72, 0,                               DIR_N ), // 21 Term group 2 - opp term 8
+	AMD(  104,   56, 0,                               DIR_N ), // 22 Taxi Term group 2 exit a
+	AMD(  104,   40, 0,                               DIR_N ), // 23 Taxi Term group 2 exit b
+	AMD(   56,   40, 0,                               DIR_N ), // 24 Term group 2 exit 2a
+	AMD(   40,   40, 0,                               DIR_N ), // 25 Term group 2 exit 2b
+	AMD(   40,  120, 0,                               DIR_N ), // 26 Term group 1 - opp term 1
+	AMD(   40,  104, 0,                               DIR_N ), // 27 Term group 1 - opp term 2 & hangar area 1
+	AMD(   40,   88, 0,                               DIR_N ), // 28 Term group 1 - opp term 3
+	AMD(   40,   72, 0,                               DIR_N ), // 29 Term group 1 - opp term 4
+	AMD(   18,   72, 0,                               DIR_NW), // 30 Outway 1
+	AMD(    8,   40, 0,                               DIR_NW), // 31 Airport OUTWAY
+	AMD(    8,   24, AMED_EXACTPOS,                   DIR_SW), // 32 Accelerate to end of runway
+	AMD(  119,   24, AMED_NOSPDCLAMP,                 DIR_N ), // 33 Release control of runway, for smoother movement
+	AMD(  117,   24, AMED_NOSPDCLAMP,                 DIR_N ), // 34 End of runway
+	AMD(  197,   24, AMED_NOSPDCLAMP | AMED_TAKEOFF,  DIR_N ), // 35 Take off
+	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(    3,  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(   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 */
-	{   96,   40, AMED_NOSPDCLAMP,                 {DIR_N} }, // 47 Bufferspace before helipad
-	{   96,   40, AMED_NOSPDCLAMP,                 {DIR_N} }, // 48 Bufferspace before helipad
-	{   82,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 49 Get in position for Helipad1
-	{   64,   56, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 50 Get in position for Helipad2
-	{   81,   55, AMED_HELI_LOWER,                 {DIR_N} }, // 51 Land at Helipad1
-	{   64,   56, AMED_HELI_LOWER,                 {DIR_N} }, // 52 Land at Helipad2
-	{   80,   56, AMED_HELI_RAISE,                 {DIR_N} }, // 53 Takeoff Helipad1
-	{   64,   56, AMED_HELI_RAISE,                 {DIR_N} }, // 54 Takeoff Helipad2
-	{  136,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 55 Go to position for Hangarentrance in air
-	{  136,   96, AMED_HELI_LOWER,                 {DIR_N} }, // 56 Land in front of hangar2
-	{  126,  104, 0,                               {DIR_SE} }, // 57 Outway 2
-	{  136,  136, 0,                               {DIR_NE} }, // 58 Airport OUTWAY 2
-	{  136,  152, AMED_EXACTPOS,                   {DIR_NE} }, // 59 Accelerate to end of runway2
-	{   16,  152, AMED_NOSPDCLAMP,                 {DIR_N} }, // 60 Release control of runway2, for smoother movement
-	{   20,  152, AMED_NOSPDCLAMP,                 {DIR_N} }, // 61 End of runway2
-	{  -56,  152, AMED_NOSPDCLAMP | AMED_TAKEOFF,  {DIR_N} }, // 62 Take off2
-	{   24,    8, AMED_NOSPDCLAMP | AMED_LAND,     {DIR_N} }, // 63 Going down for land2
-	{  136,    8, AMED_NOSPDCLAMP | AMED_BRAKE,    {DIR_N} }, // 64 Just landed, brake until end of runway2in
-	{  136,    8, 0,                               {DIR_N} }, // 65 Just landed, turn around and taxi
-	{  136,   24, 0,                               {DIR_SE} }, // 66 Taxi from runway 2in
-	{  136,   40, 0,                               {DIR_SE} }, // 67 Taxi from runway 2in
-	{  136,   56, AMED_EXACTPOS,                   {DIR_NE} }, // 68 Airport entrance2
-	{  -56,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 69 Fly to landing position in air2
-	{   88,   40, 0,                               {DIR_N} }, // 70 Taxi Term group 2 exit - opp heli1
-	{   72,   40, 0,                               {DIR_N} }, // 71 Taxi Term group 2 exit - opp heli2
-	{   88,   57, AMED_EXACTPOS,                   {DIR_SE} }, // 72 pre-helitakeoff helipad 1
-	{   71,   56, AMED_EXACTPOS,                   {DIR_NE} }, // 73 pre-helitakeoff helipad 2
-	{    8,  120, AMED_HELI_RAISE,                 {DIR_N} }, // 74 Helitakeoff outside depot 1
-	{  136,  104, AMED_HELI_RAISE,                 {DIR_N} }, // 75 Helitakeoff outside depot 2
-	{  197,  168, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 76 Fly to landing position in air1
+	AMD(   96,   40, AMED_NOSPDCLAMP,                 DIR_N ), // 47 Bufferspace before helipad
+	AMD(   96,   40, AMED_NOSPDCLAMP,                 DIR_N ), // 48 Bufferspace before helipad
+	AMD(   82,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 49 Get in position for Helipad1
+	AMD(   64,   56, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 50 Get in position for Helipad2
+	AMD(   81,   55, AMED_HELI_LOWER,                 DIR_N ), // 51 Land at Helipad1
+	AMD(   64,   56, AMED_HELI_LOWER,                 DIR_N ), // 52 Land at Helipad2
+	AMD(   80,   56, AMED_HELI_RAISE,                 DIR_N ), // 53 Takeoff Helipad1
+	AMD(   64,   56, AMED_HELI_RAISE,                 DIR_N ), // 54 Takeoff Helipad2
+	AMD(  136,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 55 Go to position for Hangarentrance in air
+	AMD(  136,   96, AMED_HELI_LOWER,                 DIR_N ), // 56 Land in front of hangar2
+	AMD(  126,  104, 0,                               DIR_SE), // 57 Outway 2
+	AMD(  136,  136, 0,                               DIR_NE), // 58 Airport OUTWAY 2
+	AMD(  136,  152, AMED_EXACTPOS,                   DIR_NE), // 59 Accelerate to end of runway2
+	AMD(   16,  152, AMED_NOSPDCLAMP,                 DIR_N ), // 60 Release control of runway2, for smoother movement
+	AMD(   20,  152, AMED_NOSPDCLAMP,                 DIR_N ), // 61 End of runway2
+	AMD(  -56,  152, AMED_NOSPDCLAMP | AMED_TAKEOFF,  DIR_N ), // 62 Take off2
+	AMD(   24,    8, AMED_NOSPDCLAMP | AMED_LAND,     DIR_N ), // 63 Going down for land2
+	AMD(  136,    8, AMED_NOSPDCLAMP | AMED_BRAKE,    DIR_N ), // 64 Just landed, brake until end of runway2in
+	AMD(  136,    8, 0,                               DIR_N ), // 65 Just landed, turn around and taxi
+	AMD(  136,   24, 0,                               DIR_SE), // 66 Taxi from runway 2in
+	AMD(  136,   40, 0,                               DIR_SE), // 67 Taxi from runway 2in
+	AMD(  136,   56, AMED_EXACTPOS,                   DIR_NE), // 68 Airport entrance2
+	AMD(  -56,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 69 Fly to landing position in air2
+	AMD(   88,   40, 0,                               DIR_N ), // 70 Taxi Term group 2 exit - opp heli1
+	AMD(   72,   40, 0,                               DIR_N ), // 71 Taxi Term group 2 exit - opp heli2
+	AMD(   88,   57, AMED_EXACTPOS,                   DIR_SE), // 72 pre-helitakeoff helipad 1
+	AMD(   71,   56, AMED_EXACTPOS,                   DIR_NE), // 73 pre-helitakeoff helipad 2
+	AMD(    8,  120, AMED_HELI_RAISE,                 DIR_N ), // 74 Helitakeoff outside depot 1
+	AMD(  136,  104, AMED_HELI_RAISE,                 DIR_N ), // 75 Helitakeoff outside depot 2
+	AMD(  197,  168, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 76 Fly to landing position in air1
 };
 
 
 /* Heliport (heliport) */
 static const AirportMovingData _airport_moving_data_heliport[9] = {
-	{    5,    9, AMED_EXACTPOS,                   {DIR_NE} }, // 0 - At heliport terminal
-	{    2,    9, AMED_HELI_RAISE,                 {DIR_N} }, // 1 - Take off (play sound)
-	{   -3,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 2 - In position above landing spot helicopter
-	{   -3,    9, AMED_HELI_LOWER,                 {DIR_N} }, // 3 - Land
-	{    2,    9, 0,                               {DIR_N} }, // 4 - Goto terminal on ground
-	{  -31,   59, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 5 - Circle #1 (north-east)
-	{  -31,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 6 - Circle #2 (north-west)
-	{   49,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 7 - Circle #3 (south-west)
-	{   70,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 8 - Circle #4 (south)
+	AMD(    5,    9, AMED_EXACTPOS,                   DIR_NE), // 0 - At heliport terminal
+	AMD(    2,    9, AMED_HELI_RAISE,                 DIR_N ), // 1 - Take off (play sound)
+	AMD(   -3,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 2 - In position above landing spot helicopter
+	AMD(   -3,    9, AMED_HELI_LOWER,                 DIR_N ), // 3 - Land
+	AMD(    2,    9, 0,                               DIR_N ), // 4 - Goto terminal on ground
+	AMD(  -31,   59, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 5 - Circle #1 (north-east)
+	AMD(  -31,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 6 - Circle #2 (north-west)
+	AMD(   49,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 7 - Circle #3 (south-west)
+	AMD(   70,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 8 - Circle #4 (south)
 };
 
 /* HeliDepot 2x2 (heliport) */
 static const AirportMovingData _airport_moving_data_helidepot[18] = {
-	{   24,    4, AMED_EXACTPOS,                   {DIR_NE} }, // 0 - At depot
-	{   24,   28, 0,                               {DIR_N} }, // 1 Taxi to right outside depot
-	{    5,   38, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 2 Flying
-	{  -15,  -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 3 - Circle #1 (north-east)
-	{  -15,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 4 - Circle #2 (north-west)
-	{   49,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 5 - Circle #3 (south-west)
-	{   49,  -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 6 - Circle #4 (south-east)
-	{    8,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} }, // 7 - PreHelipad
-	{    8,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} }, // 8 - Helipad
-	{    8,   16, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} }, // 9 - Land
-	{    8,   16, AMED_HELI_LOWER,                 {DIR_NW} }, // 10 - Land
-	{    8,   24, AMED_HELI_RAISE,                 {DIR_N} }, // 11 - Take off (play sound)
-	{   32,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NW} }, // 12 Air to above hangar area
-	{   32,   24, AMED_HELI_LOWER,                 {DIR_NW} }, // 13 Taxi to right outside depot
-	{    8,   24, AMED_EXACTPOS,                   {DIR_NW} }, // 14 - on helipad1
-	{   24,   28, AMED_HELI_RAISE,                 {DIR_N} }, // 15 Takeoff right outside depot
-	{    8,   24, AMED_HELI_RAISE,                 {DIR_SW} }, // 16 - Take off (play sound)
-	{    8,   24, AMED_SLOWTURN | AMED_EXACTPOS,   {DIR_E} }, // 17 - turn on helipad1 for takeoff
+	AMD(   24,    4, AMED_EXACTPOS,                   DIR_NE), // 0 - At depot
+	AMD(   24,   28, 0,                               DIR_N ), // 1 Taxi to right outside depot
+	AMD(    5,   38, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 2 Flying
+	AMD(  -15,  -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 3 - Circle #1 (north-east)
+	AMD(  -15,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 4 - Circle #2 (north-west)
+	AMD(   49,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 5 - Circle #3 (south-west)
+	AMD(   49,  -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 6 - Circle #4 (south-east)
+	AMD(    8,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW), // 7 - PreHelipad
+	AMD(    8,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW), // 8 - Helipad
+	AMD(    8,   16, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW), // 9 - Land
+	AMD(    8,   16, AMED_HELI_LOWER,                 DIR_NW), // 10 - Land
+	AMD(    8,   24, AMED_HELI_RAISE,                 DIR_N ), // 11 - Take off (play sound)
+	AMD(   32,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NW), // 12 Air to above hangar area
+	AMD(   32,   24, AMED_HELI_LOWER,                 DIR_NW), // 13 Taxi to right outside depot
+	AMD(    8,   24, AMED_EXACTPOS,                   DIR_NW), // 14 - on helipad1
+	AMD(   24,   28, AMED_HELI_RAISE,                 DIR_N ), // 15 Takeoff right outside depot
+	AMD(    8,   24, AMED_HELI_RAISE,                 DIR_SW), // 16 - Take off (play sound)
+	AMD(    8,   24, AMED_SLOWTURN | AMED_EXACTPOS,   DIR_E ), // 17 - turn on helipad1 for takeoff
 };
 
 /* HeliDepot 2x2 (heliport) */
 static const AirportMovingData _airport_moving_data_helistation[33] = {
-	{    8,    3, AMED_EXACTPOS,                   {DIR_SE} }, // 00 In Hangar2
-	{    8,   22, 0,                               {DIR_N} }, // 01 outside hangar 2
-	{  116,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 02 Fly to landing position in air
-	{   14,   22, AMED_HELI_RAISE,                 {DIR_N} }, // 03 Helitakeoff outside hangar1(play sound)
-	{   24,   22, 0,                               {DIR_N} }, // 04 taxiing
-	{   40,   22, 0,                               {DIR_N} }, // 05 taxiing
-	{   40,    8, AMED_EXACTPOS,                   {DIR_NE} }, // 06 Helipad 1
-	{   56,    8, AMED_EXACTPOS,                   {DIR_NE} }, // 07 Helipad 2
-	{   56,   24, AMED_EXACTPOS,                   {DIR_NE} }, // 08 Helipad 3
-	{   40,    8, AMED_EXACTPOS,                   {DIR_N} }, // 09 pre-helitakeoff helipad 1
-	{   56,    8, AMED_EXACTPOS,                   {DIR_N} }, // 10 pre-helitakeoff helipad 2
-	{   56,   24, AMED_EXACTPOS,                   {DIR_N} }, // 11 pre-helitakeoff helipad 3
-	{   32,    8, AMED_HELI_RAISE,                 {DIR_N} }, // 12 Takeoff Helipad1
-	{   48,    8, AMED_HELI_RAISE,                 {DIR_N} }, // 13 Takeoff Helipad2
-	{   48,   24, AMED_HELI_RAISE,                 {DIR_N} }, // 14 Takeoff Helipad3
-	{   84,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 15 Bufferspace before helipad
-	{   68,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 16 Bufferspace before helipad
-	{   32,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 17 Get in position for Helipad1
-	{   48,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 18 Get in position for Helipad2
-	{   48,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_NE} }, // 19 Get in position for Helipad3
-	{   40,    8, AMED_HELI_LOWER,                 {DIR_N} }, // 20 Land at Helipad1
-	{   48,    8, AMED_HELI_LOWER,                 {DIR_N} }, // 21 Land at Helipad2
-	{   48,   24, AMED_HELI_LOWER,                 {DIR_N} }, // 22 Land at Helipad3
-	{    0,   22, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 23 Go to position for Hangarentrance in air
-	{    0,   22, AMED_HELI_LOWER,                 {DIR_N} }, // 24 Land in front of hangar
-	{  148,   -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 25 Fly around waiting for a landing spot (south-east)
-	{  148,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 26 Fly around waiting for a landing spot (south-west)
-	{  132,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 27 Fly around waiting for a landing spot (south-west)
-	{  100,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 28 Fly around waiting for a landing spot (north-east)
-	{   84,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 29 Fly around waiting for a landing spot (south-east)
-	{   84,   -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 30 Fly around waiting for a landing spot (south-west)
-	{  100,  -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 31 Fly around waiting for a landing spot (north-west)
-	{  132,  -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 32 Fly around waiting for a landing spot (north-east)
+	AMD(    8,    3, AMED_EXACTPOS,                   DIR_SE), // 00 In Hangar2
+	AMD(    8,   22, 0,                               DIR_N ), // 01 outside hangar 2
+	AMD(  116,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 02 Fly to landing position in air
+	AMD(   14,   22, AMED_HELI_RAISE,                 DIR_N ), // 03 Helitakeoff outside hangar1(play sound)
+	AMD(   24,   22, 0,                               DIR_N ), // 04 taxiing
+	AMD(   40,   22, 0,                               DIR_N ), // 05 taxiing
+	AMD(   40,    8, AMED_EXACTPOS,                   DIR_NE), // 06 Helipad 1
+	AMD(   56,    8, AMED_EXACTPOS,                   DIR_NE), // 07 Helipad 2
+	AMD(   56,   24, AMED_EXACTPOS,                   DIR_NE), // 08 Helipad 3
+	AMD(   40,    8, AMED_EXACTPOS,                   DIR_N ), // 09 pre-helitakeoff helipad 1
+	AMD(   56,    8, AMED_EXACTPOS,                   DIR_N ), // 10 pre-helitakeoff helipad 2
+	AMD(   56,   24, AMED_EXACTPOS,                   DIR_N ), // 11 pre-helitakeoff helipad 3
+	AMD(   32,    8, AMED_HELI_RAISE,                 DIR_N ), // 12 Takeoff Helipad1
+	AMD(   48,    8, AMED_HELI_RAISE,                 DIR_N ), // 13 Takeoff Helipad2
+	AMD(   48,   24, AMED_HELI_RAISE,                 DIR_N ), // 14 Takeoff Helipad3
+	AMD(   84,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 15 Bufferspace before helipad
+	AMD(   68,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 16 Bufferspace before helipad
+	AMD(   32,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 17 Get in position for Helipad1
+	AMD(   48,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 18 Get in position for Helipad2
+	AMD(   48,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_NE), // 19 Get in position for Helipad3
+	AMD(   40,    8, AMED_HELI_LOWER,                 DIR_N ), // 20 Land at Helipad1
+	AMD(   48,    8, AMED_HELI_LOWER,                 DIR_N ), // 21 Land at Helipad2
+	AMD(   48,   24, AMED_HELI_LOWER,                 DIR_N ), // 22 Land at Helipad3
+	AMD(    0,   22, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 23 Go to position for Hangarentrance in air
+	AMD(    0,   22, AMED_HELI_LOWER,                 DIR_N ), // 24 Land in front of hangar
+	AMD(  148,   -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 25 Fly around waiting for a landing spot (south-east)
+	AMD(  148,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 26 Fly around waiting for a landing spot (south-west)
+	AMD(  132,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 27 Fly around waiting for a landing spot (south-west)
+	AMD(  100,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 28 Fly around waiting for a landing spot (north-east)
+	AMD(   84,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 29 Fly around waiting for a landing spot (south-east)
+	AMD(   84,   -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 30 Fly around waiting for a landing spot (south-west)
+	AMD(  100,  -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 31 Fly around waiting for a landing spot (north-west)
+	AMD(  132,  -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 32 Fly around waiting for a landing spot (north-east)
 };
 
 /* Oilrig */
 static const AirportMovingData _airport_moving_data_oilrig[9] = {
-	{   31,    9, AMED_EXACTPOS,                   {DIR_NE} }, // 0 - At oilrig terminal
-	{   28,    9, AMED_HELI_RAISE,                 {DIR_N} }, // 1 - Take off (play sound)
-	{   23,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 2 - In position above landing spot helicopter
-	{   23,    9, AMED_HELI_LOWER,                 {DIR_N} }, // 3 - Land
-	{   28,    9, 0,                               {DIR_N} }, // 4 - Goto terminal on ground
-	{  -31,   69, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 5 - circle #1 (north-east)
-	{  -31,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 6 - circle #2 (north-west)
-	{   69,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 7 - circle #3 (south-west)
-	{   69,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, {DIR_N} }, // 8 - circle #4 (south)
+	AMD(   31,    9, AMED_EXACTPOS,                   DIR_NE), // 0 - At oilrig terminal
+	AMD(   28,    9, AMED_HELI_RAISE,                 DIR_N ), // 1 - Take off (play sound)
+	AMD(   23,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 2 - In position above landing spot helicopter
+	AMD(   23,    9, AMED_HELI_LOWER,                 DIR_N ), // 3 - Land
+	AMD(   28,    9, 0,                               DIR_N ), // 4 - Goto terminal on ground
+	AMD(  -31,   69, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 5 - circle #1 (north-east)
+	AMD(  -31,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 6 - circle #2 (north-west)
+	AMD(   69,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 7 - circle #3 (south-west)
+	AMD(   69,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 8 - circle #4 (south)
 };
 
+#undef AMD
+
 ///////////////////////////////////////////////////////////////////////
 /////**********Movement Machine on Airports*********************///////
 static const byte _airport_entries_dummy[] = {0, 1, 2, 3};