mirror of https://github.com/OpenTTD/OpenTTD
Codechange: Use EnumBitSet for AirportMovingDataFlags. (#13754)
parent
84f093fc72
commit
3fde611012
|
@ -908,7 +908,7 @@ static bool AircraftController(Aircraft *v)
|
|||
int y = TileY(tile) * TILE_SIZE;
|
||||
|
||||
/* Helicopter raise */
|
||||
if (amd.flag & AMED_HELI_RAISE) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::HeliRaise)) {
|
||||
Aircraft *u = v->Next()->Next();
|
||||
|
||||
/* Make sure the rotors don't rotate too fast */
|
||||
|
@ -944,7 +944,7 @@ static bool AircraftController(Aircraft *v)
|
|||
}
|
||||
|
||||
/* Helicopter landing. */
|
||||
if (amd.flag & AMED_HELI_LOWER) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::HeliLower)) {
|
||||
SetBit(v->flags, VAF_HELI_DIRECT_DESCENT);
|
||||
|
||||
if (st == nullptr) {
|
||||
|
@ -996,7 +996,7 @@ static bool AircraftController(Aircraft *v)
|
|||
uint dist = abs(x + amd.x - v->x_pos) + abs(y + amd.y - v->y_pos);
|
||||
|
||||
/* Need exact position? */
|
||||
if (!(amd.flag & AMED_EXACTPOS) && dist <= (amd.flag & AMED_SLOWTURN ? 8U : 4U)) return true;
|
||||
if (!amd.flags.Test(AirportMovingDataFlag::ExactPosition) && dist <= (amd.flags.Test(AirportMovingDataFlag::SlowTurn) ? 8U : 4U)) return true;
|
||||
|
||||
/* At final pos? */
|
||||
if (dist == 0) {
|
||||
|
@ -1018,7 +1018,7 @@ static bool AircraftController(Aircraft *v)
|
|||
return false;
|
||||
}
|
||||
|
||||
if (amd.flag & AMED_BRAKE && v->cur_speed > SPEED_LIMIT_TAXI * _settings_game.vehicle.plane_speed) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Brake) && v->cur_speed > SPEED_LIMIT_TAXI * _settings_game.vehicle.plane_speed) {
|
||||
MaybeCrashAirplane(v);
|
||||
if ((v->vehstatus & VS_CRASHED) != 0) return false;
|
||||
}
|
||||
|
@ -1026,10 +1026,10 @@ static bool AircraftController(Aircraft *v)
|
|||
uint speed_limit = SPEED_LIMIT_TAXI;
|
||||
bool hard_limit = true;
|
||||
|
||||
if (amd.flag & AMED_NOSPDCLAMP) speed_limit = SPEED_LIMIT_NONE;
|
||||
if (amd.flag & AMED_HOLD) { speed_limit = SPEED_LIMIT_HOLD; hard_limit = false; }
|
||||
if (amd.flag & AMED_LAND) { speed_limit = SPEED_LIMIT_APPROACH; hard_limit = false; }
|
||||
if (amd.flag & AMED_BRAKE) { speed_limit = SPEED_LIMIT_TAXI; hard_limit = false; }
|
||||
if (amd.flags.Test(AirportMovingDataFlag::NoSpeedClamp)) speed_limit = SPEED_LIMIT_NONE;
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Hold)) { speed_limit = SPEED_LIMIT_HOLD; hard_limit = false; }
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Land)) { speed_limit = SPEED_LIMIT_APPROACH; hard_limit = false; }
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Brake)) { speed_limit = SPEED_LIMIT_TAXI; hard_limit = false; }
|
||||
|
||||
int count = UpdateAircraftSpeed(v, speed_limit, hard_limit);
|
||||
if (count == 0) return false;
|
||||
|
@ -1047,7 +1047,7 @@ static bool AircraftController(Aircraft *v)
|
|||
|
||||
GetNewVehiclePosResult gp;
|
||||
|
||||
if (nudge_towards_target || (amd.flag & AMED_LAND)) {
|
||||
if (nudge_towards_target || amd.flags.Test(AirportMovingDataFlag::Land)) {
|
||||
/* move vehicle one pixel towards target */
|
||||
gp.x = (v->x_pos != (x + amd.x)) ?
|
||||
v->x_pos + ((x + amd.x > v->x_pos) ? 1 : -1) :
|
||||
|
@ -1064,7 +1064,7 @@ static bool AircraftController(Aircraft *v)
|
|||
/* Turn. Do it slowly if in the air. */
|
||||
Direction newdir = GetDirectionTowards(v, x + amd.x, y + amd.y);
|
||||
if (newdir != v->direction) {
|
||||
if (amd.flag & AMED_SLOWTURN && v->number_consecutive_turns < 8 && v->subtype == AIR_AIRCRAFT) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::SlowTurn) && v->number_consecutive_turns < 8 && v->subtype == AIR_AIRCRAFT) {
|
||||
if (v->turn_counter == 0 || newdir == v->last_direction) {
|
||||
if (newdir == v->last_direction) {
|
||||
v->number_consecutive_turns = 0;
|
||||
|
@ -1100,17 +1100,17 @@ static bool AircraftController(Aircraft *v)
|
|||
|
||||
v->tile = gp.new_tile;
|
||||
/* If vehicle is in the air, use tile coordinate 0. */
|
||||
if (amd.flag & (AMED_TAKEOFF | AMED_SLOWTURN | AMED_LAND)) v->tile = TileIndex{};
|
||||
if (amd.flags.Any({AirportMovingDataFlag::Takeoff, AirportMovingDataFlag::SlowTurn, AirportMovingDataFlag::Land})) v->tile = TileIndex{};
|
||||
|
||||
/* Adjust Z for land or takeoff? */
|
||||
int z = v->z_pos;
|
||||
|
||||
if (amd.flag & AMED_TAKEOFF) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Takeoff)) {
|
||||
z = GetAircraftFlightLevel(v, true);
|
||||
} else if (amd.flag & AMED_HOLD) {
|
||||
} else if (amd.flags.Test(AirportMovingDataFlag::Hold)) {
|
||||
/* Let the plane drop from normal flight altitude to holding pattern altitude */
|
||||
if (z > GetAircraftHoldMaxAltitude(v)) z--;
|
||||
} else if ((amd.flag & AMED_SLOWTURN) && (amd.flag & AMED_NOSPDCLAMP)) {
|
||||
} else if (amd.flags.All({AirportMovingDataFlag::SlowTurn, AirportMovingDataFlag::NoSpeedClamp})) {
|
||||
z = GetAircraftFlightLevel(v);
|
||||
}
|
||||
|
||||
|
@ -1121,13 +1121,13 @@ static bool AircraftController(Aircraft *v)
|
|||
* We also know that the airport itself has to be completely flat (otherwise it is not a valid airport).
|
||||
* Therefore, use the height of this hangar to calculate our z-value. */
|
||||
int airport_z = v->z_pos;
|
||||
if ((amd.flag & (AMED_LAND | AMED_BRAKE)) && st != nullptr) {
|
||||
if (amd.flags.Any({AirportMovingDataFlag::Land, AirportMovingDataFlag::Brake}) && st != nullptr) {
|
||||
assert(st->airport.HasHangar());
|
||||
TileIndex hangar_tile = st->airport.GetHangarTile(0);
|
||||
airport_z = GetTileMaxPixelZ(hangar_tile) + 1; // To avoid clashing with the shadow
|
||||
}
|
||||
|
||||
if (amd.flag & AMED_LAND) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Land)) {
|
||||
if (st->airport.tile == INVALID_TILE) {
|
||||
/* Airport has been removed, abort the landing procedure */
|
||||
v->state = FLYING;
|
||||
|
@ -1151,7 +1151,7 @@ static bool AircraftController(Aircraft *v)
|
|||
}
|
||||
|
||||
/* We've landed. Decrease speed when we're reaching end of runway. */
|
||||
if (amd.flag & AMED_BRAKE) {
|
||||
if (amd.flags.Test(AirportMovingDataFlag::Brake)) {
|
||||
|
||||
if (z > airport_z) {
|
||||
z--;
|
||||
|
|
|
@ -80,7 +80,7 @@ static void AirportBuildAutomata(std::vector<AirportFTA> &layout, uint8_t nofele
|
|||
AirportMovingData RotateAirportMovingData(const AirportMovingData *orig, Direction rotation, uint num_tiles_x, uint num_tiles_y)
|
||||
{
|
||||
AirportMovingData amd;
|
||||
amd.flag = orig->flag;
|
||||
amd.flags = orig->flags;
|
||||
amd.direction = ChangeDir(orig->direction, (DirDiff)rotation);
|
||||
switch (rotation) {
|
||||
case DIR_N:
|
||||
|
|
|
@ -44,18 +44,20 @@ enum AirportTypes : uint8_t {
|
|||
};
|
||||
|
||||
/** Flags for airport movement data. */
|
||||
enum AirportMovingDataFlags : uint16_t {
|
||||
AMED_NOSPDCLAMP = 1 << 0, ///< No speed restrictions.
|
||||
AMED_TAKEOFF = 1 << 1, ///< Takeoff movement.
|
||||
AMED_SLOWTURN = 1 << 2, ///< Turn slowly (mostly used in the air).
|
||||
AMED_LAND = 1 << 3, ///< Landing onto landing strip.
|
||||
AMED_EXACTPOS = 1 << 4, ///< Go exactly to the destination coordinates.
|
||||
AMED_BRAKE = 1 << 5, ///< Taxiing at the airport.
|
||||
AMED_HELI_RAISE = 1 << 6, ///< Helicopter take-off.
|
||||
AMED_HELI_LOWER = 1 << 7, ///< Helicopter landing.
|
||||
AMED_HOLD = 1 << 8, ///< Holding pattern movement (above the airport).
|
||||
enum AirportMovingDataFlag : uint8_t {
|
||||
NoSpeedClamp, ///< No speed restrictions.
|
||||
Takeoff, ///< Takeoff movement.
|
||||
SlowTurn, ///< Turn slowly (mostly used in the air).
|
||||
Land, ///< Landing onto landing strip.
|
||||
ExactPosition, ///< Go exactly to the destination coordinates.
|
||||
Brake, ///< Taxiing at the airport.
|
||||
HeliRaise, ///< Helicopter take-off.
|
||||
HeliLower, ///< Helicopter landing.
|
||||
Hold, ///< Holding pattern movement (above the airport).
|
||||
};
|
||||
|
||||
using AirportMovingDataFlags = EnumBitSet<AirportMovingDataFlag, uint16_t>;
|
||||
|
||||
/** Movement States on Airports (headings target) */
|
||||
enum AirportMovementStates : uint8_t {
|
||||
TO_ALL = 0, ///< Go in this direction for every target.
|
||||
|
@ -133,7 +135,7 @@ using AirportBlocks = EnumBitSet<AirportBlock, uint64_t>;
|
|||
struct AirportMovingData {
|
||||
int16_t x; ///< x-coordinate of the destination.
|
||||
int16_t y; ///< y-coordinate of the destination.
|
||||
uint16_t flag; ///< special flags when moving towards the destination.
|
||||
AirportMovingDataFlags flags; ///< special flags when moving towards the destination.
|
||||
Direction direction; ///< Direction to turn the aircraft after reaching the destination.
|
||||
};
|
||||
|
||||
|
|
|
@ -136,35 +136,35 @@ static uint8_t MapAircraftMovementState(const Aircraft *v)
|
|||
if (st == nullptr) return AMS_TTDP_FLIGHT_TO_TOWER;
|
||||
|
||||
const AirportFTAClass *afc = st->airport.GetFTA();
|
||||
uint16_t amdflag = afc->MovingData(v->pos)->flag;
|
||||
AirportMovingDataFlags amdflag = afc->MovingData(v->pos)->flags;
|
||||
|
||||
switch (v->state) {
|
||||
case HANGAR:
|
||||
/* The international airport is a special case as helicopters can land in
|
||||
* front of the hangar. Helicopters also change their air.state to
|
||||
* AMED_HELI_LOWER some time before actually descending. */
|
||||
* AirportMovingDataFlag::HeliLower some time before actually descending. */
|
||||
|
||||
/* This condition only occurs for helicopters, during descent,
|
||||
* to a landing by the hangar of an international airport. */
|
||||
if (amdflag & AMED_HELI_LOWER) return AMS_TTDP_HELI_LAND_AIRPORT;
|
||||
if (amdflag.Test(AirportMovingDataFlag::HeliLower)) return AMS_TTDP_HELI_LAND_AIRPORT;
|
||||
|
||||
/* This condition only occurs for helicopters, before starting descent,
|
||||
* to a landing by the hangar of an international airport. */
|
||||
if (amdflag & AMED_SLOWTURN) return AMS_TTDP_FLIGHT_TO_TOWER;
|
||||
if (amdflag.Test(AirportMovingDataFlag::SlowTurn)) return AMS_TTDP_FLIGHT_TO_TOWER;
|
||||
|
||||
/* The final two conditions apply to helicopters or aircraft.
|
||||
* Has reached hangar? */
|
||||
if (amdflag & AMED_EXACTPOS) return AMS_TTDP_HANGAR;
|
||||
if (amdflag.Test(AirportMovingDataFlag::ExactPosition)) return AMS_TTDP_HANGAR;
|
||||
|
||||
/* Still moving towards hangar. */
|
||||
return AMS_TTDP_TO_HANGAR;
|
||||
|
||||
case TERM1:
|
||||
if (amdflag & AMED_EXACTPOS) return AMS_TTDP_TO_PAD1;
|
||||
if (amdflag.Test(AirportMovingDataFlag::ExactPosition)) return AMS_TTDP_TO_PAD1;
|
||||
return AMS_TTDP_TO_JUNCTION;
|
||||
|
||||
case TERM2:
|
||||
if (amdflag & AMED_EXACTPOS) return AMS_TTDP_TO_PAD2;
|
||||
if (amdflag.Test(AirportMovingDataFlag::ExactPosition)) return AMS_TTDP_TO_PAD2;
|
||||
return AMS_TTDP_TO_ENTRY_2_AND_3_AND_H;
|
||||
|
||||
case TERM3:
|
||||
|
@ -174,15 +174,15 @@ static uint8_t MapAircraftMovementState(const Aircraft *v)
|
|||
case TERM7:
|
||||
case TERM8:
|
||||
/* TTDPatch only has 3 terminals, so treat these states the same */
|
||||
if (amdflag & AMED_EXACTPOS) return AMS_TTDP_TO_PAD3;
|
||||
if (amdflag.Test(AirportMovingDataFlag::ExactPosition)) return AMS_TTDP_TO_PAD3;
|
||||
return AMS_TTDP_TO_ENTRY_2_AND_3_AND_H;
|
||||
|
||||
case HELIPAD1:
|
||||
case HELIPAD2:
|
||||
case HELIPAD3:
|
||||
/* Will only occur for helicopters.*/
|
||||
if (amdflag & AMED_HELI_LOWER) return AMS_TTDP_HELI_LAND_AIRPORT; // Descending.
|
||||
if (amdflag & AMED_SLOWTURN) return AMS_TTDP_FLIGHT_TO_TOWER; // Still hasn't started descent.
|
||||
if (amdflag.Test(AirportMovingDataFlag::HeliLower)) return AMS_TTDP_HELI_LAND_AIRPORT; // Descending.
|
||||
if (amdflag.Test(AirportMovingDataFlag::SlowTurn)) return AMS_TTDP_FLIGHT_TO_TOWER; // Still hasn't started descent.
|
||||
return AMS_TTDP_TO_JUNCTION; // On the ground.
|
||||
|
||||
case TAKEOFF: // Moving to takeoff position.
|
||||
|
@ -196,26 +196,26 @@ static uint8_t MapAircraftMovementState(const Aircraft *v)
|
|||
|
||||
case HELITAKEOFF: // Helicopter is moving to take off position.
|
||||
if (afc->delta_z == 0) {
|
||||
return amdflag & AMED_HELI_RAISE ?
|
||||
return amdflag.Test(AirportMovingDataFlag::HeliRaise) ?
|
||||
AMS_TTDP_HELI_TAKEOFF_AIRPORT : AMS_TTDP_TO_JUNCTION;
|
||||
} else {
|
||||
return AMS_TTDP_HELI_TAKEOFF_HELIPORT;
|
||||
}
|
||||
|
||||
case FLYING:
|
||||
return amdflag & AMED_HOLD ? AMS_TTDP_FLIGHT_APPROACH : AMS_TTDP_FLIGHT_TO_TOWER;
|
||||
return amdflag.Test(AirportMovingDataFlag::Hold) ? AMS_TTDP_FLIGHT_APPROACH : AMS_TTDP_FLIGHT_TO_TOWER;
|
||||
|
||||
case LANDING: // Descent
|
||||
return AMS_TTDP_FLIGHT_DESCENT;
|
||||
|
||||
case ENDLANDING: // On the runway braking
|
||||
if (amdflag & AMED_BRAKE) return AMS_TTDP_BRAKING;
|
||||
if (amdflag.Test(AirportMovingDataFlag::Brake)) return AMS_TTDP_BRAKING;
|
||||
/* Landed - moving off runway */
|
||||
return AMS_TTDP_TO_INWAY;
|
||||
|
||||
case HELILANDING:
|
||||
case HELIENDLANDING: // Helicoptor is descending.
|
||||
if (amdflag & AMED_HELI_LOWER) {
|
||||
if (amdflag.Test(AirportMovingDataFlag::HeliLower)) {
|
||||
return afc->delta_z == 0 ?
|
||||
AMS_TTDP_HELI_LAND_AIRPORT : AMS_TTDP_HELI_LAND_HELIPORT;
|
||||
} else {
|
||||
|
|
|
@ -34,375 +34,373 @@ struct AirportFTAbuildup {
|
|||
* @param flags Movement flags.
|
||||
* @param dir Direction.
|
||||
*/
|
||||
#define AMD(x, y, flags, dir) { x, y, flags, dir }
|
||||
|
||||
/** Dummy airport. */
|
||||
static const AirportMovingData _airport_moving_data_dummy[] = {
|
||||
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 ),
|
||||
{ 0, 0, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N },
|
||||
{ 0, 96, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N },
|
||||
{ 96, 96, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N },
|
||||
{ 96, 0, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N },
|
||||
};
|
||||
|
||||
/** Country Airfield (small) 4x3. */
|
||||
static const AirportMovingData _airport_moving_data_country[22] = {
|
||||
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
|
||||
{ 53, 3, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar
|
||||
{ 53, 27, {}, DIR_N }, // 01 Taxi to right outside depot
|
||||
{ 32, 23, {AirportMovingDataFlag::ExactPosition}, DIR_NW}, // 02 Terminal 1
|
||||
{ 10, 23, {AirportMovingDataFlag::ExactPosition}, DIR_NW}, // 03 Terminal 2
|
||||
{ 43, 37, {}, DIR_N }, // 04 Going towards terminal 2
|
||||
{ 24, 37, {}, DIR_N }, // 05 Going towards terminal 2
|
||||
{ 53, 37, {}, DIR_N }, // 06 Going for takeoff
|
||||
{ 61, 40, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 07 Taxi to start of runway (takeoff)
|
||||
{ 3, 40, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 08 Accelerate to end of runway
|
||||
{ -79, 40, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 09 Take off
|
||||
{ 177, 40, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 10 Fly to landing position in air
|
||||
{ 56, 40, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Land}, DIR_N }, // 11 Going down for land
|
||||
{ 3, 40, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 12 Just landed, brake until end of runway
|
||||
{ 7, 40, {}, DIR_N }, // 13 Just landed, turn around and taxi 1 square
|
||||
{ 53, 40, {}, DIR_N }, // 14 Taxi from runway to crossing
|
||||
{ 1, 193, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 15 Fly around waiting for a landing spot (north-east)
|
||||
{ 1, 1, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 16 Fly around waiting for a landing spot (north-west)
|
||||
{ 257, 1, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 17 Fly around waiting for a landing spot (south-west)
|
||||
{ 273, 47, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 18 Fly around waiting for a landing spot (south)
|
||||
{ 44, 37, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 19 Helicopter takeoff
|
||||
{ 44, 40, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 20 In position above landing spot helicopter
|
||||
{ 44, 40, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 21 Helicopter landing
|
||||
};
|
||||
|
||||
/** Commuter Airfield (small) 5x4. */
|
||||
static const AirportMovingData _airport_moving_data_commuter[38] = {
|
||||
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), // 02 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)
|
||||
{ 69, 3, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar
|
||||
{ 72, 22, {}, DIR_N }, // 01 Taxi to right outside depot
|
||||
{ 8, 22, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 02 Taxi to right outside depot
|
||||
{ 24, 36, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 03 Terminal 1
|
||||
{ 40, 36, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 04 Terminal 2
|
||||
{ 56, 36, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 05 Terminal 3
|
||||
{ 40, 8, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 06 Helipad 1
|
||||
{ 56, 8, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 07 Helipad 2
|
||||
{ 24, 22, {}, DIR_SW}, // 08 Taxiing
|
||||
{ 40, 22, {}, DIR_SW}, // 09 Taxiing
|
||||
{ 56, 22, {}, DIR_SW}, // 10 Taxiing
|
||||
{ 72, 40, {}, DIR_SE}, // 11 Airport OUTWAY
|
||||
{ 72, 54, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 12 Accelerate to end of runway
|
||||
{ 7, 54, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 13 Release control of runway, for smoother movement
|
||||
{ 5, 54, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 14 End of runway
|
||||
{ -79, 54, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 15 Take off
|
||||
{ 145, 54, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 16 Fly to landing position in air
|
||||
{ 73, 54, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Land}, DIR_N }, // 17 Going down for land
|
||||
{ 3, 54, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 18 Just landed, brake until end of runway
|
||||
{ 12, 54, {AirportMovingDataFlag::SlowTurn}, DIR_NW}, // 19 Just landed, turn around and taxi
|
||||
{ 8, 32, {}, DIR_NW}, // 20 Taxi from runway to crossing
|
||||
{ 1, 149, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 21 Fly around waiting for a landing spot (north-east)
|
||||
{ 1, 6, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 22 Fly around waiting for a landing spot (north-west)
|
||||
{ 193, 6, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 23 Fly around waiting for a landing spot (south-west)
|
||||
{ 225, 62, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 24 Fly around waiting for a landing spot (south)
|
||||
/* Helicopter */
|
||||
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 ), // 35 pre-helitakeoff helipad 1
|
||||
AMD( 56, 8, AMED_EXACTPOS, DIR_N ), // 36 pre-helitakeoff helipad 2
|
||||
AMD( 64, 25, AMED_HELI_RAISE, DIR_N ), // 37 Take off in front of hangar
|
||||
{ 80, 0, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 25 Bufferspace before helipad
|
||||
{ 80, 0, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 26 Bufferspace before helipad
|
||||
{ 32, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 27 Get in position for Helipad1
|
||||
{ 48, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 28 Get in position for Helipad2
|
||||
{ 32, 8, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 29 Land at Helipad1
|
||||
{ 48, 8, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 30 Land at Helipad2
|
||||
{ 32, 8, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 31 Takeoff Helipad1
|
||||
{ 48, 8, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 32 Takeoff Helipad2
|
||||
{ 64, 22, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 33 Go to position for Hangarentrance in air
|
||||
{ 64, 22, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 34 Land in front of hangar
|
||||
{ 40, 8, {AirportMovingDataFlag::ExactPosition}, DIR_N }, // 35 pre-helitakeoff helipad 1
|
||||
{ 56, 8, {AirportMovingDataFlag::ExactPosition}, DIR_N }, // 36 pre-helitakeoff helipad 2
|
||||
{ 64, 25, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 37 Take off in front of hangar
|
||||
};
|
||||
|
||||
/** City Airport (large) 6x6. */
|
||||
static const AirportMovingData _airport_moving_data_city[] = {
|
||||
AMD( 85, 3, AMED_EXACTPOS, DIR_SE), // 00 In Hangar
|
||||
AMD( 85, 22, 0, DIR_N ), // 01 Taxi to right outside depot
|
||||
AMD( 26, 41, AMED_EXACTPOS, DIR_SW), // 02 Terminal 1
|
||||
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)
|
||||
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 Intermediate Approach fix (south), IAF (west)
|
||||
AMD( -32, 120, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 29 Initial approach fix (east)
|
||||
{ 85, 3, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar
|
||||
{ 85, 22, {}, DIR_N }, // 01 Taxi to right outside depot
|
||||
{ 26, 41, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 02 Terminal 1
|
||||
{ 56, 22, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 03 Terminal 2
|
||||
{ 38, 8, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 04 Terminal 3
|
||||
{ 65, 6, {}, DIR_N }, // 05 Taxi to right in infront of terminal 2/3
|
||||
{ 80, 27, {}, DIR_N }, // 06 Taxiway terminals 2-3
|
||||
{ 44, 63, {}, DIR_N }, // 07 Taxi to Airport center
|
||||
{ 58, 71, {}, DIR_N }, // 08 Towards takeoff
|
||||
{ 72, 85, {}, DIR_N }, // 09 Taxi to runway (takeoff)
|
||||
{ 89, 85, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 10 Taxi to start of runway (takeoff)
|
||||
{ 3, 85, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 11 Accelerate to end of runway
|
||||
{ -79, 85, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 12 Take off
|
||||
{ 177, 87, {AirportMovingDataFlag::Hold, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 13 Fly to landing position in air
|
||||
{ 89, 87, {AirportMovingDataFlag::Hold, AirportMovingDataFlag::Land}, DIR_N }, // 14 Going down for land
|
||||
{ 20, 87, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 15 Just landed, brake until end of runway
|
||||
{ 20, 87, {}, DIR_N }, // 16 Just landed, turn around and taxi 1 square // NOT USED
|
||||
{ 36, 71, {}, DIR_N }, // 17 Taxi from runway to crossing
|
||||
{ 160, 87, {AirportMovingDataFlag::Hold, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 18 Fly around waiting for a landing spot (north-east)
|
||||
{ 140, 1, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 19 Final approach fix
|
||||
{ 257, 1, {AirportMovingDataFlag::Hold, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 20 Fly around waiting for a landing spot (south-west)
|
||||
{ 273, 49, {AirportMovingDataFlag::Hold, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 21 Fly around waiting for a landing spot (south)
|
||||
{ 44, 63, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 22 Helicopter takeoff
|
||||
{ 28, 74, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 23 In position above landing spot helicopter
|
||||
{ 28, 74, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 24 Helicopter landing
|
||||
{ 145, 1, {AirportMovingDataFlag::Hold, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 25 Fly around waiting for a landing spot (north-west)
|
||||
{ -32, 1, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 26 Initial approach fix (north)
|
||||
{ 300, -48, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 27 Initial approach fix (south)
|
||||
{ 140, -48, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 28 Intermediate Approach fix (south), IAF (west)
|
||||
{ -32, 120, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 29 Initial approach fix (east)
|
||||
};
|
||||
|
||||
/** Metropolitan Airport (metropolitan) - 2 runways. */
|
||||
static const AirportMovingData _airport_moving_data_metropolitan[28] = {
|
||||
AMD( 85, 3, AMED_EXACTPOS, DIR_SE), // 00 In Hangar
|
||||
AMD( 85, 22, 0, DIR_N ), // 01 Taxi to right outside depot
|
||||
AMD( 26, 41, AMED_EXACTPOS, DIR_SW), // 02 Terminal 1
|
||||
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( 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, 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
|
||||
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
|
||||
AMD( 21, 58, AMED_EXACTPOS, DIR_SW), // 27 Transitions after landing to on-ground movement
|
||||
{ 85, 3, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar
|
||||
{ 85, 22, {}, DIR_N }, // 01 Taxi to right outside depot
|
||||
{ 26, 41, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 02 Terminal 1
|
||||
{ 56, 22, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 03 Terminal 2
|
||||
{ 38, 8, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 04 Terminal 3
|
||||
{ 65, 6, {}, DIR_N }, // 05 Taxi to right in infront of terminal 2/3
|
||||
{ 80, 27, {}, DIR_N }, // 06 Taxiway terminals 2-3
|
||||
{ 49, 58, {}, DIR_N }, // 07 Taxi to Airport center
|
||||
{ 72, 58, {}, DIR_N }, // 08 Towards takeoff
|
||||
{ 72, 69, {}, DIR_N }, // 09 Taxi to runway (takeoff)
|
||||
{ 89, 69, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 10 Taxi to start of runway (takeoff)
|
||||
{ 3, 69, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 11 Accelerate to end of runway
|
||||
{ -79, 69, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 12 Take off
|
||||
{ 177, 85, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 13 Fly to landing position in air
|
||||
{ 89, 85, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Land}, DIR_N }, // 14 Going down for land
|
||||
{ 3, 85, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 15 Just landed, brake until end of runway
|
||||
{ 21, 85, {}, DIR_N }, // 16 Just landed, turn around and taxi 1 square
|
||||
{ 21, 69, {}, DIR_N }, // 17 On Runway-out taxiing to In-Way
|
||||
{ 21, 58, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 18 Taxi from runway to crossing
|
||||
{ 1, 193, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 19 Fly around waiting for a landing spot (north-east)
|
||||
{ 1, 1, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 20 Fly around waiting for a landing spot (north-west)
|
||||
{ 257, 1, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 21 Fly around waiting for a landing spot (south-west)
|
||||
{ 273, 49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 22 Fly around waiting for a landing spot (south)
|
||||
{ 44, 58, {}, DIR_N }, // 23 Helicopter takeoff spot on ground (to clear airport sooner)
|
||||
{ 44, 63, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 24 Helicopter takeoff
|
||||
{ 15, 54, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 25 Get in position above landing spot helicopter
|
||||
{ 15, 54, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 26 Helicopter landing
|
||||
{ 21, 58, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 27 Transitions after landing to on-ground movement
|
||||
};
|
||||
|
||||
/** International Airport (international) - 2 runways, 6 terminals, dedicated helipad. */
|
||||
static const AirportMovingData _airport_moving_data_international[53] = {
|
||||
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 (Hangar 1)
|
||||
AMD( 100, 36, 0, DIR_N ), // 03 Taxi to right outside depot (Hangar 2)
|
||||
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)
|
||||
{ 7, 55, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar 1
|
||||
{ 100, 21, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 01 In Hangar 2
|
||||
{ 7, 70, {}, DIR_N }, // 02 Taxi to right outside depot (Hangar 1)
|
||||
{ 100, 36, {}, DIR_N }, // 03 Taxi to right outside depot (Hangar 2)
|
||||
{ 38, 70, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 04 Terminal 1
|
||||
{ 38, 54, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 05 Terminal 2
|
||||
{ 38, 38, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 06 Terminal 3
|
||||
{ 70, 70, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 07 Terminal 4
|
||||
{ 70, 54, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 08 Terminal 5
|
||||
{ 70, 38, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 09 Terminal 6
|
||||
{ 104, 71, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 10 Helipad 1
|
||||
{ 104, 55, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 11 Helipad 2
|
||||
{ 22, 87, {}, DIR_N }, // 12 Towards Terminals 4/5/6, Helipad 1/2
|
||||
{ 60, 87, {}, DIR_N }, // 13 Towards Terminals 4/5/6, Helipad 1/2
|
||||
{ 66, 87, {}, DIR_N }, // 14 Towards Terminals 4/5/6, Helipad 1/2
|
||||
{ 86, 87, {AirportMovingDataFlag::ExactPosition}, DIR_NW}, // 15 Towards Terminals 4/5/6, Helipad 1/2
|
||||
{ 86, 70, {}, DIR_N }, // 16 In Front of Terminal 4 / Helipad 1
|
||||
{ 86, 54, {}, DIR_N }, // 17 In Front of Terminal 5 / Helipad 2
|
||||
{ 86, 38, {}, DIR_N }, // 18 In Front of Terminal 6
|
||||
{ 86, 22, {}, DIR_N }, // 19 Towards Terminals Takeoff (Taxiway)
|
||||
{ 66, 22, {}, DIR_N }, // 20 Towards Terminals Takeoff (Taxiway)
|
||||
{ 60, 22, {}, DIR_N }, // 21 Towards Terminals Takeoff (Taxiway)
|
||||
{ 38, 22, {}, DIR_N }, // 22 Towards Terminals Takeoff (Taxiway)
|
||||
{ 22, 70, {}, DIR_N }, // 23 In Front of Terminal 1
|
||||
{ 22, 58, {}, DIR_N }, // 24 In Front of Terminal 2
|
||||
{ 22, 38, {}, DIR_N }, // 25 In Front of Terminal 3
|
||||
{ 22, 22, {AirportMovingDataFlag::ExactPosition}, DIR_NW}, // 26 Going for Takeoff
|
||||
{ 22, 6, {}, DIR_N }, // 27 On Runway-out, prepare for takeoff
|
||||
{ 3, 6, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 28 Accelerate to end of runway
|
||||
{ 60, 6, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 29 Release control of runway, for smoother movement
|
||||
{ 105, 6, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 30 End of runway
|
||||
{ 190, 6, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 31 Take off
|
||||
{ 193, 104, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 32 Fly to landing position in air
|
||||
{ 105, 104, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Land}, DIR_N }, // 33 Going down for land
|
||||
{ 3, 104, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 34 Just landed, brake until end of runway
|
||||
{ 12, 104, {AirportMovingDataFlag::SlowTurn}, DIR_N }, // 35 Just landed, turn around and taxi 1 square
|
||||
{ 7, 84, {}, DIR_N }, // 36 Taxi from runway to crossing
|
||||
{ 1, 209, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 37 Fly around waiting for a landing spot (north-east)
|
||||
{ 1, 6, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 38 Fly around waiting for a landing spot (north-west)
|
||||
{ 273, 6, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 39 Fly around waiting for a landing spot (south-west)
|
||||
{ 305, 81, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 40 Fly around waiting for a landing spot (south)
|
||||
/* Helicopter */
|
||||
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
|
||||
AMD( 7, 70, AMED_HELI_RAISE, DIR_N ), // 51 Takeoff from HANGAR1_AREA
|
||||
AMD( 100, 36, AMED_HELI_RAISE, DIR_N ), // 52 Takeoff from HANGAR2_AREA
|
||||
{ 128, 80, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 41 Bufferspace before helipad
|
||||
{ 128, 80, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 42 Bufferspace before helipad
|
||||
{ 96, 71, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 43 Get in position for Helipad1
|
||||
{ 96, 55, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 44 Get in position for Helipad2
|
||||
{ 96, 71, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 45 Land at Helipad1
|
||||
{ 96, 55, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 46 Land at Helipad2
|
||||
{ 104, 71, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 47 Takeoff Helipad1
|
||||
{ 104, 55, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 48 Takeoff Helipad2
|
||||
{ 104, 32, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 49 Go to position for Hangarentrance in air
|
||||
{ 104, 32, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 50 Land in HANGAR2_AREA to go to hangar
|
||||
{ 7, 70, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 51 Takeoff from HANGAR1_AREA
|
||||
{ 100, 36, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 52 Takeoff from HANGAR2_AREA
|
||||
};
|
||||
|
||||
/** Intercontinental Airport - 4 runways, 8 terminals, 2 dedicated helipads. */
|
||||
static const AirportMovingData _airport_moving_data_intercontinental[77] = {
|
||||
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
|
||||
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( 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_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)
|
||||
{ 8, 87, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar 1
|
||||
{ 136, 72, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 01 In Hangar 2
|
||||
{ 8, 104, {}, DIR_N }, // 02 Taxi to right outside depot 1
|
||||
{ 136, 88, {}, DIR_N }, // 03 Taxi to right outside depot 2
|
||||
{ 56, 120, {AirportMovingDataFlag::ExactPosition}, DIR_W }, // 04 Terminal 1
|
||||
{ 56, 104, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 05 Terminal 2
|
||||
{ 56, 88, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 06 Terminal 3
|
||||
{ 56, 72, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 07 Terminal 4
|
||||
{ 88, 120, {AirportMovingDataFlag::ExactPosition}, DIR_N }, // 08 Terminal 5
|
||||
{ 88, 104, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 09 Terminal 6
|
||||
{ 88, 88, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 10 Terminal 7
|
||||
{ 88, 72, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 11 Terminal 8
|
||||
{ 88, 56, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 12 Helipad 1
|
||||
{ 72, 56, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 13 Helipad 2
|
||||
{ 40, 136, {}, DIR_N }, // 14 Term group 2 enter 1 a
|
||||
{ 56, 136, {}, DIR_N }, // 15 Term group 2 enter 1 b
|
||||
{ 88, 136, {}, DIR_N }, // 16 Term group 2 enter 2 a
|
||||
{ 104, 136, {}, DIR_N }, // 17 Term group 2 enter 2 b
|
||||
{ 104, 120, {}, DIR_N }, // 18 Term group 2 - opp term 5
|
||||
{ 104, 104, {}, DIR_N }, // 19 Term group 2 - opp term 6 & exit2
|
||||
{ 104, 88, {}, DIR_N }, // 20 Term group 2 - opp term 7 & hangar area 2
|
||||
{ 104, 72, {}, DIR_N }, // 21 Term group 2 - opp term 8
|
||||
{ 104, 56, {}, DIR_N }, // 22 Taxi Term group 2 exit a
|
||||
{ 104, 40, {}, DIR_N }, // 23 Taxi Term group 2 exit b
|
||||
{ 56, 40, {}, DIR_N }, // 24 Term group 2 exit 2a
|
||||
{ 40, 40, {}, DIR_N }, // 25 Term group 2 exit 2b
|
||||
{ 40, 120, {}, DIR_N }, // 26 Term group 1 - opp term 1
|
||||
{ 40, 104, {}, DIR_N }, // 27 Term group 1 - opp term 2 & hangar area 1
|
||||
{ 40, 88, {}, DIR_N }, // 28 Term group 1 - opp term 3
|
||||
{ 40, 72, {}, DIR_N }, // 29 Term group 1 - opp term 4
|
||||
{ 18, 72, {}, DIR_NW}, // 30 Outway 1
|
||||
{ 8, 40, {}, DIR_NW}, // 31 Airport OUTWAY
|
||||
{ 8, 24, {AirportMovingDataFlag::ExactPosition}, DIR_SW}, // 32 Accelerate to end of runway
|
||||
{ 119, 24, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 33 Release control of runway, for smoother movement
|
||||
{ 117, 24, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 34 End of runway
|
||||
{ 197, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 35 Take off
|
||||
{ 254, 84, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 36 Flying to landing position in air
|
||||
{ 117, 168, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Land}, DIR_N }, // 37 Going down for land
|
||||
{ 8, 168, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 38 Just landed, brake until end of runway
|
||||
{ 8, 168, {}, DIR_N }, // 39 Just landed, turn around and taxi
|
||||
{ 8, 144, {}, DIR_NW}, // 40 Taxi from runway
|
||||
{ 8, 128, {}, DIR_NW}, // 41 Taxi from runway
|
||||
{ 8, 120, {AirportMovingDataFlag::ExactPosition}, DIR_NW}, // 42 Airport entrance
|
||||
{ 56, 344, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 43 Fly around waiting for a landing spot (north-east)
|
||||
{ -200, 88, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 44 Fly around waiting for a landing spot (north-west)
|
||||
{ 56, -168, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 45 Fly around waiting for a landing spot (south-west)
|
||||
{ 312, 88, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 46 Fly around waiting for a landing spot (south)
|
||||
/* Helicopter */
|
||||
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
|
||||
{ 96, 40, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 47 Bufferspace before helipad
|
||||
{ 96, 40, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 48 Bufferspace before helipad
|
||||
{ 82, 54, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 49 Get in position for Helipad1
|
||||
{ 64, 56, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 50 Get in position for Helipad2
|
||||
{ 81, 55, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 51 Land at Helipad1
|
||||
{ 64, 56, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 52 Land at Helipad2
|
||||
{ 80, 56, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 53 Takeoff Helipad1
|
||||
{ 64, 56, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 54 Takeoff Helipad2
|
||||
{ 136, 96, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 55 Go to position for Hangarentrance in air
|
||||
{ 136, 96, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 56 Land in front of hangar2
|
||||
{ 126, 104, {}, DIR_SE}, // 57 Outway 2
|
||||
{ 136, 136, {}, DIR_NE}, // 58 Airport OUTWAY 2
|
||||
{ 136, 152, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 59 Accelerate to end of runway2
|
||||
{ 16, 152, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 60 Release control of runway2, for smoother movement
|
||||
{ 20, 152, {AirportMovingDataFlag::NoSpeedClamp}, DIR_N }, // 61 End of runway2
|
||||
{ -56, 152, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Takeoff}, DIR_N }, // 62 Take off2
|
||||
{ 24, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Land}, DIR_N }, // 63 Going down for land2
|
||||
{ 136, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::Brake}, DIR_N }, // 64 Just landed, brake until end of runway2in
|
||||
{ 136, 8, {}, DIR_N }, // 65 Just landed, turn around and taxi
|
||||
{ 136, 24, {}, DIR_SE}, // 66 Taxi from runway 2in
|
||||
{ 136, 40, {}, DIR_SE}, // 67 Taxi from runway 2in
|
||||
{ 136, 56, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 68 Airport entrance2
|
||||
{ -56, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 69 Fly to landing position in air2
|
||||
{ 88, 40, {}, DIR_N }, // 70 Taxi Term group 2 exit - opp heli1
|
||||
{ 72, 40, {}, DIR_N }, // 71 Taxi Term group 2 exit - opp heli2
|
||||
{ 88, 57, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 72 pre-helitakeoff helipad 1
|
||||
{ 71, 56, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 73 pre-helitakeoff helipad 2
|
||||
{ 8, 120, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 74 Helitakeoff outside depot 1
|
||||
{ 136, 104, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 75 Helitakeoff outside depot 2
|
||||
{ 197, 168, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 76 Fly to landing position in air1
|
||||
};
|
||||
|
||||
|
||||
/** Heliport (heliport). */
|
||||
static const AirportMovingData _airport_moving_data_heliport[9] = {
|
||||
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)
|
||||
{ 5, 9, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 0 - At heliport terminal
|
||||
{ 2, 9, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 1 - Take off (play sound)
|
||||
{ -3, 9, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 2 - In position above landing spot helicopter
|
||||
{ -3, 9, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 3 - Land
|
||||
{ 2, 9, {}, DIR_N }, // 4 - Goto terminal on ground
|
||||
{ -31, 59, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 5 - Circle #1 (north-east)
|
||||
{ -31, -49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 6 - Circle #2 (north-west)
|
||||
{ 49, -49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 7 - Circle #3 (south-west)
|
||||
{ 70, 9, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 8 - Circle #4 (south)
|
||||
};
|
||||
|
||||
/** HeliDepot 2x2 (heliport). */
|
||||
static const AirportMovingData _airport_moving_data_helidepot[18] = {
|
||||
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
|
||||
{ 24, 4, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 0 - At depot
|
||||
{ 24, 28, {}, DIR_N }, // 1 Taxi to right outside depot
|
||||
{ 5, 38, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 2 Flying
|
||||
{ -15, -15, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 3 - Circle #1 (north-east)
|
||||
{ -15, -49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 4 - Circle #2 (north-west)
|
||||
{ 49, -49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 5 - Circle #3 (south-west)
|
||||
{ 49, -15, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 6 - Circle #4 (south-east)
|
||||
{ 8, 32, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_NW}, // 7 - PreHelipad
|
||||
{ 8, 32, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_NW}, // 8 - Helipad
|
||||
{ 8, 16, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_NW}, // 9 - Land
|
||||
{ 8, 16, {AirportMovingDataFlag::HeliLower}, DIR_NW}, // 10 - Land
|
||||
{ 8, 24, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 11 - Take off (play sound)
|
||||
{ 32, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_NW}, // 12 Air to above hangar area
|
||||
{ 32, 24, {AirportMovingDataFlag::HeliLower}, DIR_NW}, // 13 Taxi to right outside depot
|
||||
{ 8, 24, {AirportMovingDataFlag::ExactPosition}, DIR_NW}, // 14 - on helipad1
|
||||
{ 24, 28, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 15 Takeoff right outside depot
|
||||
{ 8, 24, {AirportMovingDataFlag::HeliRaise}, DIR_SW}, // 16 - Take off (play sound)
|
||||
{ 8, 24, {AirportMovingDataFlag::SlowTurn, AirportMovingDataFlag::ExactPosition}, DIR_E }, // 17 - turn on helipad1 for takeoff
|
||||
};
|
||||
|
||||
/** HeliDepot 2x2 (heliport). */
|
||||
static const AirportMovingData _airport_moving_data_helistation[33] = {
|
||||
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)
|
||||
{ 8, 3, {AirportMovingDataFlag::ExactPosition}, DIR_SE}, // 00 In Hangar2
|
||||
{ 8, 22, {}, DIR_N }, // 01 outside hangar 2
|
||||
{ 116, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 02 Fly to landing position in air
|
||||
{ 14, 22, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 03 Helitakeoff outside hangar1(play sound)
|
||||
{ 24, 22, {}, DIR_N }, // 04 taxiing
|
||||
{ 40, 22, {}, DIR_N }, // 05 taxiing
|
||||
{ 40, 8, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 06 Helipad 1
|
||||
{ 56, 8, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 07 Helipad 2
|
||||
{ 56, 24, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 08 Helipad 3
|
||||
{ 40, 8, {AirportMovingDataFlag::ExactPosition}, DIR_N }, // 09 pre-helitakeoff helipad 1
|
||||
{ 56, 8, {AirportMovingDataFlag::ExactPosition}, DIR_N }, // 10 pre-helitakeoff helipad 2
|
||||
{ 56, 24, {AirportMovingDataFlag::ExactPosition}, DIR_N }, // 11 pre-helitakeoff helipad 3
|
||||
{ 32, 8, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 12 Takeoff Helipad1
|
||||
{ 48, 8, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 13 Takeoff Helipad2
|
||||
{ 48, 24, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 14 Takeoff Helipad3
|
||||
{ 84, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 15 Bufferspace before helipad
|
||||
{ 68, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 16 Bufferspace before helipad
|
||||
{ 32, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 17 Get in position for Helipad1
|
||||
{ 48, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 18 Get in position for Helipad2
|
||||
{ 48, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_NE}, // 19 Get in position for Helipad3
|
||||
{ 40, 8, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 20 Land at Helipad1
|
||||
{ 48, 8, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 21 Land at Helipad2
|
||||
{ 48, 24, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 22 Land at Helipad3
|
||||
{ 0, 22, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 23 Go to position for Hangarentrance in air
|
||||
{ 0, 22, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 24 Land in front of hangar
|
||||
{ 148, -8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 25 Fly around waiting for a landing spot (south-east)
|
||||
{ 148, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 26 Fly around waiting for a landing spot (south-west)
|
||||
{ 132, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 27 Fly around waiting for a landing spot (south-west)
|
||||
{ 100, 24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 28 Fly around waiting for a landing spot (north-east)
|
||||
{ 84, 8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 29 Fly around waiting for a landing spot (south-east)
|
||||
{ 84, -8, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 30 Fly around waiting for a landing spot (south-west)
|
||||
{ 100, -24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 31 Fly around waiting for a landing spot (north-west)
|
||||
{ 132, -24, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 32 Fly around waiting for a landing spot (north-east)
|
||||
};
|
||||
|
||||
/** Oilrig. */
|
||||
static const AirportMovingData _airport_moving_data_oilrig[9] = {
|
||||
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)
|
||||
{ 31, 9, {AirportMovingDataFlag::ExactPosition}, DIR_NE}, // 0 - At oilrig terminal
|
||||
{ 28, 9, {AirportMovingDataFlag::HeliRaise}, DIR_N }, // 1 - Take off (play sound)
|
||||
{ 23, 9, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 2 - In position above landing spot helicopter
|
||||
{ 23, 9, {AirportMovingDataFlag::HeliLower}, DIR_N }, // 3 - Land
|
||||
{ 28, 9, {}, DIR_N }, // 4 - Goto terminal on ground
|
||||
{ -31, 69, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 5 - circle #1 (north-east)
|
||||
{ -31, -49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 6 - circle #2 (north-west)
|
||||
{ 69, -49, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 7 - circle #3 (south-west)
|
||||
{ 69, 9, {AirportMovingDataFlag::NoSpeedClamp, AirportMovingDataFlag::SlowTurn}, DIR_N }, // 8 - circle #4 (south)
|
||||
};
|
||||
|
||||
#undef AMD
|
||||
|
|
Loading…
Reference in New Issue