From 48530026a2b82a32629e51824a02d343ce65fee1 Mon Sep 17 00:00:00 2001 From: spacek531 Date: Wed, 10 Aug 2022 15:54:33 -0700 Subject: [PATCH] Flying coaster track additions --- distribution/changelog.txt | 3 +- src/openrct2/ride/Ride.cpp | 39 +- src/openrct2/ride/Track.h | 46 +- src/openrct2/ride/TrackData.cpp | 306 +++- src/openrct2/ride/VehicleSubpositionData.cpp | 1254 ++++++++++++++++- .../ride/coaster/FlyingRollerCoaster.cpp | 536 ++++++- .../ride/coaster/LayDownRollerCoaster.cpp | 167 ++- .../ride/coaster/meta/FlyingRollerCoaster.h | 8 +- .../ride/coaster/meta/LayDownRollerCoaster.h | 8 +- .../meta/MultiDimensionRollerCoaster.h | 4 +- 10 files changed, 2308 insertions(+), 63 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 37281079b1..1633a6c32a 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,7 +1,8 @@ 0.4.2 (in development) ------------------------------------------------------------------------ - Feature: [#13634] Add ability to sell merchandise in random colours. -- Feature: [#16283] Added parkinfo command line tool to list objects in a save file. +- Feature: [#16164] Add new track elements for Flying Coaster and Lay-Down Coaster and add paint code for more elements. +- Feature: [#16283] Added parkinfo command line tool to list objects in a save file. - Feature: [#16662] Show a warning message when g2.dat is mismatched. - Feature: [#17107] Ride operating settings can be set via text input. - Feature: [#17638] Added Zero G rolls, medium loops and large corkscrews to the Hybrid and Single-Rail coasters. diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 1aba6ff9a6..e3907ac39a 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -4908,7 +4908,7 @@ OpenRCT2::BitSet ride_entry_get_supported_track_pieces(const { SpriteGroupType::Slopes90, SpritePrecision::Sprites4, SpriteGroupType::SlopesLoop, SpritePrecision::Sprites4, SpriteGroupType::SlopeInverted, SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP { SpriteGroupType::SlopeFlat, SpritePrecision::Sprites4 }, // TRACK_SPINNING_TUNNEL - { SpriteGroupType::SlopeFlat, SpritePrecision::Sprites4 }, // TRACK_ROTATION_CONTROL_TOGGLE + { SpriteGroupType::SlopeFlat, SpritePrecision::Sprites4 }, // TRACK_BOOSTER { SpriteGroupType::FlatBanked22, SpritePrecision::Sprites4, SpriteGroupType::FlatBanked45, SpritePrecision::Sprites4, SpriteGroupType::FlatBanked67, SpritePrecision::Sprites4, SpriteGroupType::FlatBanked90, SpritePrecision::Sprites4, SpriteGroupType::InlineTwists, SpritePrecision::Sprites4, SpriteGroupType::SlopeInverted, @@ -4919,17 +4919,22 @@ OpenRCT2::BitSet ride_entry_get_supported_track_pieces(const SpritePrecision::Sprites4 }, // TRACK_INLINE_TWIST_INVERTED { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, - SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP_UNINVERTED + SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP_UNINVERTED_UP + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, + SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP_UNINVERTED_DOWN { SpriteGroupType::Slopes90, SpritePrecision::Sprites4, SpriteGroupType::SlopesLoop, SpritePrecision::Sprites4, - SpriteGroupType::SlopeInverted, SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP_INVERTED + SpriteGroupType::SlopeInverted, SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP_INVERTED_UP + { SpriteGroupType::Slopes90, SpritePrecision::Sprites4, SpriteGroupType::SlopesLoop, SpritePrecision::Sprites4, + SpriteGroupType::SlopeInverted, SpritePrecision::Sprites4 }, // TRACK_QUARTER_LOOP_INVERTED_DOWN { SpriteGroupType::Slopes12, SpritePrecision::Sprites4 }, // TRACK_RAPIDS { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, - SpritePrecision::Sprites4 }, // TRACK_HALF_LOOP_UNINVERTED + SpritePrecision::Sprites4 }, // TRACK_FLYING_HALF_LOOP_UNINVERTED_UP { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, SpritePrecision::Sprites4, SpriteGroupType::SlopesLoop, SpritePrecision::Sprites4, SpriteGroupType::SlopeInverted, - SpritePrecision::Sprites4 }, // TRACK_HALF_LOOP_INVERTED + SpritePrecision::Sprites4 }, // TRACK_FLYING_HALF_LOOP_INVERTED_DOWN { SpriteGroupType::SlopeFlat, SpritePrecision::Sprites4 }, // TRACK_WATERFALL { SpriteGroupType::SlopeFlat, SpritePrecision::Sprites4 }, // TRACK_WHIRLPOOL { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, @@ -4943,6 +4948,30 @@ OpenRCT2::BitSet ride_entry_get_supported_track_pieces(const {}, // TRACK_MINI_GOLF_HOLE { SpriteGroupType::SlopeFlat, SpritePrecision::Sprites4 }, // TRACK_ROTATION_CONTROL_TOGGLE { SpriteGroupType::Slopes60, SpritePrecision::Sprites4 }, // TRACK_SLOPE_STEEP_UP + {}, // TRACK_CORKSCREW_LARGE + {}, // TRACK_HALF_LOOP_MEDIUM + {}, // TRACK_ZERO_G_ROLL + {}, // TRACK_ZERO_G_ROLL_LARGE + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, + SpritePrecision::Sprites4 }, // TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, SpritePrecision::Sprites4, + SpriteGroupType::SlopesLoop, SpritePrecision::Sprites4, SpriteGroupType::SlopeInverted, + SpritePrecision::Sprites4 }, // TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, SpritePrecision::Sprites4, + SpriteGroupType::SlopesLoop, SpritePrecision::Sprites4, SpriteGroupType::SlopeInverted, + SpritePrecision::Sprites4 }, // TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, + SpritePrecision::Sprites4 }, // TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, + SpritePrecision::Sprites4 }, // TRACK_FLYING_HALF_LOOP_INVERTED_UP + { SpriteGroupType::Slopes25, SpritePrecision::Sprites4, SpriteGroupType::Slopes60, SpritePrecision::Sprites4, + SpriteGroupType::Slopes75, SpritePrecision::Sprites4, SpriteGroupType::Slopes90, + SpritePrecision::Sprites4 }, // TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN }; // Only check default vehicle; it's assumed the others will have correct sprites if this one does (I've yet to find an diff --git a/src/openrct2/ride/Track.h b/src/openrct2/ride/Track.h index 46621c5602..0557a7ce03 100644 --- a/src/openrct2/ride/Track.h +++ b/src/openrct2/ride/Track.h @@ -111,6 +111,7 @@ enum constexpr uint16_t const MAX_TRACK_HEIGHT = 254 * COORDS_Z_STEP; constexpr uint8_t const DEFAULT_SEAT_ROTATION = 4; +// Vehicle sprite groups required by track groups are defined in ride_entry_get_supported_track_pieces enum { TRACK_NONE = 0, @@ -165,11 +166,13 @@ enum TRACK_BOOSTER, TRACK_INLINE_TWIST_UNINVERTED, TRACK_INLINE_TWIST_INVERTED, - TRACK_QUARTER_LOOP_UNINVERTED, - TRACK_QUARTER_LOOP_INVERTED, + TRACK_QUARTER_LOOP_UNINVERTED_UP, + TRACK_QUARTER_LOOP_UNINVERTED_DOWN, + TRACK_QUARTER_LOOP_INVERTED_UP, + TRACK_QUARTER_LOOP_INVERTED_DOWN, TRACK_RAPIDS, - TRACK_HALF_LOOP_UNINVERTED, - TRACK_HALF_LOOP_INVERTED, + TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, + TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_WATERFALL, TRACK_WHIRLPOOL, @@ -186,6 +189,14 @@ enum TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, + TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP, + TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN, + TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, + TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP, + + TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, + TRACK_FLYING_HALF_LOOP_INVERTED_UP, + TRACK_GROUP_COUNT, }; @@ -351,8 +362,6 @@ namespace TrackElemType constexpr track_type_t RotationControlToggleAlias = 100; constexpr track_type_t Booster = 100; constexpr track_type_t Maze = 101; - // Used by the multi-dimension coaster, as TD6 cannot handle index 255. - constexpr track_type_t InvertedUp90ToFlatQuarterLoopAlias = 101; constexpr track_type_t LeftQuarterBankedHelixLargeUp = 102; constexpr track_type_t RightQuarterBankedHelixLargeUp = 103; constexpr track_type_t LeftQuarterBankedHelixLargeDown = 104; @@ -442,8 +451,8 @@ namespace TrackElemType constexpr track_type_t RightFlyerTwistUp = 188; constexpr track_type_t LeftFlyerTwistDown = 189; constexpr track_type_t RightFlyerTwistDown = 190; - constexpr track_type_t FlyerHalfLoopUp = 191; - constexpr track_type_t FlyerHalfLoopDown = 192; + constexpr track_type_t FlyerHalfLoopUninvertedUp = 191; + constexpr track_type_t FlyerHalfLoopInvertedDown = 192; constexpr track_type_t LeftFlyerCorkscrewUp = 193; constexpr track_type_t RightFlyerCorkscrewUp = 194; constexpr track_type_t LeftFlyerCorkscrewDown = 195; @@ -520,8 +529,8 @@ namespace TrackElemType constexpr track_type_t FlatTrack1x4C = 265; constexpr track_type_t FlatTrack3x3 = 266; - constexpr track_type_t None = 65535; - + // SV6/TD6 element aliases + constexpr track_type_t InvertedUp90ToFlatQuarterLoopAlias = 101; constexpr track_type_t FlatTrack1x4A_Alias = 95; constexpr track_type_t FlatTrack2x2_Alias = 110; constexpr track_type_t FlatTrack4x4_Alias = 111; @@ -533,8 +542,10 @@ namespace TrackElemType constexpr track_type_t FlatTrack1x4C_Alias = 122; constexpr track_type_t FlatTrack3x3_Alias = 123; + // Highest track element ID that has a TD6 alias constexpr track_type_t HighestAlias = 266; + // Track Elements specific to OpenRCT2 constexpr track_type_t LeftLargeCorkscrewUp = 267; constexpr track_type_t RightLargeCorkscrewUp = 268; constexpr track_type_t LeftLargeCorkscrewDown = 269; @@ -552,7 +563,20 @@ namespace TrackElemType constexpr track_type_t LeftLargeZeroGRollDown = 281; constexpr track_type_t RightLargeZeroGRollDown = 282; - constexpr track_type_t Count = 283; + constexpr track_type_t LeftFlyerLargeHalfLoopUninvertedUp = 283; + constexpr track_type_t RightFlyerLargeHalfLoopUninvertedUp = 284; + constexpr track_type_t RightFlyerLargeHalfLoopInvertedDown = 285; + constexpr track_type_t LeftFlyerLargeHalfLoopInvertedDown = 286; + constexpr track_type_t LeftFlyerLargeHalfLoopInvertedUp = 287; + constexpr track_type_t RightFlyerLargeHalfLoopInvertedUp = 288; + constexpr track_type_t RightFlyerLargeHalfLoopUninvertedDown = 289; + constexpr track_type_t LeftFlyerLargeHalfLoopUninvertedDown = 290; + + constexpr track_type_t FlyerHalfLoopInvertedUp = 291; + constexpr track_type_t FlyerHalfLoopUninvertedDown = 292; + + constexpr track_type_t Count = 293; + constexpr track_type_t None = 65535; }; // namespace TrackElemType diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index 04f9aad80a..2b83d6f560 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -301,6 +301,16 @@ static constexpr rct_track_coordinates TrackCoordinates[TrackElemType::Count] = { 0, 0, 0, 152, -96, 0 }, // TrackElemType::RightLargeZeroGRollUp { 0, 0, 0, -152,-96, 0 }, // TrackElemType::RightLargeZeroGRollDown { 0, 0, 0, -152,-96, 0 }, // TrackElemType::LeftLargeZeroGRollDown + { 0, 2, 0, 248, -64, -32 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + { 0, 2, 0, 248, -64, 32 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + { 0, 2, 0, -248, 64, -32 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + { 0, 2, 0, -248, 64, 32 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + { 0, 2, 0, 280, -64, -32 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + { 0, 2, 0, 280, -64, 32 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + { 0, 2, 0, -280, 64, -32 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + { 0, 2, 0, -280, 64, 32 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + { 0, 2, 0, 152, -32, 0 }, // TrackElemType::FlyerHalfLoopInvertedUp + { 0, 2, 0, -152, 32, 0 }, // TrackElemType::FlyerHalfLoopUninvertedDown }; /** rct2: 0x0099BA64 */ @@ -589,6 +599,16 @@ static constexpr uint8_t TrackSequenceProperties[][MaxSequencesPerPiece] = { { 0 }, // TrackElemType::RightLargeZeroGRollDown { 0 }, // TrackElemType::LeftLargeZeroGRollDown + /* LeftFlyerLargeHalfLoopUninvertedUp */ { 0 }, + /* RightFlyerLargeHalfLoopUninvertedUp */ { 0 }, + /* RightFlyerLargeHalfLoopInvertedDown */ { 0 }, + /* LeftFlyerLargeHalfLoopInvertedDown */ { 0 }, + /* LeftFlyerLargeHalfLoopInvertedUp */ { 0 }, + /* RightFlyerLargeHalfLoopInvertedUp */ { 0 }, + /* RightFlyerLargeHalfLoopUninvertedDown */ { 0 }, + /* LeftFlyerLargeHalfLoopUninvertedDown */ { 0 }, + /* FlyerHalfLoopInvertedUp */ { 0 }, + /* FlyerHalfLoopUninvertedUp */ { 0 }, }; #define TRACK_BLOCK_END { 255, 255, 255, 255, 255, {255, 255}, 255 } @@ -2716,6 +2736,110 @@ static constexpr const rct_preview_track TrackBlocksRightLargeZeroGRollDown[] = TRACK_BLOCK_END }; +static constexpr const rct_preview_track TrackBlocksLeftFlyerLargeHalfLoopUninvertedUp[] = { + { 0, 0, 0, 0, 24, { 0b1111, 0b1100 }, 0 }, + { 1, -32, 0, 16, 40, { 0b1111, 0b1100 }, 0 }, + { 2, -64, 0, 32, 56, { 0b1111, 0 }, 0 }, + { 3, -96, 0, 64, 192, { 0b1111, 0 }, 0 }, + { 4, -128, -32, 120, 96, { 0b1111, 0 }, 0 }, + { 5, -96, -32, 64, 192, { 0b1111, 0 }, 0 }, + { 6, -64, -32, 248, 16, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksRightFlyerLargeHalfLoopUninvertedUp[] = { + { 0, 0, 0, 0, 24, { 0b1111, 0b1100 }, 0 }, + { 1, -32, 0, 16, 40, { 0b1111, 0b1100 }, 0 }, + { 2, -64, 0, 32, 56, { 0b1111, 0 }, 0 }, + { 3, -96, 0, 64, 192, { 0b1111, 0 }, 0 }, + { 4, -128, 32, 120, 96, { 0b1111, 0 }, 0 }, + { 5, -96, 32, 64, 192, { 0b1111, 0 }, 0 }, + { 6, -64, 32, 248, 16, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + + +static constexpr const rct_preview_track TrackBlocksLeftFlyerLargeHalfLoopInvertedUp[] = { + { 0, 0, 0, 0, 24, { 0b1111, 0b1100 }, 0 }, + { 1, -32, 0, 16, 40, { 0b1111, 0b1100 }, 0 }, + { 2, -64, 0, 32, 56, { 0b1111, 0 }, 0 }, + { 3, -96, 0, 64, 192, { 0b1111, 0 }, 0 }, + { 4, -128, -32, 120, 96, { 0b1111, 0 }, 0 }, + { 5, -96, -32, 64, 192, { 0b1111, 0 }, 0 }, + { 6, -64, -32, 248, 32, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksRightFlyerLargeHalfLoopInvertedUp[] = { + { 0, 0, 0, 0, 24, { 0b1111, 0b1100 }, 0 }, + { 1, -32, 0, 16, 40, { 0b1111, 0b1100 }, 0 }, + { 2, -64, 0, 32, 56, { 0b1111, 0 }, 0 }, + { 3, -96, 0, 64, 192, { 0b1111, 0 }, 0 }, + { 4, -128, 32, 120, 96, { 0b1111, 0 }, 0 }, + { 5, -96, 32, 64, 192, { 0b1111, 0 }, 0 }, + { 6, -64, 32, 248, 32, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksRightFlyerLargeHalfLoopInvertedDown[] = { + { 0, 0, 0, 0, 24, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -184, 192, { 0b1111, 0 }, 0 }, + { 2, -64, 0, -128, 96, { 0b1111, 0 }, 0 }, + { 3, -32, -32, -184, 192, { 0b1111, 0 }, 0 }, + { 4, 0, -32, -216, 56, { 0b1111, 0 }, 0 }, + { 5, 32, -32, -232, 40, { 0b1111, 0b1100 }, 0 }, + { 6, 64, -32, -248, 24, { 0b1111, 0b1100 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksLeftFlyerLargeHalfLoopInvertedDown[] = { + { 0, 0, 0, 0, 24, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -184, 192, { 0b1111, 0 }, 0 }, + { 2, -64, 0, -128, 96, { 0b1111, 0 }, 0 }, + { 3, -32, 32, -184, 192, { 0b1111, 0 }, 0 }, + { 4, 0, 32, -216, 56, { 0b1111, 0 }, 0 }, + { 5, 32, 32, -232, 40, { 0b1111, 0b1100 }, 0 }, + { 6, 64, 32, -248, 24, { 0b1111, 0b1100 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksRightFlyerLargeHalfLoopUninvertedDown[] = { + { 0, 0, 0, -32, 40, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -216, 192, { 0b1111, 0 }, 0 }, + { 2, -64, 0, -160, 96, { 0b1111, 0 }, 0 }, + { 3, -32, -32, -216, 192, { 0b1111, 0 }, 0 }, + { 4, 0, -32, -248, 56, { 0b1111, 0 }, 0 }, + { 5, 32, -32, -264, 40, { 0b1111, 0b1100 }, 0 }, + { 6, 64, -32, -280, 24, { 0b1111, 0b1100 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksLeftFlyerLargeHalfLoopUninvertedDown[] = { + { 0, 0, 0, -32, 40, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -216, 192, { 0b1111, 0 }, 0 }, + { 2, -64, 0, -160, 96, { 0b1111, 0 }, 0 }, + { 3, -32, 32, -216, 192, { 0b1111, 0 }, 0 }, + { 4, 0, 32, -248, 56, { 0b1111, 0 }, 0 }, + { 5, 32, 32, -264, 40, { 0b1111, 0b1100 }, 0 }, + { 6, 64, 32, -280, 24, { 0b1111, 0b1100 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksFlyerHalfLoopUpInverted[] = { + { 0, 0, 0, 0, 32, { 0b1111, 0b1100 }, 0 }, + { 1, -32, 0, 16, 16, { 0b1111, 0b1100 }, 0 }, + { 2, -64, 0, 32, 96,{ 0b0011, 0 }, 0 }, + { 3, -32, 0, 120, 32, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const rct_preview_track TrackBlocksFlyerHalfLoopDownUpright[] = { + { 0, 0, 0, -32, 32, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -120, 96,{ 0b0011, 0 }, 0 }, + { 2, 0, 0, -136, 16, { 0b1111, 0b1100 }, 0 }, + { 3, 32, 0, -152, 16, { 0b1111, 0b1100 }, 0 }, + TRACK_BLOCK_END +}; // rct2: 0x00994638 static constexpr std::array TrackBlocks = { @@ -3003,6 +3127,17 @@ static constexpr std::array Trac TrackBlocksRightLargeZeroGRollUp, TrackBlocksLeftLargeZeroGRollDown, TrackBlocksRightLargeZeroGRollDown, + + TrackBlocksLeftFlyerLargeHalfLoopUninvertedUp, // LeftFlyerLargeHalfLoopUninvertedUp + TrackBlocksRightFlyerLargeHalfLoopUninvertedUp, // RightFlyerLargeHalfLoopUninvertedUp + TrackBlocksRightFlyerLargeHalfLoopInvertedDown, // RightFlyerLargeHalfLoopInvertedDown + TrackBlocksLeftFlyerLargeHalfLoopInvertedDown, // LeftFlyerLargeHalfLoopInvertedDown + TrackBlocksLeftFlyerLargeHalfLoopInvertedUp, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + TrackBlocksRightFlyerLargeHalfLoopInvertedUp, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + TrackBlocksRightFlyerLargeHalfLoopUninvertedDown, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + TrackBlocksLeftFlyerLargeHalfLoopUninvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + TrackBlocksFlyerHalfLoopUpInverted, // TrackElemType::FlyerHalfLoopInvertedUp + TrackBlocksFlyerHalfLoopDownUpright, // TrackElemType::FlyerHalfLoopUninvertedDown }; static constexpr uint8_t TrackPieceLengths[TrackElemType::Count] = { @@ -3197,8 +3332,8 @@ static constexpr uint8_t TrackPieceLengths[TrackElemType::Count] = { 96, // TrackElemType::RightFlyerTwistUp 96, // TrackElemType::LeftFlyerTwistDown 96, // TrackElemType::RightFlyerTwistDown - 64, // TrackElemType::FlyerHalfLoopUp - 64, // TrackElemType::FlyerHalfLoopDown + 64, // TrackElemType::FlyerHalfLoopUninvertedUp + 64, // TrackElemType::FlyerHalfLoopInvertedDown 64, // TrackElemType::LeftFlyerCorkscrewUp 64, // TrackElemType::RightFlyerCorkscrewUp 64, // TrackElemType::LeftFlyerCorkscrewDown @@ -3288,7 +3423,17 @@ static constexpr uint8_t TrackPieceLengths[TrackElemType::Count] = { 165, // TrackElemType::LeftLargeZeroGRollUp 165, // TrackElemType::RightLargeZeroGRollUp 165, // TrackElemType::RightLargeZeroGRollDown - 165 // TrackElemType::LeftLargeZeroGRollDown + 165, // TrackElemType::LeftLargeZeroGRollDown + 100, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + 100, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + 100, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + 100, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + 100, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + 100, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + 100, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + 100, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + 64, // TrackElemType::FlyerHalfLoopInvertedUp + 64, // TrackElemType::FlyerHalfLoopUninvertedDown }; // rct2: 0x00998C95 @@ -3576,6 +3721,16 @@ static constexpr track_curve_chain gTrackCurveChain[TrackElemType::Count] = { { RideConstructionSpecialPieceSelected | TrackElemType::RightLargeZeroGRollDown, TRACK_CURVE_NONE }, // TrackElemType::RightLargeZeroGRollUp { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeZeroGRollUp }, // TrackElemType::LeftLargeZeroGRollDown { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightLargeZeroGRollUp }, // TrackElemType::RightLargeZeroGRollDown + { RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopInvertedDown, TRACK_CURVE_NONE }, // LeftFlyerLargeHalfLoopUninvertedUp + { RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopInvertedDown, TRACK_CURVE_NONE }, // RightFlyerLargeHalfLoopUninvertedUp + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopUninvertedUp }, // RightFlyerLargeHalfLoopInvertedDown + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp }, // LeftFlyerLargeHalfLoopInvertedDown + { RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown, TRACK_CURVE_NONE}, // LeftFlyerLargeHalfLoopInvertedUp + { RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopUninvertedDown, TRACK_CURVE_NONE }, // RightFlyerLargeHalfLoopInvertedUp + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopInvertedUp }, // RightFlyerLargeHalfLoopUninvertedDown + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopInvertedUp }, // LeftFlyerLargeHalfLoopUninvertedDown + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // FlyerHalfLoopInvertedUp + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // FlyerHalfLoopUninvertedUp }; const track_descriptor gTrackDescriptors[142] = { @@ -4007,7 +4162,13 @@ static constexpr track_type_t AlternativeTrackTypes[TrackElemType::Count] = { TrackElemType::None, // TrackElemType::LeftLargeZeroGRollUp TrackElemType::None, // TrackElemType::RightLargeZeroGRollUp TrackElemType::None, // TrackElemType::LeftLargeZeroGRollDown - TrackElemType::None // TrackElemType::RightLargeZeroGRollDown + TrackElemType::None, // TrackElemType::RightLargeZeroGRollDown + TrackElemType::None, // LeftFlyerLargeHalfLoopUninvertedUp + TrackElemType::None, // RightFlyerLargeHalfLoopUninvertedUp + TrackElemType::None, // RightFlyerLargeHalfLoopInvertedDown + TrackElemType::None, // LeftFlyerLargeHalfLoopInvertedDown + TrackElemType::None, // FlyerHalfLoopInvertedUp + TrackElemType::None, // FlyerHalfLoopUninvertedDown }; /** rct2: 0x0099DA34 */ @@ -4113,7 +4274,7 @@ static constexpr money32 TrackPricing[TrackElemType::Count] = { 126976, // TrackElemType::RightQuarterTurn1TileDown60 90112, // TrackElemType::Brakes 77824, // TrackElemType::Booster - 65536, // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze + 65536, // TrackElemType::Maze 273539, // TrackElemType::LeftQuarterBankedHelixLargeUp 273539, // TrackElemType::RightQuarterBankedHelixLargeUp 273539, // TrackElemType::LeftQuarterBankedHelixLargeDown @@ -4203,8 +4364,8 @@ static constexpr money32 TrackPricing[TrackElemType::Count] = { 221184, // TrackElemType::RightFlyerTwistUp 221184, // TrackElemType::LeftFlyerTwistDown 221184, // TrackElemType::RightFlyerTwistDown - 294912, // TrackElemType::FlyerHalfLoopUp - 294912, // TrackElemType::FlyerHalfLoopDown + 294912, // TrackElemType::FlyerHalfLoopUninvertedUp + 294912, // TrackElemType::FlyerHalfLoopInvertedDown 229376, // TrackElemType::LeftFlyerCorkscrewUp 229376, // TrackElemType::RightFlyerCorkscrewUp 229376, // TrackElemType::LeftFlyerCorkscrewDown @@ -4295,6 +4456,16 @@ static constexpr money32 TrackPricing[TrackElemType::Count] = { 425984, // TrackElemType::RightLargeZeroGRollUp 425984, // TrackElemType::LeftLargeZeroGRollDown 425984, // TrackElemType::RightLargeZeroGRollDown + 884736, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + 884736, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + 884736, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + 884736, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + 884736, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + 884736, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + 884736, // TrackElemType::RightFlyerLargeHalfLoopUnivertedDown + 884736, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + 294912, // TrackElemType::FlyerHalfLoopInvertedUp + 294912, // TrackElemType::FlyerHalfLoopUninvertedDown }; /** rct2: 0x0099EA1C */ @@ -4490,8 +4661,8 @@ static constexpr track_type_t TrackElementMirrorMap[TrackElemType::Count] = { TrackElemType::LeftFlyerTwistUp, // TrackElemType::RightFlyerTwistUp TrackElemType::RightFlyerTwistDown, // TrackElemType::LeftFlyerTwistDown TrackElemType::LeftFlyerTwistDown, // TrackElemType::RightFlyerTwistDown - TrackElemType::FlyerHalfLoopUp, - TrackElemType::FlyerHalfLoopDown, + TrackElemType::FlyerHalfLoopUninvertedUp, + TrackElemType::FlyerHalfLoopInvertedDown, TrackElemType::RightFlyerCorkscrewUp, // TrackElemType::LeftFlyerCorkscrewUp TrackElemType::LeftFlyerCorkscrewUp, // TrackElemType::RightFlyerCorkscrewUp TrackElemType::RightFlyerCorkscrewDown, // TrackElemType::LeftFlyerCorkscrewDown @@ -4582,6 +4753,16 @@ static constexpr track_type_t TrackElementMirrorMap[TrackElemType::Count] = { TrackElemType::LeftLargeZeroGRollUp, // TrackElemType::RightLargeZeroGRollUp TrackElemType::RightLargeZeroGRollDown, // TrackElemType::LeftLargeZeroGRollDown TrackElemType::LeftLargeZeroGRollDown, // TrackElemType::RightLargeZeroGRollDown + TrackElemType::RightFlyerLargeHalfLoopUninvertedUp, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + TrackElemType::LeftFlyerLargeHalfLoopInvertedDown, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + TrackElemType::RightFlyerLargeHalfLoopInvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + TrackElemType::RightFlyerLargeHalfLoopInvertedUp, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + TrackElemType::LeftFlyerLargeHalfLoopInvertedUp, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + TrackElemType::RightFlyerLargeHalfLoopUninvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + TrackElemType::FlyerHalfLoopInvertedUp, + TrackElemType::FlyerHalfLoopUninvertedDown, }; /** rct2: 0x00999694 */ @@ -4687,7 +4868,7 @@ static constexpr uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = { (1 << 0), // TrackElemType::RightQuarterTurn1TileDown60 (1 << 0), // TrackElemType::Brakes (1 << 0), // TrackElemType::Booster - (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15), // TrackElemType::InvertedUp90ToFlatQuarterLoopAlias / Maze + (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14) | (1 << 15), // Maze (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterBankedHelixLargeUp (1 << 0) | (1 << 6), // TrackElemType::RightQuarterBankedHelixLargeUp (1 << 0) | (1 << 6), // TrackElemType::LeftQuarterBankedHelixLargeDown @@ -4777,8 +4958,8 @@ static constexpr uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = { (1 << 0) | (1 << 2), // TrackElemType::RightFlyerTwistUp (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerTwistDown (1 << 0) | (1 << 2), // TrackElemType::RightFlyerTwistDown - (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopUp - (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopDown + (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopUninvertedUp + (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopInvertedDown (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerCorkscrewUp (1 << 0) | (1 << 2), // TrackElemType::RightFlyerCorkscrewUp (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerCorkscrewDown @@ -4869,6 +5050,16 @@ static constexpr uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = { (1 << 0) | (1 << 3), // TrackElemType::RightLargeZeroGRollUp (1 << 0) | (1 << 3), // TrackElemType::LeftLargeZeroGRollDown (1 << 0) | (1 << 3), // TrackElemType::RightLargeZeroGRollDown + (1 << 0) | (1 << 6), // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + (1 << 0) | (1 << 6), // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + (1 << 0) | (1 << 6), // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + (1 << 0) | (1 << 6), // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + (1 << 0) | (1 << 6), // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + (1 << 0) | (1 << 6), // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + (1 << 0) | (1 << 6), // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + (1 << 0) | (1 << 6), // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopInvertedUp + (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopUninvertedDown }; /** rct2: 0x00999A94 */ @@ -5064,8 +5255,8 @@ static constexpr uint8_t TrackSequenceElementAllowedWallEdges[TrackElemType::Cou { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerTwistUp { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerTwistDown { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerTwistDown - { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopUp - { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopDown + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopUninvertedUp + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopInvertedDown { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerCorkscrewUp { 0b1010, 0b1001, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerCorkscrewUp { 0b1010, 0b0011, 0b0101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerCorkscrewDown @@ -5157,6 +5348,16 @@ static constexpr uint8_t TrackSequenceElementAllowedWallEdges[TrackElemType::Cou { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftLargeZeroGRollDown { 0b1010, 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightLargeZeroGRollDown + { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopInvertedUp + { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopUninvertedDown }; /** rct2: 0x0099423C */ @@ -5352,8 +5553,8 @@ static constexpr uint16_t TrackFlags[TrackElemType::Count] = { /* TrackElemType::RightFlyerTwistUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftFlyerTwistDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightFlyerTwistDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TrackElemType::FlyerHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TrackElemType::FlyerHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::FlyerHalfLoopUninvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::FlyerHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftFlyerCorkscrewUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightFlyerCorkscrewUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftFlyerCorkscrewDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, @@ -5444,6 +5645,16 @@ static constexpr uint16_t TrackFlags[TrackElemType::Count] = { /* TrackElemType::RightLargeZeroGRollUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightLargeZeroGRollDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftLargeZeroGRollDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerLargeHalfLoopUninvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerLargeHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerLargeHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerLargeHalfLoopUninvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightFlyerLargeHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION, + /* TrackElemType::LeftFlyerLargeHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION, + /* TrackElemType::FlyerHalfLoopInvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::FlyerHalfLoopUnivertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION, }; // clang-format on @@ -5553,7 +5764,7 @@ static constexpr rct_trackdefinition TrackDefinitions[TrackElemType::Count] = { TRACK_FLAT, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN { TRACK_BRAKES, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_BRAKES { TRACK_BOOSTER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_BOOSTER - { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP + { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::Maze { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP { TRACK_HELIX_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN @@ -5643,8 +5854,8 @@ static constexpr rct_trackdefinition TrackDefinitions[TrackElemType::Count] = {TRACK_INLINE_TWIST_UNINVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_FLYER_TWIST_UP {TRACK_INLINE_TWIST_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_LEFT_FLYER_TWIST_DOWN {TRACK_INLINE_TWIST_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_FLYER_TWIST_DOWN - {TRACK_HALF_LOOP_UNINVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // ELEM_FLYER_HALF_LOOP_UP - {TRACK_HALF_LOOP_INVERTED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // ELEM_FLYER_HALF_LOOP_DOWN + {TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // ELEM_FLYER_HALF_LOOP_UP + {TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // ELEM_FLYER_HALF_LOOP_DOWN {TRACK_CORKSCREW_UNINVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_LEFT_FLYER_CORKSCREW_UP {TRACK_CORKSCREW_UNINVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_FLYER_CORKSCREW_UP {TRACK_CORKSCREW_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -32 }, // ELEM_LEFT_FLYER_CORKSCREW_DOWN @@ -5658,9 +5869,9 @@ static constexpr rct_trackdefinition TrackDefinitions[TrackElemType::Count] = {TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_MINI_GOLF_HOLE_C {TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_MINI_GOLF_HOLE_D {TRACK_MINI_GOLF_HOLE, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_MINI_GOLF_HOLE_E - {TRACK_QUARTER_LOOP_INVERTED, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN - {TRACK_QUARTER_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP - {TRACK_QUARTER_LOOP, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + { TRACK_QUARTER_LOOP_INVERTED_DOWN, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN + { TRACK_QUARTER_LOOP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP + { TRACK_QUARTER_LOOP, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_LEFT_CURVED_LIFT_HILL { TRACK_LIFT_HILL_CURVED, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_CURVED_LIFT_HILL { TRACK_REVERSER, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_LEFT_REVERSER @@ -5705,9 +5916,9 @@ static constexpr rct_trackdefinition TrackDefinitions[TrackElemType::Count] = { TRACK_FLAT, TRACK_SLOPE_UP_90, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN { TRACK_FLAT, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_DOWN_90, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN - { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP - { TRACK_QUARTER_LOOP_UNINVERTED,TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP - { TRACK_QUARTER_LOOP_INVERTED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // 255 + { TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP + { TRACK_QUARTER_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_90, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP + { TRACK_QUARTER_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_UP_QUARTER_LOOP { TRACK_ROTATION_CONTROL_TOGGLE,TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // ELEM_ROTATION_CONTROL_TOGGLE { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::FlatTrack1x4A { TRACK_FLAT, TRACK_SLOPE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::FlatTrack2x2 @@ -5735,6 +5946,16 @@ static constexpr rct_trackdefinition TrackDefinitions[TrackElemType::Count] = { TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 0 }, // TrackElemType::RightLargeZeroGRollUp { TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // TrackElemType::LeftLargeZeroGRollDown { TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_DOWN_60, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_BANK_UPSIDE_DOWN, 0 }, // TrackElemType::RightLargeZeroGRollDown + { TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + { TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + { TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + { TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + { TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + { TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + { TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + { TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + {TRACK_FLYING_HALF_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::FlyerHalfLoopInvertedUp + {TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::FlyerHalfLoopUninvertedDown }; // clang-format on @@ -5759,7 +5980,10 @@ constexpr static uint8_t TrackTypeToSpinFunction[TrackElemType::Count] = { NO_SPIN, L7_SPIN, R7_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, L7_SPIN, R7_SPIN, L7_SPIN, R7_SPIN, L8_SPIN, R8_SPIN, L8_SPIN, R8_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, - NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, }; template static int32_t EvaluatorConst(const int16_t) @@ -6110,10 +6334,12 @@ static constexpr TrackComputeFunction GetLateralFunction(const uint16_t type) case TrackElemType::RightQuarterTurn1Tile: return EvaluatorConst<-45>; case TrackElemType::HalfLoopUp: - case TrackElemType::FlyerHalfLoopUp: + case TrackElemType::FlyerHalfLoopUninvertedUp: + case TrackElemType::FlyerHalfLoopInvertedUp: return EvaluatorConst<0>; case TrackElemType::HalfLoopDown: - case TrackElemType::FlyerHalfLoopDown: + case TrackElemType::FlyerHalfLoopInvertedDown: + case TrackElemType::FlyerHalfLoopUninvertedDown: return EvaluatorConst<0>; case TrackElemType::LeftLargeCorkscrewUp: case TrackElemType::RightLargeCorkscrewDown: @@ -6456,10 +6682,12 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) case TrackElemType::RightQuarterTurn1Tile: return EvaluatorConst<0>; case TrackElemType::HalfLoopUp: - case TrackElemType::FlyerHalfLoopUp: + case TrackElemType::FlyerHalfLoopUninvertedUp: + case TrackElemType::FlyerHalfLoopInvertedUp: return EvaluatorHalfLoopUp; case TrackElemType::HalfLoopDown: - case TrackElemType::FlyerHalfLoopDown: + case TrackElemType::FlyerHalfLoopInvertedDown: + case TrackElemType::FlyerHalfLoopUninvertedDown: return EvaluatorHalfLoopDown; case TrackElemType::LeftLargeCorkscrewUp: case TrackElemType::RightLargeCorkscrewDown: @@ -6576,9 +6804,17 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) return EvaluatorMediumHalfLoopDown; case TrackElemType::LeftLargeHalfLoopUp: case TrackElemType::RightLargeHalfLoopUp: + case TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp: + case TrackElemType::RightFlyerLargeHalfLoopUninvertedUp: + case TrackElemType::RightFlyerLargeHalfLoopInvertedUp: + case TrackElemType::LeftFlyerLargeHalfLoopInvertedUp: return EvaluatorLargeHalfLoopUp; case TrackElemType::RightLargeHalfLoopDown: case TrackElemType::LeftLargeHalfLoopDown: + case TrackElemType::LeftFlyerLargeHalfLoopInvertedDown: + case TrackElemType::RightFlyerLargeHalfLoopInvertedDown: + case TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown: + case TrackElemType::RightFlyerLargeHalfLoopUninvertedDown: return EvaluatorLargeHalfLoopDown; case TrackElemType::HeartLineTransferUp: return EvaluatorHeartLineTransferUp; @@ -6895,6 +7131,16 @@ static constexpr const StringId RideConfigurationStringIds[] = { STR_LARGE_ZERO_G_ROLL_RIGHT, // TrackElemType::RightLargeZeroGRollUp STR_LARGE_ZERO_G_ROLL_LEFT, // TrackElemType::RightLargeZeroGRollDown STR_LARGE_ZERO_G_ROLL_RIGHT, // TrackElemType::LeftLargeZeroGRollDown + STR_LARGE_HALF_LOOP_LEFT, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp + STR_LARGE_HALF_LOOP_RIGHT, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp + STR_LARGE_HALF_LOOP_RIGHT, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown + STR_LARGE_HALF_LOOP_LEFT, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + STR_LARGE_HALF_LOOP_LEFT, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp + STR_LARGE_HALF_LOOP_RIGHT, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp + STR_LARGE_HALF_LOOP_RIGHT, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown + STR_LARGE_HALF_LOOP_LEFT, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + STR_HALF_LOOP, // TrackElemType::FlyerHalfLoopInvertedUp + STR_HALF_LOOP, // TrackElemType::FlyerHalfLoopUninvertedDown }; namespace OpenRCT2 diff --git a/src/openrct2/ride/VehicleSubpositionData.cpp b/src/openrct2/ride/VehicleSubpositionData.cpp index 4e6e85bce6..c1917abc0c 100644 --- a/src/openrct2/ride/VehicleSubpositionData.cpp +++ b/src/openrct2/ride/VehicleSubpositionData.cpp @@ -23803,6 +23803,1245 @@ CREATE_VEHICLE_INFO(TrackVehicleInfoRightLargeZeroGRollDown3, { { 16, -95, -118, 24, 8, 0}, { 16, -95, -119, 24, 8, 0}, { 16, -96, -120, 24, 8, 0}, }) + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown0, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, -1, 0, 0, 0 }, { 22, 16, -1, 0, 0, 0 }, + { 21, 15, -1, 0, 0, 0 }, { 20, 15, -1, 0, 0, 0 }, { 19, 15, -2, 0, 0, 0 }, { 18, 15, -2, 0, 0, 0 }, { 17, 15, -2, 0, 0, 0 }, + { 16, 15, -3, 16, 23, 0 }, { 15, 15, -3, 16, 23, 0 }, { 14, 15, -4, 16, 23, 0 }, { 13, 15, -4, 16, 23, 0 }, { 12, 15, -5, 16, 23, 0 }, + { 11, 14, -5, 16, 23, 0 }, { 10, 14, -6, 16, 23, 0 }, { 9, 14, -6, 16, 23, 0 }, { 8, 14, -7, 16, 23, 0 }, { 7, 14, -8, 16, 23, 0 }, + { 6, 14, -8, 16, 23, 0 }, { 5, 14, -9, 16, 23, 0 }, { 4, 14, -10, 16, 23, 0 }, { 3, 14, -11, 16, 23, 0 }, { 2, 14, -11, 16, 23, 0 }, + { 1, 13, -12, 16, 22, 0 }, { 0, 13, -13, 16, 22, 0 }, { -1, 13, -14, 16, 22, 0 }, { -2, 13, -15, 16, 22, 0 }, { -3, 13, -16, 16, 22, 0 }, + { -4, 13, -17, 16, 22, 0 }, { -5, 13, -18, 16, 22, 0 }, { -6, 13, -19, 16, 22, 0 }, { -7, 13, -20, 16, 22, 0 }, { -8, 12, -21, 16, 22, 0 }, + { -9, 12, -22, 16, 22, 0 }, { -9, 12, -23, 16, 22, 0 }, { -10, 12, -24, 16, 22, 0 }, { -11, 12, -25, 16, 21, 0 }, { -12, 12, -26, 16, 21, 0 }, + { -12, 12, -27, 16, 21, 0 }, { -13, 12, -28, 16, 21, 0 }, { -14, 12, -29, 16, 21, 0 }, { -14, 12, -30, 16, 21, 0 }, { -15, 11, -31, 16, 21, 0 }, + { -16, 11, -32, 16, 21, 0 }, { -16, 11, -33, 16, 21, 0 }, { -17, 11, -34, 16, 21, 0 }, { -17, 11, -35, 16, 21, 0 }, { -18, 11, -36, 16, 21, 0 }, + { -18, 11, -37, 16, 21, 0 }, { -19, 11, -38, 16, 21, 0 }, { -19, 11, -39, 16, 21, 0 }, { -20, 11, -40, 16, 20, 0 }, { -20, 10, -41, 16, 20, 0 }, + { -21, 10, -42, 16, 20, 0 }, { -21, 10, -43, 16, 20, 0 }, { -22, 10, -44, 16, 20, 0 }, { -22, 10, -45, 16, 20, 0 }, { -22, 10, -46, 16, 20, 0 }, + { -23, 10, -47, 16, 20, 0 }, { -23, 10, -48, 16, 20, 0 }, { -23, 10, -49, 16, 20, 0 }, { -24, 10, -50, 16, 20, 0 }, { -24, 9, -51, 16, 20, 0 }, + { -25, 9, -52, 16, 20, 0 }, { -25, 9, -53, 16, 20, 0 }, { -25, 9, -54, 16, 20, 0 }, { -26, 9, -55, 16, 19, 0 }, { -26, 9, -56, 16, 19, 0 }, + { -26, 9, -57, 16, 19, 0 }, { -26, 9, -58, 16, 19, 0 }, { -27, 9, -59, 16, 19, 0 }, { -27, 8, -60, 16, 19, 0 }, { -27, 8, -61, 16, 19, 0 }, + { -27, 8, -62, 16, 19, 0 }, { -28, 8, -63, 16, 19, 0 }, { -28, 8, -64, 16, 19, 0 }, { -28, 8, -65, 16, 19, 0 }, { -28, 8, -66, 16, 19, 0 }, + { -28, 8, -67, 16, 19, 0 }, { -28, 8, -68, 16, 19, 0 }, { -29, 8, -69, 16, 19, 0 }, { -29, 7, -70, 16, 19, 0 }, { -29, 7, -71, 16, 19, 0 }, + { -29, 7, -72, 16, 19, 0 }, { -29, 7, -73, 16, 19, 0 }, { -29, 7, -74, 16, 19, 0 }, { -29, 7, -75, 16, 19, 0 }, { -29, 7, -76, 16, 19, 0 }, + { -30, 7, -77, 16, 19, 0 }, { -30, 7, -78, 16, 19, 0 }, { -30, 7, -79, 16, 18, 0 }, { -30, 6, -80, 16, 18, 0 }, { -30, 6, -81, 16, 18, 0 }, + { -30, 6, -82, 16, 18, 0 }, { -30, 6, -83, 16, 18, 0 }, { -30, 6, -84, 16, 18, 0 }, { -30, 6, -85, 16, 18, 0 }, { -30, 6, -86, 16, 18, 0 }, + { -30, 6, -87, 16, 18, 0 }, { -30, 6, -88, 16, 18, 0 }, { -30, 5, -89, 16, 18, 0 }, { -30, 5, -90, 16, 18, 0 }, { -30, 5, -91, 16, 18, 0 }, + { -30, 5, -92, 16, 18, 0 }, { -30, 5, -93, 16, 18, 0 }, { -30, 5, -94, 16, 18, 0 }, { -30, 5, -95, 16, 18, 0 }, { -30, 5, -96, 16, 18, 0 }, + { -30, 5, -97, 16, 18, 0 }, { -30, 5, -98, 16, 18, 0 }, { -30, 4, -99, 16, 18, 0 }, { -30, 4, -100, 16, 18, 0 }, { -30, 4, -101, 16, 18, 0 }, + { -30, 4, -102, 16, 18, 0 }, { -30, 4, -103, 16, 18, 0 }, { -30, 4, -104, 16, 18, 0 }, { -30, 4, -105, 16, 18, 0 }, { -30, 4, -106, 16, 18, 0 }, + { -30, 4, -107, 16, 18, 0 }, { -30, 4, -108, 16, 18, 0 }, { -30, 3, -109, 16, 18, 0 }, { -30, 3, -110, 16, 18, 0 }, { -30, 3, -111, 16, 18, 0 }, + { -30, 3, -112, 16, 18, 0 }, { -30, 3, -113, 16, 18, 0 }, { -30, 3, -114, 16, 18, 0 }, { -30, 3, -115, 16, 18, 0 }, { -30, 3, -116, 16, 17, 0 }, + { -30, 3, -117, 16, 17, 0 }, { -29, 3, -118, 16, 17, 0 }, { -29, 2, -119, 16, 17, 0 }, { -29, 2, -120, 16, 17, 0 }, { -29, 2, -121, 16, 17, 0 }, + { -29, 2, -122, 16, 17, 0 }, { -29, 2, -123, 16, 17, 0 }, { -28, 2, -124, 16, 17, 0 }, { -28, 2, -125, 16, 17, 0 }, { -28, 2, -126, 16, 17, 0 }, + { -28, 2, -127, 16, 17, 0 }, { -28, 1, -128, 16, 17, 0 }, { -28, 1, -129, 16, 17, 0 }, { -27, 1, -130, 16, 17, 0 }, { -27, 1, -131, 16, 17, 0 }, + { -27, 1, -132, 16, 17, 0 }, { -27, 1, -133, 16, 17, 0 }, { -27, 1, -134, 16, 17, 0 }, { -26, 1, -135, 16, 17, 0 }, { -26, 1, -136, 16, 17, 0 }, + { -26, 1, -137, 16, 17, 0 }, { -26, 0, -138, 16, 17, 0 }, { -25, 0, -139, 16, 17, 0 }, { -25, 0, -140, 16, 17, 0 }, { -25, 0, -141, 16, 17, 0 }, + { -24, 0, -142, 16, 17, 0 }, { -24, 0, -143, 16, 17, 0 }, { -24, 0, -144, 16, 17, 0 }, { -23, 0, -145, 16, 17, 0 }, { -23, 0, -146, 16, 17, 0 }, + { -23, 0, -147, 16, 17, 0 }, { -23, -1, -148, 16, 17, 0 }, { -22, -1, -149, 16, 58, 0 }, { -22, -1, -150, 16, 58, 0 }, { -22, -1, -151, 16, 58, 0 }, + { -21, -1, -152, 16, 58, 0 }, { -21, -1, -153, 16, 58, 0 }, { -20, -1, -154, 16, 58, 0 }, { -20, -1, -155, 16, 58, 0 }, { -19, -1, -156, 16, 58, 0 }, + { -19, -2, -157, 16, 58, 0 }, { -19, -2, -158, 16, 58, 0 }, { -18, -2, -159, 16, 58, 0 }, { -18, -2, -160, 16, 58, 0 }, { -17, -2, -161, 16, 58, 0 }, + { -17, -2, -162, 16, 58, 0 }, { -17, -2, -163, 16, 58, 0 }, { -16, -2, -164, 16, 58, 0 }, { -16, -2, -165, 16, 58, 0 }, { -15, -2, -166, 16, 58, 0 }, + { -15, -3, -167, 16, 58, 0 }, { -14, -3, -168, 16, 58, 0 }, { -14, -3, -169, 16, 58, 0 }, { -14, -3, -170, 16, 58, 0 }, { -13, -3, -171, 16, 58, 0 }, + { -13, -3, -172, 16, 58, 0 }, { -12, -3, -173, 16, 58, 0 }, { -12, -3, -174, 16, 58, 0 }, { -11, -3, -175, 16, 58, 0 }, { -11, -3, -176, 16, 58, 0 }, + { -10, -4, -177, 16, 58, 0 }, { -10, -4, -178, 16, 58, 0 }, { -9, -4, -179, 16, 58, 0 }, { -8, -4, -180, 16, 58, 0 }, { -8, -4, -181, 16, 58, 0 }, + { -7, -4, -182, 16, 58, 0 }, { -7, -4, -183, 16, 58, 0 }, { -6, -4, -184, 16, 58, 0 }, { -5, -4, -185, 16, 57, 0 }, { -5, -4, -186, 16, 57, 0 }, + { -4, -5, -187, 16, 57, 0 }, { -4, -5, -188, 16, 57, 0 }, { -3, -5, -189, 16, 57, 0 }, { -2, -5, -190, 16, 57, 0 }, { -2, -5, -191, 16, 57, 0 }, + { -1, -5, -192, 16, 57, 0 }, { 0, -5, -193, 16, 57, 0 }, { 0, -5, -194, 16, 57, 0 }, { 1, -5, -195, 16, 57, 0 }, { 2, -6, -196, 16, 57, 0 }, + { 3, -6, -197, 16, 57, 0 }, { 3, -6, -198, 16, 57, 0 }, { 4, -6, -199, 16, 57, 0 }, { 5, -6, -200, 16, 57, 0 }, { 5, -6, -201, 16, 57, 0 }, + { 6, -6, -202, 16, 57, 0 }, { 7, -6, -203, 16, 57, 0 }, { 7, -6, -204, 16, 57, 0 }, { 8, -6, -205, 16, 57, 0 }, { 9, -7, -206, 16, 57, 0 }, + { 10, -7, -207, 16, 57, 0 }, { 11, -7, -208, 16, 57, 0 }, { 12, -7, -209, 16, 57, 0 }, { 13, -7, -210, 16, 57, 0 }, { 14, -7, -211, 16, 57, 0 }, + { 14, -7, -212, 16, 57, 0 }, { 15, -7, -213, 16, 57, 0 }, { 16, -7, -214, 16, 57, 0 }, { 17, -7, -215, 16, 57, 0 }, { 18, -8, -216, 16, 57, 0 }, + { 19, -8, -217, 16, 57, 0 }, { 20, -8, -218, 16, 57, 0 }, { 21, -8, -219, 16, 57, 0 }, { 22, -8, -220, 16, 57, 0 }, { 23, -8, -221, 16, 57, 0 }, + { 24, -8, -222, 16, 57, 0 }, { 25, -8, -222, 16, 57, 0 }, { 26, -8, -223, 16, 57, 0 }, { 27, -9, -224, 16, 57, 0 }, { 28, -9, -225, 16, 57, 0 }, + { 29, -9, -226, 16, 57, 0 }, { 30, -9, -227, 16, 57, 0 }, { 31, -9, -228, 16, 57, 0 }, { 32, -9, -228, 16, 57, 0 }, { 33, -9, -229, 16, 57, 0 }, + { 34, -9, -230, 16, 56, 0 }, { 35, -9, -231, 16, 56, 0 }, { 36, -9, -231, 16, 56, 0 }, { 37, -10, -232, 16, 56, 0 }, { 38, -10, -233, 16, 56, 0 }, + { 39, -10, -234, 16, 56, 0 }, { 40, -10, -234, 16, 56, 0 }, { 41, -10, -235, 16, 56, 0 }, { 42, -10, -236, 16, 56, 0 }, { 43, -10, -237, 16, 56, 0 }, + { 44, -10, -237, 16, 56, 0 }, { 45, -10, -238, 16, 56, 0 }, { 46, -10, -239, 16, 56, 0 }, { 47, -11, -239, 16, 56, 0 }, { 48, -11, -240, 16, 56, 0 }, + { 49, -11, -240, 16, 56, 0 }, { 50, -11, -241, 16, 56, 0 }, { 51, -11, -242, 16, 56, 0 }, { 52, -11, -242, 16, 56, 0 }, { 53, -11, -243, 16, 56, 0 }, + { 54, -11, -243, 16, 56, 0 }, { 55, -11, -244, 16, 56, 0 }, { 56, -11, -245, 16, 56, 0 }, { 57, -12, -245, 16, 56, 0 }, { 58, -12, -246, 16, 56, 0 }, + { 59, -12, -246, 16, 56, 0 }, { 60, -12, -247, 16, 56, 0 }, { 61, -12, -247, 16, 56, 0 }, { 62, -12, -248, 16, 56, 0 }, { 63, -12, -248, 16, 56, 0 }, + { 64, -12, -249, 16, 56, 0 }, { 65, -12, -249, 16, 56, 0 }, { 66, -13, -250, 16, 56, 0 }, { 67, -13, -250, 16, 56, 0 }, { 68, -13, -251, 16, 56, 0 }, + { 69, -13, -251, 16, 56, 0 }, { 70, -13, -252, 16, 56, 0 }, { 71, -13, -252, 16, 56, 0 }, { 72, -13, -253, 16, 56, 0 }, { 73, -13, -253, 16, 56, 0 }, + { 74, -13, -254, 16, 56, 0 }, { 75, -13, -254, 16, 56, 0 }, { 76, -14, -255, 16, 56, 0 }, { 77, -14, -255, 16, 56, 0 }, { 78, -14, -256, 16, 56, 0 }, + { 79, -14, -256, 16, 56, 0 }, { 80, -14, -257, 16, 56, 0 }, { 81, -14, -257, 16, 56, 0 }, { 82, -14, -258, 16, 56, 0 }, { 83, -14, -258, 16, 56, 0 }, + { 84, -14, -259, 16, 56, 0 }, { 85, -14, -259, 16, 56, 0 }, { 86, -15, -260, 16, 56, 0 }, { 87, -15, -260, 16, 56, 0 }, { 88, -15, -261, 16, 56, 0 }, + { 89, -15, -261, 16, 56, 0 }, { 90, -15, -262, 16, 56, 0 }, { 91, -15, -262, 16, 56, 0 }, { 92, -15, -263, 16, 56, 0 }, { 93, -15, -263, 16, 56, 0 }, + { 94, -15, -264, 16, 56, 0 } + }) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown1, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, -1, 8, 0, 0 }, { 16, 9, -1, 8, 0, 0 }, + { 15, 10, -1, 8, 0, 0 }, { 15, 11, -1, 8, 0, 0 }, { 15, 12, -2, 8, 0, 0 }, { 15, 13, -2, 8, 0, 0 }, { 15, 14, -2, 8, 0, 0 }, + { 15, 15, -3, 24, 23, 0 }, { 15, 16, -3, 24, 23, 0 }, { 15, 17, -4, 24, 23, 0 }, { 15, 18, -4, 24, 23, 0 }, { 15, 19, -5, 24, 23, 0 }, + { 14, 20, -5, 24, 23, 0 }, { 14, 21, -6, 24, 23, 0 }, { 14, 22, -6, 24, 23, 0 }, { 14, 23, -7, 24, 23, 0 }, { 14, 24, -8, 24, 23, 0 }, + { 14, 25, -8, 24, 23, 0 }, { 14, 26, -9, 24, 23, 0 }, { 14, 27, -10, 24, 23, 0 }, { 14, 28, -11, 24, 23, 0 }, { 14, 29, -11, 24, 23, 0 }, + { 13, 30, -12, 24, 22, 0 }, { 13, 31, -13, 24, 22, 0 }, { 13, 32, -14, 24, 22, 0 }, { 13, 33, -15, 24, 22, 0 }, { 13, 34, -16, 24, 22, 0 }, + { 13, 35, -17, 24, 22, 0 }, { 13, 36, -18, 24, 22, 0 }, { 13, 37, -19, 24, 22, 0 }, { 13, 38, -20, 24, 22, 0 }, { 12, 39, -21, 24, 22, 0 }, + { 12, 40, -22, 24, 22, 0 }, { 12, 40, -23, 24, 22, 0 }, { 12, 41, -24, 24, 22, 0 }, { 12, 42, -25, 24, 21, 0 }, { 12, 43, -26, 24, 21, 0 }, + { 12, 43, -27, 24, 21, 0 }, { 12, 44, -28, 24, 21, 0 }, { 12, 45, -29, 24, 21, 0 }, { 12, 45, -30, 24, 21, 0 }, { 11, 46, -31, 24, 21, 0 }, + { 11, 47, -32, 24, 21, 0 }, { 11, 47, -33, 24, 21, 0 }, { 11, 48, -34, 24, 21, 0 }, { 11, 48, -35, 24, 21, 0 }, { 11, 49, -36, 24, 21, 0 }, + { 11, 49, -37, 24, 21, 0 }, { 11, 50, -38, 24, 21, 0 }, { 11, 50, -39, 24, 21, 0 }, { 11, 51, -40, 24, 20, 0 }, { 10, 51, -41, 24, 20, 0 }, + { 10, 52, -42, 24, 20, 0 }, { 10, 52, -43, 24, 20, 0 }, { 10, 53, -44, 24, 20, 0 }, { 10, 53, -45, 24, 20, 0 }, { 10, 53, -46, 24, 20, 0 }, + { 10, 54, -47, 24, 20, 0 }, { 10, 54, -48, 24, 20, 0 }, { 10, 54, -49, 24, 20, 0 }, { 10, 55, -50, 24, 20, 0 }, { 9, 55, -51, 24, 20, 0 }, + { 9, 56, -52, 24, 20, 0 }, { 9, 56, -53, 24, 20, 0 }, { 9, 56, -54, 24, 20, 0 }, { 9, 57, -55, 24, 19, 0 }, { 9, 57, -56, 24, 19, 0 }, + { 9, 57, -57, 24, 19, 0 }, { 9, 57, -58, 24, 19, 0 }, { 9, 58, -59, 24, 19, 0 }, { 8, 58, -60, 24, 19, 0 }, { 8, 58, -61, 24, 19, 0 }, + { 8, 58, -62, 24, 19, 0 }, { 8, 59, -63, 24, 19, 0 }, { 8, 59, -64, 24, 19, 0 }, { 8, 59, -65, 24, 19, 0 }, { 8, 59, -66, 24, 19, 0 }, + { 8, 59, -67, 24, 19, 0 }, { 8, 59, -68, 24, 19, 0 }, { 8, 60, -69, 24, 19, 0 }, { 7, 60, -70, 24, 19, 0 }, { 7, 60, -71, 24, 19, 0 }, + { 7, 60, -72, 24, 19, 0 }, { 7, 60, -73, 24, 19, 0 }, { 7, 60, -74, 24, 19, 0 }, { 7, 60, -75, 24, 19, 0 }, { 7, 60, -76, 24, 19, 0 }, + { 7, 61, -77, 24, 19, 0 }, { 7, 61, -78, 24, 19, 0 }, { 7, 61, -79, 24, 18, 0 }, { 6, 61, -80, 24, 18, 0 }, { 6, 61, -81, 24, 18, 0 }, + { 6, 61, -82, 24, 18, 0 }, { 6, 61, -83, 24, 18, 0 }, { 6, 61, -84, 24, 18, 0 }, { 6, 61, -85, 24, 18, 0 }, { 6, 61, -86, 24, 18, 0 }, + { 6, 61, -87, 24, 18, 0 }, { 6, 61, -88, 24, 18, 0 }, { 5, 61, -89, 24, 18, 0 }, { 5, 61, -90, 24, 18, 0 }, { 5, 61, -91, 24, 18, 0 }, + { 5, 61, -92, 24, 18, 0 }, { 5, 61, -93, 24, 18, 0 }, { 5, 61, -94, 24, 18, 0 }, { 5, 61, -95, 24, 18, 0 }, { 5, 61, -96, 24, 18, 0 }, + { 5, 61, -97, 24, 18, 0 }, { 5, 61, -98, 24, 18, 0 }, { 4, 61, -99, 24, 18, 0 }, { 4, 61, -100, 24, 18, 0 }, { 4, 61, -101, 24, 18, 0 }, + { 4, 61, -102, 24, 18, 0 }, { 4, 61, -103, 24, 18, 0 }, { 4, 61, -104, 24, 18, 0 }, { 4, 61, -105, 24, 18, 0 }, { 4, 61, -106, 24, 18, 0 }, + { 4, 61, -107, 24, 18, 0 }, { 4, 61, -108, 24, 18, 0 }, { 3, 61, -109, 24, 18, 0 }, { 3, 61, -110, 24, 18, 0 }, { 3, 61, -111, 24, 18, 0 }, + { 3, 61, -112, 24, 18, 0 }, { 3, 61, -113, 24, 18, 0 }, { 3, 61, -114, 24, 18, 0 }, { 3, 61, -115, 24, 18, 0 }, { 3, 61, -116, 24, 17, 0 }, + { 3, 61, -117, 24, 17, 0 }, { 3, 60, -118, 24, 17, 0 }, { 2, 60, -119, 24, 17, 0 }, { 2, 60, -120, 24, 17, 0 }, { 2, 60, -121, 24, 17, 0 }, + { 2, 60, -122, 24, 17, 0 }, { 2, 60, -123, 24, 17, 0 }, { 2, 59, -124, 24, 17, 0 }, { 2, 59, -125, 24, 17, 0 }, { 2, 59, -126, 24, 17, 0 }, + { 2, 59, -127, 24, 17, 0 }, { 1, 59, -128, 24, 17, 0 }, { 1, 59, -129, 24, 17, 0 }, { 1, 58, -130, 24, 17, 0 }, { 1, 58, -131, 24, 17, 0 }, + { 1, 58, -132, 24, 17, 0 }, { 1, 58, -133, 24, 17, 0 }, { 1, 58, -134, 24, 17, 0 }, { 1, 57, -135, 24, 17, 0 }, { 1, 57, -136, 24, 17, 0 }, + { 1, 57, -137, 24, 17, 0 }, { 0, 57, -138, 24, 17, 0 }, { 0, 56, -139, 24, 17, 0 }, { 0, 56, -140, 24, 17, 0 }, { 0, 56, -141, 24, 17, 0 }, + { 0, 55, -142, 24, 17, 0 }, { 0, 55, -143, 24, 17, 0 }, { 0, 55, -144, 24, 17, 0 }, { 0, 54, -145, 24, 17, 0 }, { 0, 54, -146, 24, 17, 0 }, + { 0, 54, -147, 24, 17, 0 }, { -1, 54, -148, 24, 17, 0 }, { -1, 53, -149, 24, 58, 0 }, { -1, 53, -150, 24, 58, 0 }, { -1, 53, -151, 24, 58, 0 }, + { -1, 52, -152, 24, 58, 0 }, { -1, 52, -153, 24, 58, 0 }, { -1, 51, -154, 24, 58, 0 }, { -1, 51, -155, 24, 58, 0 }, { -1, 50, -156, 24, 58, 0 }, + { -2, 50, -157, 24, 58, 0 }, { -2, 50, -158, 24, 58, 0 }, { -2, 49, -159, 24, 58, 0 }, { -2, 49, -160, 24, 58, 0 }, { -2, 48, -161, 24, 58, 0 }, + { -2, 48, -162, 24, 58, 0 }, { -2, 48, -163, 24, 58, 0 }, { -2, 47, -164, 24, 58, 0 }, { -2, 47, -165, 24, 58, 0 }, { -2, 46, -166, 24, 58, 0 }, + { -3, 46, -167, 24, 58, 0 }, { -3, 45, -168, 24, 58, 0 }, { -3, 45, -169, 24, 58, 0 }, { -3, 45, -170, 24, 58, 0 }, { -3, 44, -171, 24, 58, 0 }, + { -3, 44, -172, 24, 58, 0 }, { -3, 43, -173, 24, 58, 0 }, { -3, 43, -174, 24, 58, 0 }, { -3, 42, -175, 24, 58, 0 }, { -3, 42, -176, 24, 58, 0 }, + { -4, 41, -177, 24, 58, 0 }, { -4, 41, -178, 24, 58, 0 }, { -4, 40, -179, 24, 58, 0 }, { -4, 39, -180, 24, 58, 0 }, { -4, 39, -181, 24, 58, 0 }, + { -4, 38, -182, 24, 58, 0 }, { -4, 38, -183, 24, 58, 0 }, { -4, 37, -184, 24, 58, 0 }, { -4, 36, -185, 24, 57, 0 }, { -4, 36, -186, 24, 57, 0 }, + { -5, 35, -187, 24, 57, 0 }, { -5, 35, -188, 24, 57, 0 }, { -5, 34, -189, 24, 57, 0 }, { -5, 33, -190, 24, 57, 0 }, { -5, 33, -191, 24, 57, 0 }, + { -5, 32, -192, 24, 57, 0 }, { -5, 31, -193, 24, 57, 0 }, { -5, 31, -194, 24, 57, 0 }, { -5, 30, -195, 24, 57, 0 }, { -6, 29, -196, 24, 57, 0 }, + { -6, 28, -197, 24, 57, 0 }, { -6, 28, -198, 24, 57, 0 }, { -6, 27, -199, 24, 57, 0 }, { -6, 26, -200, 24, 57, 0 }, { -6, 26, -201, 24, 57, 0 }, + { -6, 25, -202, 24, 57, 0 }, { -6, 24, -203, 24, 57, 0 }, { -6, 24, -204, 24, 57, 0 }, { -6, 23, -205, 24, 57, 0 }, { -7, 22, -206, 24, 57, 0 }, + { -7, 21, -207, 24, 57, 0 }, { -7, 20, -208, 24, 57, 0 }, { -7, 19, -209, 24, 57, 0 }, { -7, 18, -210, 24, 57, 0 }, { -7, 17, -211, 24, 57, 0 }, + { -7, 17, -212, 24, 57, 0 }, { -7, 16, -213, 24, 57, 0 }, { -7, 15, -214, 24, 57, 0 }, { -7, 14, -215, 24, 57, 0 }, { -8, 13, -216, 24, 57, 0 }, + { -8, 12, -217, 24, 57, 0 }, { -8, 11, -218, 24, 57, 0 }, { -8, 10, -219, 24, 57, 0 }, { -8, 9, -220, 24, 57, 0 }, { -8, 8, -221, 24, 57, 0 }, + { -8, 7, -222, 24, 57, 0 }, { -8, 6, -222, 24, 57, 0 }, { -8, 5, -223, 24, 57, 0 }, { -9, 4, -224, 24, 57, 0 }, { -9, 3, -225, 24, 57, 0 }, + { -9, 2, -226, 24, 57, 0 }, { -9, 1, -227, 24, 57, 0 }, { -9, 0, -228, 24, 57, 0 }, { -9, -1, -228, 24, 57, 0 }, { -9, -2, -229, 24, 57, 0 }, + { -9, -3, -230, 24, 56, 0 }, { -9, -4, -231, 24, 56, 0 }, { -9, -5, -231, 24, 56, 0 }, { -10, -6, -232, 24, 56, 0 }, { -10, -7, -233, 24, 56, 0 }, + { -10, -8, -234, 24, 56, 0 }, { -10, -9, -234, 24, 56, 0 }, { -10, -10, -235, 24, 56, 0 }, { -10, -11, -236, 24, 56, 0 }, { -10, -12, -237, 24, 56, 0 }, + { -10, -13, -237, 24, 56, 0 }, { -10, -14, -238, 24, 56, 0 }, { -10, -15, -239, 24, 56, 0 }, { -11, -16, -239, 24, 56, 0 }, { -11, -17, -240, 24, 56, 0 }, + { -11, -18, -240, 24, 56, 0 }, { -11, -19, -241, 24, 56, 0 }, { -11, -20, -242, 24, 56, 0 }, { -11, -21, -242, 24, 56, 0 }, { -11, -22, -243, 24, 56, 0 }, + { -11, -23, -243, 24, 56, 0 }, { -11, -24, -244, 24, 56, 0 }, { -11, -25, -245, 24, 56, 0 }, { -12, -26, -245, 24, 56, 0 }, { -12, -27, -246, 24, 56, 0 }, + { -12, -28, -246, 24, 56, 0 }, { -12, -29, -247, 24, 56, 0 }, { -12, -30, -247, 24, 56, 0 }, { -12, -31, -248, 24, 56, 0 }, { -12, -32, -248, 24, 56, 0 }, + { -12, -33, -249, 24, 56, 0 }, { -12, -34, -249, 24, 56, 0 }, { -13, -35, -250, 24, 56, 0 }, { -13, -36, -250, 24, 56, 0 }, { -13, -37, -251, 24, 56, 0 }, + { -13, -38, -251, 24, 56, 0 }, { -13, -39, -252, 24, 56, 0 }, { -13, -40, -252, 24, 56, 0 }, { -13, -41, -253, 24, 56, 0 }, { -13, -42, -253, 24, 56, 0 }, + { -13, -43, -254, 24, 56, 0 }, { -13, -44, -254, 24, 56, 0 }, { -14, -45, -255, 24, 56, 0 }, { -14, -46, -255, 24, 56, 0 }, { -14, -47, -256, 24, 56, 0 }, + { -14, -48, -256, 24, 56, 0 }, { -14, -49, -257, 24, 56, 0 }, { -14, -50, -257, 24, 56, 0 }, { -14, -51, -258, 24, 56, 0 }, { -14, -52, -258, 24, 56, 0 }, + { -14, -53, -259, 24, 56, 0 }, { -14, -54, -259, 24, 56, 0 }, { -15, -55, -260, 24, 56, 0 }, { -15, -56, -260, 24, 56, 0 }, { -15, -57, -261, 24, 56, 0 }, + { -15, -58, -261, 24, 56, 0 }, { -15, -59, -262, 24, 56, 0 }, { -15, -60, -262, 24, 56, 0 }, { -15, -61, -263, 24, 56, 0 }, { -15, -62, -263, 24, 56, 0 }, + { -15, -63, -264, 24, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown2, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, -1, 16, 0, 0 }, { 9, 16, -1, 16, 0, 0 }, + { 10, 17, -1, 16, 0, 0 }, { 11, 17, -1, 16, 0, 0 }, { 12, 17, -2, 16, 0, 0 }, { 13, 17, -2, 16, 0, 0 }, { 14, 17, -2, 16, 0, 0 }, + { 15, 17, -3, 0, 23, 0 }, { 16, 17, -3, 0, 23, 0 }, { 17, 17, -4, 0, 23, 0 }, { 18, 17, -4, 0, 23, 0 }, { 19, 17, -5, 0, 23, 0 }, + { 20, 18, -5, 0, 23, 0 }, { 21, 18, -6, 0, 23, 0 }, { 22, 18, -6, 0, 23, 0 }, { 23, 18, -7, 0, 23, 0 }, { 24, 18, -8, 0, 23, 0 }, + { 25, 18, -8, 0, 23, 0 }, { 26, 18, -9, 0, 23, 0 }, { 27, 18, -10, 0, 23, 0 }, { 28, 18, -11, 0, 23, 0 }, { 29, 18, -11, 0, 23, 0 }, + { 30, 19, -12, 0, 22, 0 }, { 31, 19, -13, 0, 22, 0 }, { 32, 19, -14, 0, 22, 0 }, { 33, 19, -15, 0, 22, 0 }, { 34, 19, -16, 0, 22, 0 }, + { 35, 19, -17, 0, 22, 0 }, { 36, 19, -18, 0, 22, 0 }, { 37, 19, -19, 0, 22, 0 }, { 38, 19, -20, 0, 22, 0 }, { 39, 20, -21, 0, 22, 0 }, + { 40, 20, -22, 0, 22, 0 }, { 40, 20, -23, 0, 22, 0 }, { 41, 20, -24, 0, 22, 0 }, { 42, 20, -25, 0, 21, 0 }, { 43, 20, -26, 0, 21, 0 }, + { 43, 20, -27, 0, 21, 0 }, { 44, 20, -28, 0, 21, 0 }, { 45, 20, -29, 0, 21, 0 }, { 45, 20, -30, 0, 21, 0 }, { 46, 21, -31, 0, 21, 0 }, + { 47, 21, -32, 0, 21, 0 }, { 47, 21, -33, 0, 21, 0 }, { 48, 21, -34, 0, 21, 0 }, { 48, 21, -35, 0, 21, 0 }, { 49, 21, -36, 0, 21, 0 }, + { 49, 21, -37, 0, 21, 0 }, { 50, 21, -38, 0, 21, 0 }, { 50, 21, -39, 0, 21, 0 }, { 51, 21, -40, 0, 20, 0 }, { 51, 22, -41, 0, 20, 0 }, + { 52, 22, -42, 0, 20, 0 }, { 52, 22, -43, 0, 20, 0 }, { 53, 22, -44, 0, 20, 0 }, { 53, 22, -45, 0, 20, 0 }, { 53, 22, -46, 0, 20, 0 }, + { 54, 22, -47, 0, 20, 0 }, { 54, 22, -48, 0, 20, 0 }, { 54, 22, -49, 0, 20, 0 }, { 55, 22, -50, 0, 20, 0 }, { 55, 23, -51, 0, 20, 0 }, + { 56, 23, -52, 0, 20, 0 }, { 56, 23, -53, 0, 20, 0 }, { 56, 23, -54, 0, 20, 0 }, { 57, 23, -55, 0, 19, 0 }, { 57, 23, -56, 0, 19, 0 }, + { 57, 23, -57, 0, 19, 0 }, { 57, 23, -58, 0, 19, 0 }, { 58, 23, -59, 0, 19, 0 }, { 58, 24, -60, 0, 19, 0 }, { 58, 24, -61, 0, 19, 0 }, + { 58, 24, -62, 0, 19, 0 }, { 59, 24, -63, 0, 19, 0 }, { 59, 24, -64, 0, 19, 0 }, { 59, 24, -65, 0, 19, 0 }, { 59, 24, -66, 0, 19, 0 }, + { 59, 24, -67, 0, 19, 0 }, { 59, 24, -68, 0, 19, 0 }, { 60, 24, -69, 0, 19, 0 }, { 60, 25, -70, 0, 19, 0 }, { 60, 25, -71, 0, 19, 0 }, + { 60, 25, -72, 0, 19, 0 }, { 60, 25, -73, 0, 19, 0 }, { 60, 25, -74, 0, 19, 0 }, { 60, 25, -75, 0, 19, 0 }, { 60, 25, -76, 0, 19, 0 }, + { 61, 25, -77, 0, 19, 0 }, { 61, 25, -78, 0, 19, 0 }, { 61, 25, -79, 0, 18, 0 }, { 61, 26, -80, 0, 18, 0 }, { 61, 26, -81, 0, 18, 0 }, + { 61, 26, -82, 0, 18, 0 }, { 61, 26, -83, 0, 18, 0 }, { 61, 26, -84, 0, 18, 0 }, { 61, 26, -85, 0, 18, 0 }, { 61, 26, -86, 0, 18, 0 }, + { 61, 26, -87, 0, 18, 0 }, { 61, 26, -88, 0, 18, 0 }, { 61, 27, -89, 0, 18, 0 }, { 61, 27, -90, 0, 18, 0 }, { 61, 27, -91, 0, 18, 0 }, + { 61, 27, -92, 0, 18, 0 }, { 61, 27, -93, 0, 18, 0 }, { 61, 27, -94, 0, 18, 0 }, { 61, 27, -95, 0, 18, 0 }, { 61, 27, -96, 0, 18, 0 }, + { 61, 27, -97, 0, 18, 0 }, { 61, 27, -98, 0, 18, 0 }, { 61, 28, -99, 0, 18, 0 }, { 61, 28, -100, 0, 18, 0 }, { 61, 28, -101, 0, 18, 0 }, + { 61, 28, -102, 0, 18, 0 }, { 61, 28, -103, 0, 18, 0 }, { 61, 28, -104, 0, 18, 0 }, { 61, 28, -105, 0, 18, 0 }, { 61, 28, -106, 0, 18, 0 }, + { 61, 28, -107, 0, 18, 0 }, { 61, 28, -108, 0, 18, 0 }, { 61, 29, -109, 0, 18, 0 }, { 61, 29, -110, 0, 18, 0 }, { 61, 29, -111, 0, 18, 0 }, + { 61, 29, -112, 0, 18, 0 }, { 61, 29, -113, 0, 18, 0 }, { 61, 29, -114, 0, 18, 0 }, { 61, 29, -115, 0, 18, 0 }, { 61, 29, -116, 0, 17, 0 }, + { 61, 29, -117, 0, 17, 0 }, { 60, 29, -118, 0, 17, 0 }, { 60, 30, -119, 0, 17, 0 }, { 60, 30, -120, 0, 17, 0 }, { 60, 30, -121, 0, 17, 0 }, + { 60, 30, -122, 0, 17, 0 }, { 60, 30, -123, 0, 17, 0 }, { 59, 30, -124, 0, 17, 0 }, { 59, 30, -125, 0, 17, 0 }, { 59, 30, -126, 0, 17, 0 }, + { 59, 30, -127, 0, 17, 0 }, { 59, 31, -128, 0, 17, 0 }, { 59, 31, -129, 0, 17, 0 }, { 58, 31, -130, 0, 17, 0 }, { 58, 31, -131, 0, 17, 0 }, + { 58, 31, -132, 0, 17, 0 }, { 58, 31, -133, 0, 17, 0 }, { 58, 31, -134, 0, 17, 0 }, { 57, 31, -135, 0, 17, 0 }, { 57, 31, -136, 0, 17, 0 }, + { 57, 31, -137, 0, 17, 0 }, { 57, 32, -138, 0, 17, 0 }, { 56, 32, -139, 0, 17, 0 }, { 56, 32, -140, 0, 17, 0 }, { 56, 32, -141, 0, 17, 0 }, + { 55, 32, -142, 0, 17, 0 }, { 55, 32, -143, 0, 17, 0 }, { 55, 32, -144, 0, 17, 0 }, { 54, 32, -145, 0, 17, 0 }, { 54, 32, -146, 0, 17, 0 }, + { 54, 32, -147, 0, 17, 0 }, { 54, 33, -148, 0, 17, 0 }, { 53, 33, -149, 0, 58, 0 }, { 53, 33, -150, 0, 58, 0 }, { 53, 33, -151, 0, 58, 0 }, + { 52, 33, -152, 0, 58, 0 }, { 52, 33, -153, 0, 58, 0 }, { 51, 33, -154, 0, 58, 0 }, { 51, 33, -155, 0, 58, 0 }, { 50, 33, -156, 0, 58, 0 }, + { 50, 34, -157, 0, 58, 0 }, { 50, 34, -158, 0, 58, 0 }, { 49, 34, -159, 0, 58, 0 }, { 49, 34, -160, 0, 58, 0 }, { 48, 34, -161, 0, 58, 0 }, + { 48, 34, -162, 0, 58, 0 }, { 48, 34, -163, 0, 58, 0 }, { 47, 34, -164, 0, 58, 0 }, { 47, 34, -165, 0, 58, 0 }, { 46, 34, -166, 0, 58, 0 }, + { 46, 35, -167, 0, 58, 0 }, { 45, 35, -168, 0, 58, 0 }, { 45, 35, -169, 0, 58, 0 }, { 45, 35, -170, 0, 58, 0 }, { 44, 35, -171, 0, 58, 0 }, + { 44, 35, -172, 0, 58, 0 }, { 43, 35, -173, 0, 58, 0 }, { 43, 35, -174, 0, 58, 0 }, { 42, 35, -175, 0, 58, 0 }, { 42, 35, -176, 0, 58, 0 }, + { 41, 36, -177, 0, 58, 0 }, { 41, 36, -178, 0, 58, 0 }, { 40, 36, -179, 0, 58, 0 }, { 39, 36, -180, 0, 58, 0 }, { 39, 36, -181, 0, 58, 0 }, + { 38, 36, -182, 0, 58, 0 }, { 38, 36, -183, 0, 58, 0 }, { 37, 36, -184, 0, 58, 0 }, { 36, 36, -185, 0, 57, 0 }, { 36, 36, -186, 0, 57, 0 }, + { 35, 37, -187, 0, 57, 0 }, { 35, 37, -188, 0, 57, 0 }, { 34, 37, -189, 0, 57, 0 }, { 33, 37, -190, 0, 57, 0 }, { 33, 37, -191, 0, 57, 0 }, + { 32, 37, -192, 0, 57, 0 }, { 31, 37, -193, 0, 57, 0 }, { 31, 37, -194, 0, 57, 0 }, { 30, 37, -195, 0, 57, 0 }, { 29, 38, -196, 0, 57, 0 }, + { 28, 38, -197, 0, 57, 0 }, { 28, 38, -198, 0, 57, 0 }, { 27, 38, -199, 0, 57, 0 }, { 26, 38, -200, 0, 57, 0 }, { 26, 38, -201, 0, 57, 0 }, + { 25, 38, -202, 0, 57, 0 }, { 24, 38, -203, 0, 57, 0 }, { 24, 38, -204, 0, 57, 0 }, { 23, 38, -205, 0, 57, 0 }, { 22, 39, -206, 0, 57, 0 }, + { 21, 39, -207, 0, 57, 0 }, { 20, 39, -208, 0, 57, 0 }, { 19, 39, -209, 0, 57, 0 }, { 18, 39, -210, 0, 57, 0 }, { 17, 39, -211, 0, 57, 0 }, + { 17, 39, -212, 0, 57, 0 }, { 16, 39, -213, 0, 57, 0 }, { 15, 39, -214, 0, 57, 0 }, { 14, 39, -215, 0, 57, 0 }, { 13, 40, -216, 0, 57, 0 }, + { 12, 40, -217, 0, 57, 0 }, { 11, 40, -218, 0, 57, 0 }, { 10, 40, -219, 0, 57, 0 }, { 9, 40, -220, 0, 57, 0 }, { 8, 40, -221, 0, 57, 0 }, + { 7, 40, -222, 0, 57, 0 }, { 6, 40, -222, 0, 57, 0 }, { 5, 40, -223, 0, 57, 0 }, { 4, 41, -224, 0, 57, 0 }, { 3, 41, -225, 0, 57, 0 }, + { 2, 41, -226, 0, 57, 0 }, { 1, 41, -227, 0, 57, 0 }, { 0, 41, -228, 0, 57, 0 }, { -1, 41, -228, 0, 57, 0 }, { -2, 41, -229, 0, 57, 0 }, + { -3, 41, -230, 0, 56, 0 }, { -4, 41, -231, 0, 56, 0 }, { -5, 41, -231, 0, 56, 0 }, { -6, 42, -232, 0, 56, 0 }, { -7, 42, -233, 0, 56, 0 }, + { -8, 42, -234, 0, 56, 0 }, { -9, 42, -234, 0, 56, 0 }, { -10, 42, -235, 0, 56, 0 }, { -11, 42, -236, 0, 56, 0 }, { -12, 42, -237, 0, 56, 0 }, + { -13, 42, -237, 0, 56, 0 }, { -14, 42, -238, 0, 56, 0 }, { -15, 42, -239, 0, 56, 0 }, { -16, 43, -239, 0, 56, 0 }, { -17, 43, -240, 0, 56, 0 }, + { -18, 43, -240, 0, 56, 0 }, { -19, 43, -241, 0, 56, 0 }, { -20, 43, -242, 0, 56, 0 }, { -21, 43, -242, 0, 56, 0 }, { -22, 43, -243, 0, 56, 0 }, + { -23, 43, -243, 0, 56, 0 }, { -24, 43, -244, 0, 56, 0 }, { -25, 43, -245, 0, 56, 0 }, { -26, 44, -245, 0, 56, 0 }, { -27, 44, -246, 0, 56, 0 }, + { -28, 44, -246, 0, 56, 0 }, { -29, 44, -247, 0, 56, 0 }, { -30, 44, -247, 0, 56, 0 }, { -31, 44, -248, 0, 56, 0 }, { -32, 44, -248, 0, 56, 0 }, + { -33, 44, -249, 0, 56, 0 }, { -34, 44, -249, 0, 56, 0 }, { -35, 45, -250, 0, 56, 0 }, { -36, 45, -250, 0, 56, 0 }, { -37, 45, -251, 0, 56, 0 }, + { -38, 45, -251, 0, 56, 0 }, { -39, 45, -252, 0, 56, 0 }, { -40, 45, -252, 0, 56, 0 }, { -41, 45, -253, 0, 56, 0 }, { -42, 45, -253, 0, 56, 0 }, + { -43, 45, -254, 0, 56, 0 }, { -44, 45, -254, 0, 56, 0 }, { -45, 46, -255, 0, 56, 0 }, { -46, 46, -255, 0, 56, 0 }, { -47, 46, -256, 0, 56, 0 }, + { -48, 46, -256, 0, 56, 0 }, { -49, 46, -257, 0, 56, 0 }, { -50, 46, -257, 0, 56, 0 }, { -51, 46, -258, 0, 56, 0 }, { -52, 46, -258, 0, 56, 0 }, + { -53, 46, -259, 0, 56, 0 }, { -54, 46, -259, 0, 56, 0 }, { -55, 47, -260, 0, 56, 0 }, { -56, 47, -260, 0, 56, 0 }, { -57, 47, -261, 0, 56, 0 }, + { -58, 47, -261, 0, 56, 0 }, { -59, 47, -262, 0, 56, 0 }, { -60, 47, -262, 0, 56, 0 }, { -61, 47, -263, 0, 56, 0 }, { -62, 47, -263, 0, 56, 0 }, + { -63, 47, -264, 0, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown3, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, -1, 24, 0, 0 }, { 16, 22, -1, 24, 0, 0 }, + { 17, 21, -1, 24, 0, 0 }, { 17, 20, -1, 24, 0, 0 }, { 17, 19, -2, 24, 0, 0 }, { 17, 18, -2, 24, 0, 0 }, { 17, 17, -2, 24, 0, 0 }, + { 17, 16, -3, 8, 23, 0 }, { 17, 15, -3, 8, 23, 0 }, { 17, 14, -4, 8, 23, 0 }, { 17, 13, -4, 8, 23, 0 }, { 17, 12, -5, 8, 23, 0 }, + { 18, 11, -5, 8, 23, 0 }, { 18, 10, -6, 8, 23, 0 }, { 18, 9, -6, 8, 23, 0 }, { 18, 8, -7, 8, 23, 0 }, { 18, 7, -8, 8, 23, 0 }, + { 18, 6, -8, 8, 23, 0 }, { 18, 5, -9, 8, 23, 0 }, { 18, 4, -10, 8, 23, 0 }, { 18, 3, -11, 8, 23, 0 }, { 18, 2, -11, 8, 23, 0 }, + { 19, 1, -12, 8, 22, 0 }, { 19, 0, -13, 8, 22, 0 }, { 19, -1, -14, 8, 22, 0 }, { 19, -2, -15, 8, 22, 0 }, { 19, -3, -16, 8, 22, 0 }, + { 19, -4, -17, 8, 22, 0 }, { 19, -5, -18, 8, 22, 0 }, { 19, -6, -19, 8, 22, 0 }, { 19, -7, -20, 8, 22, 0 }, { 20, -8, -21, 8, 22, 0 }, + { 20, -9, -22, 8, 22, 0 }, { 20, -9, -23, 8, 22, 0 }, { 20, -10, -24, 8, 22, 0 }, { 20, -11, -25, 8, 21, 0 }, { 20, -12, -26, 8, 21, 0 }, + { 20, -12, -27, 8, 21, 0 }, { 20, -13, -28, 8, 21, 0 }, { 20, -14, -29, 8, 21, 0 }, { 20, -14, -30, 8, 21, 0 }, { 21, -15, -31, 8, 21, 0 }, + { 21, -16, -32, 8, 21, 0 }, { 21, -16, -33, 8, 21, 0 }, { 21, -17, -34, 8, 21, 0 }, { 21, -17, -35, 8, 21, 0 }, { 21, -18, -36, 8, 21, 0 }, + { 21, -18, -37, 8, 21, 0 }, { 21, -19, -38, 8, 21, 0 }, { 21, -19, -39, 8, 21, 0 }, { 21, -20, -40, 8, 20, 0 }, { 22, -20, -41, 8, 20, 0 }, + { 22, -21, -42, 8, 20, 0 }, { 22, -21, -43, 8, 20, 0 }, { 22, -22, -44, 8, 20, 0 }, { 22, -22, -45, 8, 20, 0 }, { 22, -22, -46, 8, 20, 0 }, + { 22, -23, -47, 8, 20, 0 }, { 22, -23, -48, 8, 20, 0 }, { 22, -23, -49, 8, 20, 0 }, { 22, -24, -50, 8, 20, 0 }, { 23, -24, -51, 8, 20, 0 }, + { 23, -25, -52, 8, 20, 0 }, { 23, -25, -53, 8, 20, 0 }, { 23, -25, -54, 8, 20, 0 }, { 23, -26, -55, 8, 19, 0 }, { 23, -26, -56, 8, 19, 0 }, + { 23, -26, -57, 8, 19, 0 }, { 23, -26, -58, 8, 19, 0 }, { 23, -27, -59, 8, 19, 0 }, { 24, -27, -60, 8, 19, 0 }, { 24, -27, -61, 8, 19, 0 }, + { 24, -27, -62, 8, 19, 0 }, { 24, -28, -63, 8, 19, 0 }, { 24, -28, -64, 8, 19, 0 }, { 24, -28, -65, 8, 19, 0 }, { 24, -28, -66, 8, 19, 0 }, + { 24, -28, -67, 8, 19, 0 }, { 24, -28, -68, 8, 19, 0 }, { 24, -29, -69, 8, 19, 0 }, { 25, -29, -70, 8, 19, 0 }, { 25, -29, -71, 8, 19, 0 }, + { 25, -29, -72, 8, 19, 0 }, { 25, -29, -73, 8, 19, 0 }, { 25, -29, -74, 8, 19, 0 }, { 25, -29, -75, 8, 19, 0 }, { 25, -29, -76, 8, 19, 0 }, + { 25, -30, -77, 8, 19, 0 }, { 25, -30, -78, 8, 19, 0 }, { 25, -30, -79, 8, 18, 0 }, { 26, -30, -80, 8, 18, 0 }, { 26, -30, -81, 8, 18, 0 }, + { 26, -30, -82, 8, 18, 0 }, { 26, -30, -83, 8, 18, 0 }, { 26, -30, -84, 8, 18, 0 }, { 26, -30, -85, 8, 18, 0 }, { 26, -30, -86, 8, 18, 0 }, + { 26, -30, -87, 8, 18, 0 }, { 26, -30, -88, 8, 18, 0 }, { 27, -30, -89, 8, 18, 0 }, { 27, -30, -90, 8, 18, 0 }, { 27, -30, -91, 8, 18, 0 }, + { 27, -30, -92, 8, 18, 0 }, { 27, -30, -93, 8, 18, 0 }, { 27, -30, -94, 8, 18, 0 }, { 27, -30, -95, 8, 18, 0 }, { 27, -30, -96, 8, 18, 0 }, + { 27, -30, -97, 8, 18, 0 }, { 27, -30, -98, 8, 18, 0 }, { 28, -30, -99, 8, 18, 0 }, { 28, -30, -100, 8, 18, 0 }, { 28, -30, -101, 8, 18, 0 }, + { 28, -30, -102, 8, 18, 0 }, { 28, -30, -103, 8, 18, 0 }, { 28, -30, -104, 8, 18, 0 }, { 28, -30, -105, 8, 18, 0 }, { 28, -30, -106, 8, 18, 0 }, + { 28, -30, -107, 8, 18, 0 }, { 28, -30, -108, 8, 18, 0 }, { 29, -30, -109, 8, 18, 0 }, { 29, -30, -110, 8, 18, 0 }, { 29, -30, -111, 8, 18, 0 }, + { 29, -30, -112, 8, 18, 0 }, { 29, -30, -113, 8, 18, 0 }, { 29, -30, -114, 8, 18, 0 }, { 29, -30, -115, 8, 18, 0 }, { 29, -30, -116, 8, 17, 0 }, + { 29, -30, -117, 8, 17, 0 }, { 29, -29, -118, 8, 17, 0 }, { 30, -29, -119, 8, 17, 0 }, { 30, -29, -120, 8, 17, 0 }, { 30, -29, -121, 8, 17, 0 }, + { 30, -29, -122, 8, 17, 0 }, { 30, -29, -123, 8, 17, 0 }, { 30, -28, -124, 8, 17, 0 }, { 30, -28, -125, 8, 17, 0 }, { 30, -28, -126, 8, 17, 0 }, + { 30, -28, -127, 8, 17, 0 }, { 31, -28, -128, 8, 17, 0 }, { 31, -28, -129, 8, 17, 0 }, { 31, -27, -130, 8, 17, 0 }, { 31, -27, -131, 8, 17, 0 }, + { 31, -27, -132, 8, 17, 0 }, { 31, -27, -133, 8, 17, 0 }, { 31, -27, -134, 8, 17, 0 }, { 31, -26, -135, 8, 17, 0 }, { 31, -26, -136, 8, 17, 0 }, + { 31, -26, -137, 8, 17, 0 }, { 32, -26, -138, 8, 17, 0 }, { 32, -25, -139, 8, 17, 0 }, { 32, -25, -140, 8, 17, 0 }, { 32, -25, -141, 8, 17, 0 }, + { 32, -24, -142, 8, 17, 0 }, { 32, -24, -143, 8, 17, 0 }, { 32, -24, -144, 8, 17, 0 }, { 32, -23, -145, 8, 17, 0 }, { 32, -23, -146, 8, 17, 0 }, + { 32, -23, -147, 8, 17, 0 }, { 33, -23, -148, 8, 17, 0 }, { 33, -22, -149, 8, 58, 0 }, { 33, -22, -150, 8, 58, 0 }, { 33, -22, -151, 8, 58, 0 }, + { 33, -21, -152, 8, 58, 0 }, { 33, -21, -153, 8, 58, 0 }, { 33, -20, -154, 8, 58, 0 }, { 33, -20, -155, 8, 58, 0 }, { 33, -19, -156, 8, 58, 0 }, + { 34, -19, -157, 8, 58, 0 }, { 34, -19, -158, 8, 58, 0 }, { 34, -18, -159, 8, 58, 0 }, { 34, -18, -160, 8, 58, 0 }, { 34, -17, -161, 8, 58, 0 }, + { 34, -17, -162, 8, 58, 0 }, { 34, -17, -163, 8, 58, 0 }, { 34, -16, -164, 8, 58, 0 }, { 34, -16, -165, 8, 58, 0 }, { 34, -15, -166, 8, 58, 0 }, + { 35, -15, -167, 8, 58, 0 }, { 35, -14, -168, 8, 58, 0 }, { 35, -14, -169, 8, 58, 0 }, { 35, -14, -170, 8, 58, 0 }, { 35, -13, -171, 8, 58, 0 }, + { 35, -13, -172, 8, 58, 0 }, { 35, -12, -173, 8, 58, 0 }, { 35, -12, -174, 8, 58, 0 }, { 35, -11, -175, 8, 58, 0 }, { 35, -11, -176, 8, 58, 0 }, + { 36, -10, -177, 8, 58, 0 }, { 36, -10, -178, 8, 58, 0 }, { 36, -9, -179, 8, 58, 0 }, { 36, -8, -180, 8, 58, 0 }, { 36, -8, -181, 8, 58, 0 }, + { 36, -7, -182, 8, 58, 0 }, { 36, -7, -183, 8, 58, 0 }, { 36, -6, -184, 8, 58, 0 }, { 36, -5, -185, 8, 57, 0 }, { 36, -5, -186, 8, 57, 0 }, + { 37, -4, -187, 8, 57, 0 }, { 37, -4, -188, 8, 57, 0 }, { 37, -3, -189, 8, 57, 0 }, { 37, -2, -190, 8, 57, 0 }, { 37, -2, -191, 8, 57, 0 }, + { 37, -1, -192, 8, 57, 0 }, { 37, 0, -193, 8, 57, 0 }, { 37, 0, -194, 8, 57, 0 }, { 37, 1, -195, 8, 57, 0 }, { 38, 2, -196, 8, 57, 0 }, + { 38, 3, -197, 8, 57, 0 }, { 38, 3, -198, 8, 57, 0 }, { 38, 4, -199, 8, 57, 0 }, { 38, 5, -200, 8, 57, 0 }, { 38, 5, -201, 8, 57, 0 }, + { 38, 6, -202, 8, 57, 0 }, { 38, 7, -203, 8, 57, 0 }, { 38, 7, -204, 8, 57, 0 }, { 38, 8, -205, 8, 57, 0 }, { 39, 9, -206, 8, 57, 0 }, + { 39, 10, -207, 8, 57, 0 }, { 39, 11, -208, 8, 57, 0 }, { 39, 12, -209, 8, 57, 0 }, { 39, 13, -210, 8, 57, 0 }, { 39, 14, -211, 8, 57, 0 }, + { 39, 14, -212, 8, 57, 0 }, { 39, 15, -213, 8, 57, 0 }, { 39, 16, -214, 8, 57, 0 }, { 39, 17, -215, 8, 57, 0 }, { 40, 18, -216, 8, 57, 0 }, + { 40, 19, -217, 8, 57, 0 }, { 40, 20, -218, 8, 57, 0 }, { 40, 21, -219, 8, 57, 0 }, { 40, 22, -220, 8, 57, 0 }, { 40, 23, -221, 8, 57, 0 }, + { 40, 24, -222, 8, 57, 0 }, { 40, 25, -222, 8, 57, 0 }, { 40, 26, -223, 8, 57, 0 }, { 41, 27, -224, 8, 57, 0 }, { 41, 28, -225, 8, 57, 0 }, + { 41, 29, -226, 8, 57, 0 }, { 41, 30, -227, 8, 57, 0 }, { 41, 31, -228, 8, 57, 0 }, { 41, 32, -228, 8, 57, 0 }, { 41, 33, -229, 8, 57, 0 }, + { 41, 34, -230, 8, 56, 0 }, { 41, 35, -231, 8, 56, 0 }, { 41, 36, -231, 8, 56, 0 }, { 42, 37, -232, 8, 56, 0 }, { 42, 38, -233, 8, 56, 0 }, + { 42, 39, -234, 8, 56, 0 }, { 42, 40, -234, 8, 56, 0 }, { 42, 41, -235, 8, 56, 0 }, { 42, 42, -236, 8, 56, 0 }, { 42, 43, -237, 8, 56, 0 }, + { 42, 44, -237, 8, 56, 0 }, { 42, 45, -238, 8, 56, 0 }, { 42, 46, -239, 8, 56, 0 }, { 43, 47, -239, 8, 56, 0 }, { 43, 48, -240, 8, 56, 0 }, + { 43, 49, -240, 8, 56, 0 }, { 43, 50, -241, 8, 56, 0 }, { 43, 51, -242, 8, 56, 0 }, { 43, 52, -242, 8, 56, 0 }, { 43, 53, -243, 8, 56, 0 }, + { 43, 54, -243, 8, 56, 0 }, { 43, 55, -244, 8, 56, 0 }, { 43, 56, -245, 8, 56, 0 }, { 44, 57, -245, 8, 56, 0 }, { 44, 58, -246, 8, 56, 0 }, + { 44, 59, -246, 8, 56, 0 }, { 44, 60, -247, 8, 56, 0 }, { 44, 61, -247, 8, 56, 0 }, { 44, 62, -248, 8, 56, 0 }, { 44, 63, -248, 8, 56, 0 }, + { 44, 64, -249, 8, 56, 0 }, { 44, 65, -249, 8, 56, 0 }, { 45, 66, -250, 8, 56, 0 }, { 45, 67, -250, 8, 56, 0 }, { 45, 68, -251, 8, 56, 0 }, + { 45, 69, -251, 8, 56, 0 }, { 45, 70, -252, 8, 56, 0 }, { 45, 71, -252, 8, 56, 0 }, { 45, 72, -253, 8, 56, 0 }, { 45, 73, -253, 8, 56, 0 }, + { 45, 74, -254, 8, 56, 0 }, { 45, 75, -254, 8, 56, 0 }, { 46, 76, -255, 8, 56, 0 }, { 46, 77, -255, 8, 56, 0 }, { 46, 78, -256, 8, 56, 0 }, + { 46, 79, -256, 8, 56, 0 }, { 46, 80, -257, 8, 56, 0 }, { 46, 81, -257, 8, 56, 0 }, { 46, 82, -258, 8, 56, 0 }, { 46, 83, -258, 8, 56, 0 }, + { 46, 84, -259, 8, 56, 0 }, { 46, 85, -259, 8, 56, 0 }, { 47, 86, -260, 8, 56, 0 }, { 47, 87, -260, 8, 56, 0 }, { 47, 88, -261, 8, 56, 0 }, + { 47, 89, -261, 8, 56, 0 }, { 47, 90, -262, 8, 56, 0 }, { 47, 91, -262, 8, 56, 0 }, { 47, 92, -263, 8, 56, 0 }, { 47, 93, -263, 8, 56, 0 }, + { 47, 94, -264, 8, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown0, { + { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, + { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, -1, 0, 0, 0 }, { 22, 16, -1, 0, 0, 0 }, + { 21, 17, -1, 0, 0, 0 }, { 20, 17, -1, 0, 0, 0 }, { 19, 17, -2, 0, 0, 0 }, { 18, 17, -2, 0, 0, 0 }, { 17, 17, -2, 0, 0, 0 }, + { 16, 17, -3, 16, 23, 0 }, { 15, 17, -3, 16, 23, 0 }, { 14, 17, -4, 16, 23, 0 }, { 13, 17, -4, 16, 23, 0 }, { 12, 17, -5, 16, 23, 0 }, + { 11, 18, -5, 16, 23, 0 }, { 10, 18, -6, 16, 23, 0 }, { 9, 18, -6, 16, 23, 0 }, { 8, 18, -7, 16, 23, 0 }, { 7, 18, -8, 16, 23, 0 }, + { 6, 18, -8, 16, 23, 0 }, { 5, 18, -9, 16, 23, 0 }, { 4, 18, -10, 16, 23, 0 }, { 3, 18, -11, 16, 23, 0 }, { 2, 18, -11, 16, 23, 0 }, + { 1, 19, -12, 16, 22, 0 }, { 0, 19, -13, 16, 22, 0 }, { -1, 19, -14, 16, 22, 0 }, { -2, 19, -15, 16, 22, 0 }, { -3, 19, -16, 16, 22, 0 }, + { -4, 19, -17, 16, 22, 0 }, { -5, 19, -18, 16, 22, 0 }, { -6, 19, -19, 16, 22, 0 }, { -7, 19, -20, 16, 22, 0 }, { -8, 20, -21, 16, 22, 0 }, + { -9, 20, -22, 16, 22, 0 }, { -9, 20, -23, 16, 22, 0 }, { -10, 20, -24, 16, 22, 0 }, { -11, 20, -25, 16, 21, 0 }, { -12, 20, -26, 16, 21, 0 }, + { -12, 20, -27, 16, 21, 0 }, { -13, 20, -28, 16, 21, 0 }, { -14, 20, -29, 16, 21, 0 }, { -14, 20, -30, 16, 21, 0 }, { -15, 21, -31, 16, 21, 0 }, + { -16, 21, -32, 16, 21, 0 }, { -16, 21, -33, 16, 21, 0 }, { -17, 21, -34, 16, 21, 0 }, { -17, 21, -35, 16, 21, 0 }, { -18, 21, -36, 16, 21, 0 }, + { -18, 21, -37, 16, 21, 0 }, { -19, 21, -38, 16, 21, 0 }, { -19, 21, -39, 16, 21, 0 }, { -20, 21, -40, 16, 20, 0 }, { -20, 22, -41, 16, 20, 0 }, + { -21, 22, -42, 16, 20, 0 }, { -21, 22, -43, 16, 20, 0 }, { -22, 22, -44, 16, 20, 0 }, { -22, 22, -45, 16, 20, 0 }, { -22, 22, -46, 16, 20, 0 }, + { -23, 22, -47, 16, 20, 0 }, { -23, 22, -48, 16, 20, 0 }, { -23, 22, -49, 16, 20, 0 }, { -24, 22, -50, 16, 20, 0 }, { -24, 23, -51, 16, 20, 0 }, + { -25, 23, -52, 16, 20, 0 }, { -25, 23, -53, 16, 20, 0 }, { -25, 23, -54, 16, 20, 0 }, { -26, 23, -55, 16, 19, 0 }, { -26, 23, -56, 16, 19, 0 }, + { -26, 23, -57, 16, 19, 0 }, { -26, 23, -58, 16, 19, 0 }, { -27, 23, -59, 16, 19, 0 }, { -27, 24, -60, 16, 19, 0 }, { -27, 24, -61, 16, 19, 0 }, + { -27, 24, -62, 16, 19, 0 }, { -28, 24, -63, 16, 19, 0 }, { -28, 24, -64, 16, 19, 0 }, { -28, 24, -65, 16, 19, 0 }, { -28, 24, -66, 16, 19, 0 }, + { -28, 24, -67, 16, 19, 0 }, { -28, 24, -68, 16, 19, 0 }, { -29, 24, -69, 16, 19, 0 }, { -29, 25, -70, 16, 19, 0 }, { -29, 25, -71, 16, 19, 0 }, + { -29, 25, -72, 16, 19, 0 }, { -29, 25, -73, 16, 19, 0 }, { -29, 25, -74, 16, 19, 0 }, { -29, 25, -75, 16, 19, 0 }, { -29, 25, -76, 16, 19, 0 }, + { -30, 25, -77, 16, 19, 0 }, { -30, 25, -78, 16, 19, 0 }, { -30, 25, -79, 16, 18, 0 }, { -30, 26, -80, 16, 18, 0 }, { -30, 26, -81, 16, 18, 0 }, + { -30, 26, -82, 16, 18, 0 }, { -30, 26, -83, 16, 18, 0 }, { -30, 26, -84, 16, 18, 0 }, { -30, 26, -85, 16, 18, 0 }, { -30, 26, -86, 16, 18, 0 }, + { -30, 26, -87, 16, 18, 0 }, { -30, 26, -88, 16, 18, 0 }, { -30, 27, -89, 16, 18, 0 }, { -30, 27, -90, 16, 18, 0 }, { -30, 27, -91, 16, 18, 0 }, + { -30, 27, -92, 16, 18, 0 }, { -30, 27, -93, 16, 18, 0 }, { -30, 27, -94, 16, 18, 0 }, { -30, 27, -95, 16, 18, 0 }, { -30, 27, -96, 16, 18, 0 }, + { -30, 27, -97, 16, 18, 0 }, { -30, 27, -98, 16, 18, 0 }, { -30, 28, -99, 16, 18, 0 }, { -30, 28, -100, 16, 18, 0 }, { -30, 28, -101, 16, 18, 0 }, + { -30, 28, -102, 16, 18, 0 }, { -30, 28, -103, 16, 18, 0 }, { -30, 28, -104, 16, 18, 0 }, { -30, 28, -105, 16, 18, 0 }, { -30, 28, -106, 16, 18, 0 }, + { -30, 28, -107, 16, 18, 0 }, { -30, 28, -108, 16, 18, 0 }, { -30, 29, -109, 16, 18, 0 }, { -30, 29, -110, 16, 18, 0 }, { -30, 29, -111, 16, 18, 0 }, + { -30, 29, -112, 16, 18, 0 }, { -30, 29, -113, 16, 18, 0 }, { -30, 29, -114, 16, 18, 0 }, { -30, 29, -115, 16, 18, 0 }, { -30, 29, -116, 16, 17, 0 }, + { -30, 29, -117, 16, 17, 0 }, { -29, 29, -118, 16, 17, 0 }, { -29, 30, -119, 16, 17, 0 }, { -29, 30, -120, 16, 17, 0 }, { -29, 30, -121, 16, 17, 0 }, + { -29, 30, -122, 16, 17, 0 }, { -29, 30, -123, 16, 17, 0 }, { -28, 30, -124, 16, 17, 0 }, { -28, 30, -125, 16, 17, 0 }, { -28, 30, -126, 16, 17, 0 }, + { -28, 30, -127, 16, 17, 0 }, { -28, 31, -128, 16, 17, 0 }, { -28, 31, -129, 16, 17, 0 }, { -27, 31, -130, 16, 17, 0 }, { -27, 31, -131, 16, 17, 0 }, + { -27, 31, -132, 16, 17, 0 }, { -27, 31, -133, 16, 17, 0 }, { -27, 31, -134, 16, 17, 0 }, { -26, 31, -135, 16, 17, 0 }, { -26, 31, -136, 16, 17, 0 }, + { -26, 31, -137, 16, 17, 0 }, { -26, 32, -138, 16, 17, 0 }, { -25, 32, -139, 16, 17, 0 }, { -25, 32, -140, 16, 17, 0 }, { -25, 32, -141, 16, 17, 0 }, + { -24, 32, -142, 16, 17, 0 }, { -24, 32, -143, 16, 17, 0 }, { -24, 32, -144, 16, 17, 0 }, { -23, 32, -145, 16, 17, 0 }, { -23, 32, -146, 16, 17, 0 }, + { -23, 32, -147, 16, 17, 0 }, { -23, 33, -148, 16, 17, 0 }, { -22, 33, -149, 16, 58, 0 }, { -22, 33, -150, 16, 58, 0 }, { -22, 33, -151, 16, 58, 0 }, + { -21, 33, -152, 16, 58, 0 }, { -21, 33, -153, 16, 58, 0 }, { -20, 33, -154, 16, 58, 0 }, { -20, 33, -155, 16, 58, 0 }, { -19, 33, -156, 16, 58, 0 }, + { -19, 34, -157, 16, 58, 0 }, { -19, 34, -158, 16, 58, 0 }, { -18, 34, -159, 16, 58, 0 }, { -18, 34, -160, 16, 58, 0 }, { -17, 34, -161, 16, 58, 0 }, + { -17, 34, -162, 16, 58, 0 }, { -17, 34, -163, 16, 58, 0 }, { -16, 34, -164, 16, 58, 0 }, { -16, 34, -165, 16, 58, 0 }, { -15, 34, -166, 16, 58, 0 }, + { -15, 35, -167, 16, 58, 0 }, { -14, 35, -168, 16, 58, 0 }, { -14, 35, -169, 16, 58, 0 }, { -14, 35, -170, 16, 58, 0 }, { -13, 35, -171, 16, 58, 0 }, + { -13, 35, -172, 16, 58, 0 }, { -12, 35, -173, 16, 58, 0 }, { -12, 35, -174, 16, 58, 0 }, { -11, 35, -175, 16, 58, 0 }, { -11, 35, -176, 16, 58, 0 }, + { -10, 36, -177, 16, 58, 0 }, { -10, 36, -178, 16, 58, 0 }, { -9, 36, -179, 16, 58, 0 }, { -8, 36, -180, 16, 58, 0 }, { -8, 36, -181, 16, 58, 0 }, + { -7, 36, -182, 16, 58, 0 }, { -7, 36, -183, 16, 58, 0 }, { -6, 36, -184, 16, 58, 0 }, { -5, 36, -185, 16, 57, 0 }, { -5, 36, -186, 16, 57, 0 }, + { -4, 37, -187, 16, 57, 0 }, { -4, 37, -188, 16, 57, 0 }, { -3, 37, -189, 16, 57, 0 }, { -2, 37, -190, 16, 57, 0 }, { -2, 37, -191, 16, 57, 0 }, + { -1, 37, -192, 16, 57, 0 }, { 0, 37, -193, 16, 57, 0 }, { 0, 37, -194, 16, 57, 0 }, { 1, 37, -195, 16, 57, 0 }, { 2, 38, -196, 16, 57, 0 }, + { 3, 38, -197, 16, 57, 0 }, { 3, 38, -198, 16, 57, 0 }, { 4, 38, -199, 16, 57, 0 }, { 5, 38, -200, 16, 57, 0 }, { 5, 38, -201, 16, 57, 0 }, + { 6, 38, -202, 16, 57, 0 }, { 7, 38, -203, 16, 57, 0 }, { 7, 38, -204, 16, 57, 0 }, { 8, 38, -205, 16, 57, 0 }, { 9, 39, -206, 16, 57, 0 }, + { 10, 39, -207, 16, 57, 0 }, { 11, 39, -208, 16, 57, 0 }, { 12, 39, -209, 16, 57, 0 }, { 13, 39, -210, 16, 57, 0 }, { 14, 39, -211, 16, 57, 0 }, + { 14, 39, -212, 16, 57, 0 }, { 15, 39, -213, 16, 57, 0 }, { 16, 39, -214, 16, 57, 0 }, { 17, 39, -215, 16, 57, 0 }, { 18, 40, -216, 16, 57, 0 }, + { 19, 40, -217, 16, 57, 0 }, { 20, 40, -218, 16, 57, 0 }, { 21, 40, -219, 16, 57, 0 }, { 22, 40, -220, 16, 57, 0 }, { 23, 40, -221, 16, 57, 0 }, + { 24, 40, -222, 16, 57, 0 }, { 25, 40, -222, 16, 57, 0 }, { 26, 40, -223, 16, 57, 0 }, { 27, 41, -224, 16, 57, 0 }, { 28, 41, -225, 16, 57, 0 }, + { 29, 41, -226, 16, 57, 0 }, { 30, 41, -227, 16, 57, 0 }, { 31, 41, -228, 16, 57, 0 }, { 32, 41, -228, 16, 57, 0 }, { 33, 41, -229, 16, 57, 0 }, + { 34, 41, -230, 16, 56, 0 }, { 35, 41, -231, 16, 56, 0 }, { 36, 41, -231, 16, 56, 0 }, { 37, 42, -232, 16, 56, 0 }, { 38, 42, -233, 16, 56, 0 }, + { 39, 42, -234, 16, 56, 0 }, { 40, 42, -234, 16, 56, 0 }, { 41, 42, -235, 16, 56, 0 }, { 42, 42, -236, 16, 56, 0 }, { 43, 42, -237, 16, 56, 0 }, + { 44, 42, -237, 16, 56, 0 }, { 45, 42, -238, 16, 56, 0 }, { 46, 42, -239, 16, 56, 0 }, { 47, 43, -239, 16, 56, 0 }, { 48, 43, -240, 16, 56, 0 }, + { 49, 43, -240, 16, 56, 0 }, { 50, 43, -241, 16, 56, 0 }, { 51, 43, -242, 16, 56, 0 }, { 52, 43, -242, 16, 56, 0 }, { 53, 43, -243, 16, 56, 0 }, + { 54, 43, -243, 16, 56, 0 }, { 55, 43, -244, 16, 56, 0 }, { 56, 43, -245, 16, 56, 0 }, { 57, 44, -245, 16, 56, 0 }, { 58, 44, -246, 16, 56, 0 }, + { 59, 44, -246, 16, 56, 0 }, { 60, 44, -247, 16, 56, 0 }, { 61, 44, -247, 16, 56, 0 }, { 62, 44, -248, 16, 56, 0 }, { 63, 44, -248, 16, 56, 0 }, + { 64, 44, -249, 16, 56, 0 }, { 65, 44, -249, 16, 56, 0 }, { 66, 45, -250, 16, 56, 0 }, { 67, 45, -250, 16, 56, 0 }, { 68, 45, -251, 16, 56, 0 }, + { 69, 45, -251, 16, 56, 0 }, { 70, 45, -252, 16, 56, 0 }, { 71, 45, -252, 16, 56, 0 }, { 72, 45, -253, 16, 56, 0 }, { 73, 45, -253, 16, 56, 0 }, + { 74, 45, -254, 16, 56, 0 }, { 75, 45, -254, 16, 56, 0 }, { 76, 46, -255, 16, 56, 0 }, { 77, 46, -255, 16, 56, 0 }, { 78, 46, -256, 16, 56, 0 }, + { 79, 46, -256, 16, 56, 0 }, { 80, 46, -257, 16, 56, 0 }, { 81, 46, -257, 16, 56, 0 }, { 82, 46, -258, 16, 56, 0 }, { 83, 46, -258, 16, 56, 0 }, + { 84, 46, -259, 16, 56, 0 }, { 85, 46, -259, 16, 56, 0 }, { 86, 47, -260, 16, 56, 0 }, { 87, 47, -260, 16, 56, 0 }, { 88, 47, -261, 16, 56, 0 }, + { 89, 47, -261, 16, 56, 0 }, { 90, 47, -262, 16, 56, 0 }, { 91, 47, -262, 16, 56, 0 }, { 92, 47, -263, 16, 56, 0 }, { 93, 47, -263, 16, 56, 0 }, + { 94, 47, -264, 16, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown1, { + { 16, 0, 0, 8, 0, 0 }, { 16, 1, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 3, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, + { 16, 5, 0, 8, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 8, -1, 8, 0, 0 }, { 16, 9, -1, 8, 0, 0 }, + { 17, 10, -1, 8, 0, 0 }, { 17, 11, -1, 8, 0, 0 }, { 17, 12, -2, 8, 0, 0 }, { 17, 13, -2, 8, 0, 0 }, { 17, 14, -2, 8, 0, 0 }, + { 17, 15, -3, 24, 23, 0 }, { 17, 16, -3, 24, 23, 0 }, { 17, 17, -4, 24, 23, 0 }, { 17, 18, -4, 24, 23, 0 }, { 17, 19, -5, 24, 23, 0 }, + { 18, 20, -5, 24, 23, 0 }, { 18, 21, -6, 24, 23, 0 }, { 18, 22, -6, 24, 23, 0 }, { 18, 23, -7, 24, 23, 0 }, { 18, 24, -8, 24, 23, 0 }, + { 18, 25, -8, 24, 23, 0 }, { 18, 26, -9, 24, 23, 0 }, { 18, 27, -10, 24, 23, 0 }, { 18, 28, -11, 24, 23, 0 }, { 18, 29, -11, 24, 23, 0 }, + { 19, 30, -12, 24, 22, 0 }, { 19, 31, -13, 24, 22, 0 }, { 19, 32, -14, 24, 22, 0 }, { 19, 33, -15, 24, 22, 0 }, { 19, 34, -16, 24, 22, 0 }, + { 19, 35, -17, 24, 22, 0 }, { 19, 36, -18, 24, 22, 0 }, { 19, 37, -19, 24, 22, 0 }, { 19, 38, -20, 24, 22, 0 }, { 20, 39, -21, 24, 22, 0 }, + { 20, 40, -22, 24, 22, 0 }, { 20, 40, -23, 24, 22, 0 }, { 20, 41, -24, 24, 22, 0 }, { 20, 42, -25, 24, 21, 0 }, { 20, 43, -26, 24, 21, 0 }, + { 20, 43, -27, 24, 21, 0 }, { 20, 44, -28, 24, 21, 0 }, { 20, 45, -29, 24, 21, 0 }, { 20, 45, -30, 24, 21, 0 }, { 21, 46, -31, 24, 21, 0 }, + { 21, 47, -32, 24, 21, 0 }, { 21, 47, -33, 24, 21, 0 }, { 21, 48, -34, 24, 21, 0 }, { 21, 48, -35, 24, 21, 0 }, { 21, 49, -36, 24, 21, 0 }, + { 21, 49, -37, 24, 21, 0 }, { 21, 50, -38, 24, 21, 0 }, { 21, 50, -39, 24, 21, 0 }, { 21, 51, -40, 24, 20, 0 }, { 22, 51, -41, 24, 20, 0 }, + { 22, 52, -42, 24, 20, 0 }, { 22, 52, -43, 24, 20, 0 }, { 22, 53, -44, 24, 20, 0 }, { 22, 53, -45, 24, 20, 0 }, { 22, 53, -46, 24, 20, 0 }, + { 22, 54, -47, 24, 20, 0 }, { 22, 54, -48, 24, 20, 0 }, { 22, 54, -49, 24, 20, 0 }, { 22, 55, -50, 24, 20, 0 }, { 23, 55, -51, 24, 20, 0 }, + { 23, 56, -52, 24, 20, 0 }, { 23, 56, -53, 24, 20, 0 }, { 23, 56, -54, 24, 20, 0 }, { 23, 57, -55, 24, 19, 0 }, { 23, 57, -56, 24, 19, 0 }, + { 23, 57, -57, 24, 19, 0 }, { 23, 57, -58, 24, 19, 0 }, { 23, 58, -59, 24, 19, 0 }, { 24, 58, -60, 24, 19, 0 }, { 24, 58, -61, 24, 19, 0 }, + { 24, 58, -62, 24, 19, 0 }, { 24, 59, -63, 24, 19, 0 }, { 24, 59, -64, 24, 19, 0 }, { 24, 59, -65, 24, 19, 0 }, { 24, 59, -66, 24, 19, 0 }, + { 24, 59, -67, 24, 19, 0 }, { 24, 59, -68, 24, 19, 0 }, { 24, 60, -69, 24, 19, 0 }, { 25, 60, -70, 24, 19, 0 }, { 25, 60, -71, 24, 19, 0 }, + { 25, 60, -72, 24, 19, 0 }, { 25, 60, -73, 24, 19, 0 }, { 25, 60, -74, 24, 19, 0 }, { 25, 60, -75, 24, 19, 0 }, { 25, 60, -76, 24, 19, 0 }, + { 25, 61, -77, 24, 19, 0 }, { 25, 61, -78, 24, 19, 0 }, { 25, 61, -79, 24, 18, 0 }, { 26, 61, -80, 24, 18, 0 }, { 26, 61, -81, 24, 18, 0 }, + { 26, 61, -82, 24, 18, 0 }, { 26, 61, -83, 24, 18, 0 }, { 26, 61, -84, 24, 18, 0 }, { 26, 61, -85, 24, 18, 0 }, { 26, 61, -86, 24, 18, 0 }, + { 26, 61, -87, 24, 18, 0 }, { 26, 61, -88, 24, 18, 0 }, { 27, 61, -89, 24, 18, 0 }, { 27, 61, -90, 24, 18, 0 }, { 27, 61, -91, 24, 18, 0 }, + { 27, 61, -92, 24, 18, 0 }, { 27, 61, -93, 24, 18, 0 }, { 27, 61, -94, 24, 18, 0 }, { 27, 61, -95, 24, 18, 0 }, { 27, 61, -96, 24, 18, 0 }, + { 27, 61, -97, 24, 18, 0 }, { 27, 61, -98, 24, 18, 0 }, { 28, 61, -99, 24, 18, 0 }, { 28, 61, -100, 24, 18, 0 }, { 28, 61, -101, 24, 18, 0 }, + { 28, 61, -102, 24, 18, 0 }, { 28, 61, -103, 24, 18, 0 }, { 28, 61, -104, 24, 18, 0 }, { 28, 61, -105, 24, 18, 0 }, { 28, 61, -106, 24, 18, 0 }, + { 28, 61, -107, 24, 18, 0 }, { 28, 61, -108, 24, 18, 0 }, { 29, 61, -109, 24, 18, 0 }, { 29, 61, -110, 24, 18, 0 }, { 29, 61, -111, 24, 18, 0 }, + { 29, 61, -112, 24, 18, 0 }, { 29, 61, -113, 24, 18, 0 }, { 29, 61, -114, 24, 18, 0 }, { 29, 61, -115, 24, 18, 0 }, { 29, 61, -116, 24, 17, 0 }, + { 29, 61, -117, 24, 17, 0 }, { 29, 60, -118, 24, 17, 0 }, { 30, 60, -119, 24, 17, 0 }, { 30, 60, -120, 24, 17, 0 }, { 30, 60, -121, 24, 17, 0 }, + { 30, 60, -122, 24, 17, 0 }, { 30, 60, -123, 24, 17, 0 }, { 30, 59, -124, 24, 17, 0 }, { 30, 59, -125, 24, 17, 0 }, { 30, 59, -126, 24, 17, 0 }, + { 30, 59, -127, 24, 17, 0 }, { 31, 59, -128, 24, 17, 0 }, { 31, 59, -129, 24, 17, 0 }, { 31, 58, -130, 24, 17, 0 }, { 31, 58, -131, 24, 17, 0 }, + { 31, 58, -132, 24, 17, 0 }, { 31, 58, -133, 24, 17, 0 }, { 31, 58, -134, 24, 17, 0 }, { 31, 57, -135, 24, 17, 0 }, { 31, 57, -136, 24, 17, 0 }, + { 31, 57, -137, 24, 17, 0 }, { 32, 57, -138, 24, 17, 0 }, { 32, 56, -139, 24, 17, 0 }, { 32, 56, -140, 24, 17, 0 }, { 32, 56, -141, 24, 17, 0 }, + { 32, 55, -142, 24, 17, 0 }, { 32, 55, -143, 24, 17, 0 }, { 32, 55, -144, 24, 17, 0 }, { 32, 54, -145, 24, 17, 0 }, { 32, 54, -146, 24, 17, 0 }, + { 32, 54, -147, 24, 17, 0 }, { 33, 54, -148, 24, 17, 0 }, { 33, 53, -149, 24, 58, 0 }, { 33, 53, -150, 24, 58, 0 }, { 33, 53, -151, 24, 58, 0 }, + { 33, 52, -152, 24, 58, 0 }, { 33, 52, -153, 24, 58, 0 }, { 33, 51, -154, 24, 58, 0 }, { 33, 51, -155, 24, 58, 0 }, { 33, 50, -156, 24, 58, 0 }, + { 34, 50, -157, 24, 58, 0 }, { 34, 50, -158, 24, 58, 0 }, { 34, 49, -159, 24, 58, 0 }, { 34, 49, -160, 24, 58, 0 }, { 34, 48, -161, 24, 58, 0 }, + { 34, 48, -162, 24, 58, 0 }, { 34, 48, -163, 24, 58, 0 }, { 34, 47, -164, 24, 58, 0 }, { 34, 47, -165, 24, 58, 0 }, { 34, 46, -166, 24, 58, 0 }, + { 35, 46, -167, 24, 58, 0 }, { 35, 45, -168, 24, 58, 0 }, { 35, 45, -169, 24, 58, 0 }, { 35, 45, -170, 24, 58, 0 }, { 35, 44, -171, 24, 58, 0 }, + { 35, 44, -172, 24, 58, 0 }, { 35, 43, -173, 24, 58, 0 }, { 35, 43, -174, 24, 58, 0 }, { 35, 42, -175, 24, 58, 0 }, { 35, 42, -176, 24, 58, 0 }, + { 36, 41, -177, 24, 58, 0 }, { 36, 41, -178, 24, 58, 0 }, { 36, 40, -179, 24, 58, 0 }, { 36, 39, -180, 24, 58, 0 }, { 36, 39, -181, 24, 58, 0 }, + { 36, 38, -182, 24, 58, 0 }, { 36, 38, -183, 24, 58, 0 }, { 36, 37, -184, 24, 58, 0 }, { 36, 36, -185, 24, 57, 0 }, { 36, 36, -186, 24, 57, 0 }, + { 37, 35, -187, 24, 57, 0 }, { 37, 35, -188, 24, 57, 0 }, { 37, 34, -189, 24, 57, 0 }, { 37, 33, -190, 24, 57, 0 }, { 37, 33, -191, 24, 57, 0 }, + { 37, 32, -192, 24, 57, 0 }, { 37, 31, -193, 24, 57, 0 }, { 37, 31, -194, 24, 57, 0 }, { 37, 30, -195, 24, 57, 0 }, { 38, 29, -196, 24, 57, 0 }, + { 38, 28, -197, 24, 57, 0 }, { 38, 28, -198, 24, 57, 0 }, { 38, 27, -199, 24, 57, 0 }, { 38, 26, -200, 24, 57, 0 }, { 38, 26, -201, 24, 57, 0 }, + { 38, 25, -202, 24, 57, 0 }, { 38, 24, -203, 24, 57, 0 }, { 38, 24, -204, 24, 57, 0 }, { 38, 23, -205, 24, 57, 0 }, { 39, 22, -206, 24, 57, 0 }, + { 39, 21, -207, 24, 57, 0 }, { 39, 20, -208, 24, 57, 0 }, { 39, 19, -209, 24, 57, 0 }, { 39, 18, -210, 24, 57, 0 }, { 39, 17, -211, 24, 57, 0 }, + { 39, 17, -212, 24, 57, 0 }, { 39, 16, -213, 24, 57, 0 }, { 39, 15, -214, 24, 57, 0 }, { 39, 14, -215, 24, 57, 0 }, { 40, 13, -216, 24, 57, 0 }, + { 40, 12, -217, 24, 57, 0 }, { 40, 11, -218, 24, 57, 0 }, { 40, 10, -219, 24, 57, 0 }, { 40, 9, -220, 24, 57, 0 }, { 40, 8, -221, 24, 57, 0 }, + { 40, 7, -222, 24, 57, 0 }, { 40, 6, -222, 24, 57, 0 }, { 40, 5, -223, 24, 57, 0 }, { 41, 4, -224, 24, 57, 0 }, { 41, 3, -225, 24, 57, 0 }, + { 41, 2, -226, 24, 57, 0 }, { 41, 1, -227, 24, 57, 0 }, { 41, 0, -228, 24, 57, 0 }, { 41, -1, -228, 24, 57, 0 }, { 41, -2, -229, 24, 57, 0 }, + { 41, -3, -230, 24, 56, 0 }, { 41, -4, -231, 24, 56, 0 }, { 41, -5, -231, 24, 56, 0 }, { 42, -6, -232, 24, 56, 0 }, { 42, -7, -233, 24, 56, 0 }, + { 42, -8, -234, 24, 56, 0 }, { 42, -9, -234, 24, 56, 0 }, { 42, -10, -235, 24, 56, 0 }, { 42, -11, -236, 24, 56, 0 }, { 42, -12, -237, 24, 56, 0 }, + { 42, -13, -237, 24, 56, 0 }, { 42, -14, -238, 24, 56, 0 }, { 42, -15, -239, 24, 56, 0 }, { 43, -16, -239, 24, 56, 0 }, { 43, -17, -240, 24, 56, 0 }, + { 43, -18, -240, 24, 56, 0 }, { 43, -19, -241, 24, 56, 0 }, { 43, -20, -242, 24, 56, 0 }, { 43, -21, -242, 24, 56, 0 }, { 43, -22, -243, 24, 56, 0 }, + { 43, -23, -243, 24, 56, 0 }, { 43, -24, -244, 24, 56, 0 }, { 43, -25, -245, 24, 56, 0 }, { 44, -26, -245, 24, 56, 0 }, { 44, -27, -246, 24, 56, 0 }, + { 44, -28, -246, 24, 56, 0 }, { 44, -29, -247, 24, 56, 0 }, { 44, -30, -247, 24, 56, 0 }, { 44, -31, -248, 24, 56, 0 }, { 44, -32, -248, 24, 56, 0 }, + { 44, -33, -249, 24, 56, 0 }, { 44, -34, -249, 24, 56, 0 }, { 45, -35, -250, 24, 56, 0 }, { 45, -36, -250, 24, 56, 0 }, { 45, -37, -251, 24, 56, 0 }, + { 45, -38, -251, 24, 56, 0 }, { 45, -39, -252, 24, 56, 0 }, { 45, -40, -252, 24, 56, 0 }, { 45, -41, -253, 24, 56, 0 }, { 45, -42, -253, 24, 56, 0 }, + { 45, -43, -254, 24, 56, 0 }, { 45, -44, -254, 24, 56, 0 }, { 46, -45, -255, 24, 56, 0 }, { 46, -46, -255, 24, 56, 0 }, { 46, -47, -256, 24, 56, 0 }, + { 46, -48, -256, 24, 56, 0 }, { 46, -49, -257, 24, 56, 0 }, { 46, -50, -257, 24, 56, 0 }, { 46, -51, -258, 24, 56, 0 }, { 46, -52, -258, 24, 56, 0 }, + { 46, -53, -259, 24, 56, 0 }, { 46, -54, -259, 24, 56, 0 }, { 47, -55, -260, 24, 56, 0 }, { 47, -56, -260, 24, 56, 0 }, { 47, -57, -261, 24, 56, 0 }, + { 47, -58, -261, 24, 56, 0 }, { 47, -59, -262, 24, 56, 0 }, { 47, -60, -262, 24, 56, 0 }, { 47, -61, -263, 24, 56, 0 }, { 47, -62, -263, 24, 56, 0 }, + { 47, -63, -264, 24, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown2, { + { 0, 16, 0, 16, 0, 0 }, { 1, 16, 0, 16, 0, 0 }, { 2, 16, 0, 16, 0, 0 }, { 3, 16, 0, 16, 0, 0 }, { 4, 16, 0, 16, 0, 0 }, + { 5, 16, 0, 16, 0, 0 }, { 6, 16, 0, 16, 0, 0 }, { 7, 16, 0, 16, 0, 0 }, { 8, 16, -1, 16, 0, 0 }, { 9, 16, -1, 16, 0, 0 }, + { 10, 15, -1, 16, 0, 0 }, { 11, 15, -1, 16, 0, 0 }, { 12, 15, -2, 16, 0, 0 }, { 13, 15, -2, 16, 0, 0 }, { 14, 15, -2, 16, 0, 0 }, + { 15, 15, -3, 0, 23, 0 }, { 16, 15, -3, 0, 23, 0 }, { 17, 15, -4, 0, 23, 0 }, { 18, 15, -4, 0, 23, 0 }, { 19, 15, -5, 0, 23, 0 }, + { 20, 14, -5, 0, 23, 0 }, { 21, 14, -6, 0, 23, 0 }, { 22, 14, -6, 0, 23, 0 }, { 23, 14, -7, 0, 23, 0 }, { 24, 14, -8, 0, 23, 0 }, + { 25, 14, -8, 0, 23, 0 }, { 26, 14, -9, 0, 23, 0 }, { 27, 14, -10, 0, 23, 0 }, { 28, 14, -11, 0, 23, 0 }, { 29, 14, -11, 0, 23, 0 }, + { 30, 13, -12, 0, 22, 0 }, { 31, 13, -13, 0, 22, 0 }, { 32, 13, -14, 0, 22, 0 }, { 33, 13, -15, 0, 22, 0 }, { 34, 13, -16, 0, 22, 0 }, + { 35, 13, -17, 0, 22, 0 }, { 36, 13, -18, 0, 22, 0 }, { 37, 13, -19, 0, 22, 0 }, { 38, 13, -20, 0, 22, 0 }, { 39, 12, -21, 0, 22, 0 }, + { 40, 12, -22, 0, 22, 0 }, { 40, 12, -23, 0, 22, 0 }, { 41, 12, -24, 0, 22, 0 }, { 42, 12, -25, 0, 21, 0 }, { 43, 12, -26, 0, 21, 0 }, + { 43, 12, -27, 0, 21, 0 }, { 44, 12, -28, 0, 21, 0 }, { 45, 12, -29, 0, 21, 0 }, { 45, 12, -30, 0, 21, 0 }, { 46, 11, -31, 0, 21, 0 }, + { 47, 11, -32, 0, 21, 0 }, { 47, 11, -33, 0, 21, 0 }, { 48, 11, -34, 0, 21, 0 }, { 48, 11, -35, 0, 21, 0 }, { 49, 11, -36, 0, 21, 0 }, + { 49, 11, -37, 0, 21, 0 }, { 50, 11, -38, 0, 21, 0 }, { 50, 11, -39, 0, 21, 0 }, { 51, 11, -40, 0, 20, 0 }, { 51, 10, -41, 0, 20, 0 }, + { 52, 10, -42, 0, 20, 0 }, { 52, 10, -43, 0, 20, 0 }, { 53, 10, -44, 0, 20, 0 }, { 53, 10, -45, 0, 20, 0 }, { 53, 10, -46, 0, 20, 0 }, + { 54, 10, -47, 0, 20, 0 }, { 54, 10, -48, 0, 20, 0 }, { 54, 10, -49, 0, 20, 0 }, { 55, 10, -50, 0, 20, 0 }, { 55, 9, -51, 0, 20, 0 }, + { 56, 9, -52, 0, 20, 0 }, { 56, 9, -53, 0, 20, 0 }, { 56, 9, -54, 0, 20, 0 }, { 57, 9, -55, 0, 19, 0 }, { 57, 9, -56, 0, 19, 0 }, + { 57, 9, -57, 0, 19, 0 }, { 57, 9, -58, 0, 19, 0 }, { 58, 9, -59, 0, 19, 0 }, { 58, 8, -60, 0, 19, 0 }, { 58, 8, -61, 0, 19, 0 }, + { 58, 8, -62, 0, 19, 0 }, { 59, 8, -63, 0, 19, 0 }, { 59, 8, -64, 0, 19, 0 }, { 59, 8, -65, 0, 19, 0 }, { 59, 8, -66, 0, 19, 0 }, + { 59, 8, -67, 0, 19, 0 }, { 59, 8, -68, 0, 19, 0 }, { 60, 8, -69, 0, 19, 0 }, { 60, 7, -70, 0, 19, 0 }, { 60, 7, -71, 0, 19, 0 }, + { 60, 7, -72, 0, 19, 0 }, { 60, 7, -73, 0, 19, 0 }, { 60, 7, -74, 0, 19, 0 }, { 60, 7, -75, 0, 19, 0 }, { 60, 7, -76, 0, 19, 0 }, + { 61, 7, -77, 0, 19, 0 }, { 61, 7, -78, 0, 19, 0 }, { 61, 7, -79, 0, 18, 0 }, { 61, 6, -80, 0, 18, 0 }, { 61, 6, -81, 0, 18, 0 }, + { 61, 6, -82, 0, 18, 0 }, { 61, 6, -83, 0, 18, 0 }, { 61, 6, -84, 0, 18, 0 }, { 61, 6, -85, 0, 18, 0 }, { 61, 6, -86, 0, 18, 0 }, + { 61, 6, -87, 0, 18, 0 }, { 61, 6, -88, 0, 18, 0 }, { 61, 5, -89, 0, 18, 0 }, { 61, 5, -90, 0, 18, 0 }, { 61, 5, -91, 0, 18, 0 }, + { 61, 5, -92, 0, 18, 0 }, { 61, 5, -93, 0, 18, 0 }, { 61, 5, -94, 0, 18, 0 }, { 61, 5, -95, 0, 18, 0 }, { 61, 5, -96, 0, 18, 0 }, + { 61, 5, -97, 0, 18, 0 }, { 61, 5, -98, 0, 18, 0 }, { 61, 4, -99, 0, 18, 0 }, { 61, 4, -100, 0, 18, 0 }, { 61, 4, -101, 0, 18, 0 }, + { 61, 4, -102, 0, 18, 0 }, { 61, 4, -103, 0, 18, 0 }, { 61, 4, -104, 0, 18, 0 }, { 61, 4, -105, 0, 18, 0 }, { 61, 4, -106, 0, 18, 0 }, + { 61, 4, -107, 0, 18, 0 }, { 61, 4, -108, 0, 18, 0 }, { 61, 3, -109, 0, 18, 0 }, { 61, 3, -110, 0, 18, 0 }, { 61, 3, -111, 0, 18, 0 }, + { 61, 3, -112, 0, 18, 0 }, { 61, 3, -113, 0, 18, 0 }, { 61, 3, -114, 0, 18, 0 }, { 61, 3, -115, 0, 18, 0 }, { 61, 3, -116, 0, 17, 0 }, + { 61, 3, -117, 0, 17, 0 }, { 60, 3, -118, 0, 17, 0 }, { 60, 2, -119, 0, 17, 0 }, { 60, 2, -120, 0, 17, 0 }, { 60, 2, -121, 0, 17, 0 }, + { 60, 2, -122, 0, 17, 0 }, { 60, 2, -123, 0, 17, 0 }, { 59, 2, -124, 0, 17, 0 }, { 59, 2, -125, 0, 17, 0 }, { 59, 2, -126, 0, 17, 0 }, + { 59, 2, -127, 0, 17, 0 }, { 59, 1, -128, 0, 17, 0 }, { 59, 1, -129, 0, 17, 0 }, { 58, 1, -130, 0, 17, 0 }, { 58, 1, -131, 0, 17, 0 }, + { 58, 1, -132, 0, 17, 0 }, { 58, 1, -133, 0, 17, 0 }, { 58, 1, -134, 0, 17, 0 }, { 57, 1, -135, 0, 17, 0 }, { 57, 1, -136, 0, 17, 0 }, + { 57, 1, -137, 0, 17, 0 }, { 57, 0, -138, 0, 17, 0 }, { 56, 0, -139, 0, 17, 0 }, { 56, 0, -140, 0, 17, 0 }, { 56, 0, -141, 0, 17, 0 }, + { 55, 0, -142, 0, 17, 0 }, { 55, 0, -143, 0, 17, 0 }, { 55, 0, -144, 0, 17, 0 }, { 54, 0, -145, 0, 17, 0 }, { 54, 0, -146, 0, 17, 0 }, + { 54, 0, -147, 0, 17, 0 }, { 54, -1, -148, 0, 17, 0 }, { 53, -1, -149, 0, 58, 0 }, { 53, -1, -150, 0, 58, 0 }, { 53, -1, -151, 0, 58, 0 }, + { 52, -1, -152, 0, 58, 0 }, { 52, -1, -153, 0, 58, 0 }, { 51, -1, -154, 0, 58, 0 }, { 51, -1, -155, 0, 58, 0 }, { 50, -1, -156, 0, 58, 0 }, + { 50, -2, -157, 0, 58, 0 }, { 50, -2, -158, 0, 58, 0 }, { 49, -2, -159, 0, 58, 0 }, { 49, -2, -160, 0, 58, 0 }, { 48, -2, -161, 0, 58, 0 }, + { 48, -2, -162, 0, 58, 0 }, { 48, -2, -163, 0, 58, 0 }, { 47, -2, -164, 0, 58, 0 }, { 47, -2, -165, 0, 58, 0 }, { 46, -2, -166, 0, 58, 0 }, + { 46, -3, -167, 0, 58, 0 }, { 45, -3, -168, 0, 58, 0 }, { 45, -3, -169, 0, 58, 0 }, { 45, -3, -170, 0, 58, 0 }, { 44, -3, -171, 0, 58, 0 }, + { 44, -3, -172, 0, 58, 0 }, { 43, -3, -173, 0, 58, 0 }, { 43, -3, -174, 0, 58, 0 }, { 42, -3, -175, 0, 58, 0 }, { 42, -3, -176, 0, 58, 0 }, + { 41, -4, -177, 0, 58, 0 }, { 41, -4, -178, 0, 58, 0 }, { 40, -4, -179, 0, 58, 0 }, { 39, -4, -180, 0, 58, 0 }, { 39, -4, -181, 0, 58, 0 }, + { 38, -4, -182, 0, 58, 0 }, { 38, -4, -183, 0, 58, 0 }, { 37, -4, -184, 0, 58, 0 }, { 36, -4, -185, 0, 57, 0 }, { 36, -4, -186, 0, 57, 0 }, + { 35, -5, -187, 0, 57, 0 }, { 35, -5, -188, 0, 57, 0 }, { 34, -5, -189, 0, 57, 0 }, { 33, -5, -190, 0, 57, 0 }, { 33, -5, -191, 0, 57, 0 }, + { 32, -5, -192, 0, 57, 0 }, { 31, -5, -193, 0, 57, 0 }, { 31, -5, -194, 0, 57, 0 }, { 30, -5, -195, 0, 57, 0 }, { 29, -6, -196, 0, 57, 0 }, + { 28, -6, -197, 0, 57, 0 }, { 28, -6, -198, 0, 57, 0 }, { 27, -6, -199, 0, 57, 0 }, { 26, -6, -200, 0, 57, 0 }, { 26, -6, -201, 0, 57, 0 }, + { 25, -6, -202, 0, 57, 0 }, { 24, -6, -203, 0, 57, 0 }, { 24, -6, -204, 0, 57, 0 }, { 23, -6, -205, 0, 57, 0 }, { 22, -7, -206, 0, 57, 0 }, + { 21, -7, -207, 0, 57, 0 }, { 20, -7, -208, 0, 57, 0 }, { 19, -7, -209, 0, 57, 0 }, { 18, -7, -210, 0, 57, 0 }, { 17, -7, -211, 0, 57, 0 }, + { 17, -7, -212, 0, 57, 0 }, { 16, -7, -213, 0, 57, 0 }, { 15, -7, -214, 0, 57, 0 }, { 14, -7, -215, 0, 57, 0 }, { 13, -8, -216, 0, 57, 0 }, + { 12, -8, -217, 0, 57, 0 }, { 11, -8, -218, 0, 57, 0 }, { 10, -8, -219, 0, 57, 0 }, { 9, -8, -220, 0, 57, 0 }, { 8, -8, -221, 0, 57, 0 }, + { 7, -8, -222, 0, 57, 0 }, { 6, -8, -222, 0, 57, 0 }, { 5, -8, -223, 0, 57, 0 }, { 4, -9, -224, 0, 57, 0 }, { 3, -9, -225, 0, 57, 0 }, + { 2, -9, -226, 0, 57, 0 }, { 1, -9, -227, 0, 57, 0 }, { 0, -9, -228, 0, 57, 0 }, { -1, -9, -228, 0, 57, 0 }, { -2, -9, -229, 0, 57, 0 }, + { -3, -9, -230, 0, 56, 0 }, { -4, -9, -231, 0, 56, 0 }, { -5, -9, -231, 0, 56, 0 }, { -6, -10, -232, 0, 56, 0 }, { -7, -10, -233, 0, 56, 0 }, + { -8, -10, -234, 0, 56, 0 }, { -9, -10, -234, 0, 56, 0 }, { -10, -10, -235, 0, 56, 0 }, { -11, -10, -236, 0, 56, 0 }, { -12, -10, -237, 0, 56, 0 }, + { -13, -10, -237, 0, 56, 0 }, { -14, -10, -238, 0, 56, 0 }, { -15, -10, -239, 0, 56, 0 }, { -16, -11, -239, 0, 56, 0 }, { -17, -11, -240, 0, 56, 0 }, + { -18, -11, -240, 0, 56, 0 }, { -19, -11, -241, 0, 56, 0 }, { -20, -11, -242, 0, 56, 0 }, { -21, -11, -242, 0, 56, 0 }, { -22, -11, -243, 0, 56, 0 }, + { -23, -11, -243, 0, 56, 0 }, { -24, -11, -244, 0, 56, 0 }, { -25, -11, -245, 0, 56, 0 }, { -26, -12, -245, 0, 56, 0 }, { -27, -12, -246, 0, 56, 0 }, + { -28, -12, -246, 0, 56, 0 }, { -29, -12, -247, 0, 56, 0 }, { -30, -12, -247, 0, 56, 0 }, { -31, -12, -248, 0, 56, 0 }, { -32, -12, -248, 0, 56, 0 }, + { -33, -12, -249, 0, 56, 0 }, { -34, -12, -249, 0, 56, 0 }, { -35, -13, -250, 0, 56, 0 }, { -36, -13, -250, 0, 56, 0 }, { -37, -13, -251, 0, 56, 0 }, + { -38, -13, -251, 0, 56, 0 }, { -39, -13, -252, 0, 56, 0 }, { -40, -13, -252, 0, 56, 0 }, { -41, -13, -253, 0, 56, 0 }, { -42, -13, -253, 0, 56, 0 }, + { -43, -13, -254, 0, 56, 0 }, { -44, -13, -254, 0, 56, 0 }, { -45, -14, -255, 0, 56, 0 }, { -46, -14, -255, 0, 56, 0 }, { -47, -14, -256, 0, 56, 0 }, + { -48, -14, -256, 0, 56, 0 }, { -49, -14, -257, 0, 56, 0 }, { -50, -14, -257, 0, 56, 0 }, { -51, -14, -258, 0, 56, 0 }, { -52, -14, -258, 0, 56, 0 }, + { -53, -14, -259, 0, 56, 0 }, { -54, -14, -259, 0, 56, 0 }, { -55, -15, -260, 0, 56, 0 }, { -56, -15, -260, 0, 56, 0 }, { -57, -15, -261, 0, 56, 0 }, + { -58, -15, -261, 0, 56, 0 }, { -59, -15, -262, 0, 56, 0 }, { -60, -15, -262, 0, 56, 0 }, { -61, -15, -263, 0, 56, 0 }, { -62, -15, -263, 0, 56, 0 }, + { -63, -15, -264, 0, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown3, { + { 16, 31, 0, 24, 0, 0 }, { 16, 30, 0, 24, 0, 0 }, { 16, 29, 0, 24, 0, 0 }, { 16, 28, 0, 24, 0, 0 }, { 16, 27, 0, 24, 0, 0 }, + { 16, 26, 0, 24, 0, 0 }, { 16, 25, 0, 24, 0, 0 }, { 16, 24, 0, 24, 0, 0 }, { 16, 23, -1, 24, 0, 0 }, { 16, 22, -1, 24, 0, 0 }, + { 15, 21, -1, 24, 0, 0 }, { 15, 20, -1, 24, 0, 0 }, { 15, 19, -2, 24, 0, 0 }, { 15, 18, -2, 24, 0, 0 }, { 15, 17, -2, 24, 0, 0 }, + { 15, 16, -3, 8, 23, 0 }, { 15, 15, -3, 8, 23, 0 }, { 15, 14, -4, 8, 23, 0 }, { 15, 13, -4, 8, 23, 0 }, { 15, 12, -5, 8, 23, 0 }, + { 14, 11, -5, 8, 23, 0 }, { 14, 10, -6, 8, 23, 0 }, { 14, 9, -6, 8, 23, 0 }, { 14, 8, -7, 8, 23, 0 }, { 14, 7, -8, 8, 23, 0 }, + { 14, 6, -8, 8, 23, 0 }, { 14, 5, -9, 8, 23, 0 }, { 14, 4, -10, 8, 23, 0 }, { 14, 3, -11, 8, 23, 0 }, { 14, 2, -11, 8, 23, 0 }, + { 13, 1, -12, 8, 22, 0 }, { 13, 0, -13, 8, 22, 0 }, { 13, -1, -14, 8, 22, 0 }, { 13, -2, -15, 8, 22, 0 }, { 13, -3, -16, 8, 22, 0 }, + { 13, -4, -17, 8, 22, 0 }, { 13, -5, -18, 8, 22, 0 }, { 13, -6, -19, 8, 22, 0 }, { 13, -7, -20, 8, 22, 0 }, { 12, -8, -21, 8, 22, 0 }, + { 12, -9, -22, 8, 22, 0 }, { 12, -9, -23, 8, 22, 0 }, { 12, -10, -24, 8, 22, 0 }, { 12, -11, -25, 8, 21, 0 }, { 12, -12, -26, 8, 21, 0 }, + { 12, -12, -27, 8, 21, 0 }, { 12, -13, -28, 8, 21, 0 }, { 12, -14, -29, 8, 21, 0 }, { 12, -14, -30, 8, 21, 0 }, { 11, -15, -31, 8, 21, 0 }, + { 11, -16, -32, 8, 21, 0 }, { 11, -16, -33, 8, 21, 0 }, { 11, -17, -34, 8, 21, 0 }, { 11, -17, -35, 8, 21, 0 }, { 11, -18, -36, 8, 21, 0 }, + { 11, -18, -37, 8, 21, 0 }, { 11, -19, -38, 8, 21, 0 }, { 11, -19, -39, 8, 21, 0 }, { 11, -20, -40, 8, 20, 0 }, { 10, -20, -41, 8, 20, 0 }, + { 10, -21, -42, 8, 20, 0 }, { 10, -21, -43, 8, 20, 0 }, { 10, -22, -44, 8, 20, 0 }, { 10, -22, -45, 8, 20, 0 }, { 10, -22, -46, 8, 20, 0 }, + { 10, -23, -47, 8, 20, 0 }, { 10, -23, -48, 8, 20, 0 }, { 10, -23, -49, 8, 20, 0 }, { 10, -24, -50, 8, 20, 0 }, { 9, -24, -51, 8, 20, 0 }, + { 9, -25, -52, 8, 20, 0 }, { 9, -25, -53, 8, 20, 0 }, { 9, -25, -54, 8, 20, 0 }, { 9, -26, -55, 8, 19, 0 }, { 9, -26, -56, 8, 19, 0 }, + { 9, -26, -57, 8, 19, 0 }, { 9, -26, -58, 8, 19, 0 }, { 9, -27, -59, 8, 19, 0 }, { 8, -27, -60, 8, 19, 0 }, { 8, -27, -61, 8, 19, 0 }, + { 8, -27, -62, 8, 19, 0 }, { 8, -28, -63, 8, 19, 0 }, { 8, -28, -64, 8, 19, 0 }, { 8, -28, -65, 8, 19, 0 }, { 8, -28, -66, 8, 19, 0 }, + { 8, -28, -67, 8, 19, 0 }, { 8, -28, -68, 8, 19, 0 }, { 8, -29, -69, 8, 19, 0 }, { 7, -29, -70, 8, 19, 0 }, { 7, -29, -71, 8, 19, 0 }, + { 7, -29, -72, 8, 19, 0 }, { 7, -29, -73, 8, 19, 0 }, { 7, -29, -74, 8, 19, 0 }, { 7, -29, -75, 8, 19, 0 }, { 7, -29, -76, 8, 19, 0 }, + { 7, -30, -77, 8, 19, 0 }, { 7, -30, -78, 8, 19, 0 }, { 7, -30, -79, 8, 18, 0 }, { 6, -30, -80, 8, 18, 0 }, { 6, -30, -81, 8, 18, 0 }, + { 6, -30, -82, 8, 18, 0 }, { 6, -30, -83, 8, 18, 0 }, { 6, -30, -84, 8, 18, 0 }, { 6, -30, -85, 8, 18, 0 }, { 6, -30, -86, 8, 18, 0 }, + { 6, -30, -87, 8, 18, 0 }, { 6, -30, -88, 8, 18, 0 }, { 5, -30, -89, 8, 18, 0 }, { 5, -30, -90, 8, 18, 0 }, { 5, -30, -91, 8, 18, 0 }, + { 5, -30, -92, 8, 18, 0 }, { 5, -30, -93, 8, 18, 0 }, { 5, -30, -94, 8, 18, 0 }, { 5, -30, -95, 8, 18, 0 }, { 5, -30, -96, 8, 18, 0 }, + { 5, -30, -97, 8, 18, 0 }, { 5, -30, -98, 8, 18, 0 }, { 4, -30, -99, 8, 18, 0 }, { 4, -30, -100, 8, 18, 0 }, { 4, -30, -101, 8, 18, 0 }, + { 4, -30, -102, 8, 18, 0 }, { 4, -30, -103, 8, 18, 0 }, { 4, -30, -104, 8, 18, 0 }, { 4, -30, -105, 8, 18, 0 }, { 4, -30, -106, 8, 18, 0 }, + { 4, -30, -107, 8, 18, 0 }, { 4, -30, -108, 8, 18, 0 }, { 3, -30, -109, 8, 18, 0 }, { 3, -30, -110, 8, 18, 0 }, { 3, -30, -111, 8, 18, 0 }, + { 3, -30, -112, 8, 18, 0 }, { 3, -30, -113, 8, 18, 0 }, { 3, -30, -114, 8, 18, 0 }, { 3, -30, -115, 8, 18, 0 }, { 3, -30, -116, 8, 17, 0 }, + { 3, -30, -117, 8, 17, 0 }, { 3, -29, -118, 8, 17, 0 }, { 2, -29, -119, 8, 17, 0 }, { 2, -29, -120, 8, 17, 0 }, { 2, -29, -121, 8, 17, 0 }, + { 2, -29, -122, 8, 17, 0 }, { 2, -29, -123, 8, 17, 0 }, { 2, -28, -124, 8, 17, 0 }, { 2, -28, -125, 8, 17, 0 }, { 2, -28, -126, 8, 17, 0 }, + { 2, -28, -127, 8, 17, 0 }, { 1, -28, -128, 8, 17, 0 }, { 1, -28, -129, 8, 17, 0 }, { 1, -27, -130, 8, 17, 0 }, { 1, -27, -131, 8, 17, 0 }, + { 1, -27, -132, 8, 17, 0 }, { 1, -27, -133, 8, 17, 0 }, { 1, -27, -134, 8, 17, 0 }, { 1, -26, -135, 8, 17, 0 }, { 1, -26, -136, 8, 17, 0 }, + { 1, -26, -137, 8, 17, 0 }, { 0, -26, -138, 8, 17, 0 }, { 0, -25, -139, 8, 17, 0 }, { 0, -25, -140, 8, 17, 0 }, { 0, -25, -141, 8, 17, 0 }, + { 0, -24, -142, 8, 17, 0 }, { 0, -24, -143, 8, 17, 0 }, { 0, -24, -144, 8, 17, 0 }, { 0, -23, -145, 8, 17, 0 }, { 0, -23, -146, 8, 17, 0 }, + { 0, -23, -147, 8, 17, 0 }, { -1, -23, -148, 8, 17, 0 }, { -1, -22, -149, 8, 58, 0 }, { -1, -22, -150, 8, 58, 0 }, { -1, -22, -151, 8, 58, 0 }, + { -1, -21, -152, 8, 58, 0 }, { -1, -21, -153, 8, 58, 0 }, { -1, -20, -154, 8, 58, 0 }, { -1, -20, -155, 8, 58, 0 }, { -1, -19, -156, 8, 58, 0 }, + { -2, -19, -157, 8, 58, 0 }, { -2, -19, -158, 8, 58, 0 }, { -2, -18, -159, 8, 58, 0 }, { -2, -18, -160, 8, 58, 0 }, { -2, -17, -161, 8, 58, 0 }, + { -2, -17, -162, 8, 58, 0 }, { -2, -17, -163, 8, 58, 0 }, { -2, -16, -164, 8, 58, 0 }, { -2, -16, -165, 8, 58, 0 }, { -2, -15, -166, 8, 58, 0 }, + { -3, -15, -167, 8, 58, 0 }, { -3, -14, -168, 8, 58, 0 }, { -3, -14, -169, 8, 58, 0 }, { -3, -14, -170, 8, 58, 0 }, { -3, -13, -171, 8, 58, 0 }, + { -3, -13, -172, 8, 58, 0 }, { -3, -12, -173, 8, 58, 0 }, { -3, -12, -174, 8, 58, 0 }, { -3, -11, -175, 8, 58, 0 }, { -3, -11, -176, 8, 58, 0 }, + { -4, -10, -177, 8, 58, 0 }, { -4, -10, -178, 8, 58, 0 }, { -4, -9, -179, 8, 58, 0 }, { -4, -8, -180, 8, 58, 0 }, { -4, -8, -181, 8, 58, 0 }, + { -4, -7, -182, 8, 58, 0 }, { -4, -7, -183, 8, 58, 0 }, { -4, -6, -184, 8, 58, 0 }, { -4, -5, -185, 8, 57, 0 }, { -4, -5, -186, 8, 57, 0 }, + { -5, -4, -187, 8, 57, 0 }, { -5, -4, -188, 8, 57, 0 }, { -5, -3, -189, 8, 57, 0 }, { -5, -2, -190, 8, 57, 0 }, { -5, -2, -191, 8, 57, 0 }, + { -5, -1, -192, 8, 57, 0 }, { -5, 0, -193, 8, 57, 0 }, { -5, 0, -194, 8, 57, 0 }, { -5, 1, -195, 8, 57, 0 }, { -6, 2, -196, 8, 57, 0 }, + { -6, 3, -197, 8, 57, 0 }, { -6, 3, -198, 8, 57, 0 }, { -6, 4, -199, 8, 57, 0 }, { -6, 5, -200, 8, 57, 0 }, { -6, 5, -201, 8, 57, 0 }, + { -6, 6, -202, 8, 57, 0 }, { -6, 7, -203, 8, 57, 0 }, { -6, 7, -204, 8, 57, 0 }, { -6, 8, -205, 8, 57, 0 }, { -7, 9, -206, 8, 57, 0 }, + { -7, 10, -207, 8, 57, 0 }, { -7, 11, -208, 8, 57, 0 }, { -7, 12, -209, 8, 57, 0 }, { -7, 13, -210, 8, 57, 0 }, { -7, 14, -211, 8, 57, 0 }, + { -7, 14, -212, 8, 57, 0 }, { -7, 15, -213, 8, 57, 0 }, { -7, 16, -214, 8, 57, 0 }, { -7, 17, -215, 8, 57, 0 }, { -8, 18, -216, 8, 57, 0 }, + { -8, 19, -217, 8, 57, 0 }, { -8, 20, -218, 8, 57, 0 }, { -8, 21, -219, 8, 57, 0 }, { -8, 22, -220, 8, 57, 0 }, { -8, 23, -221, 8, 57, 0 }, + { -8, 24, -222, 8, 57, 0 }, { -8, 25, -222, 8, 57, 0 }, { -8, 26, -223, 8, 57, 0 }, { -9, 27, -224, 8, 57, 0 }, { -9, 28, -225, 8, 57, 0 }, + { -9, 29, -226, 8, 57, 0 }, { -9, 30, -227, 8, 57, 0 }, { -9, 31, -228, 8, 57, 0 }, { -9, 32, -228, 8, 57, 0 }, { -9, 33, -229, 8, 57, 0 }, + { -9, 34, -230, 8, 56, 0 }, { -9, 35, -231, 8, 56, 0 }, { -9, 36, -231, 8, 56, 0 }, { -10, 37, -232, 8, 56, 0 }, { -10, 38, -233, 8, 56, 0 }, + { -10, 39, -234, 8, 56, 0 }, { -10, 40, -234, 8, 56, 0 }, { -10, 41, -235, 8, 56, 0 }, { -10, 42, -236, 8, 56, 0 }, { -10, 43, -237, 8, 56, 0 }, + { -10, 44, -237, 8, 56, 0 }, { -10, 45, -238, 8, 56, 0 }, { -10, 46, -239, 8, 56, 0 }, { -11, 47, -239, 8, 56, 0 }, { -11, 48, -240, 8, 56, 0 }, + { -11, 49, -240, 8, 56, 0 }, { -11, 50, -241, 8, 56, 0 }, { -11, 51, -242, 8, 56, 0 }, { -11, 52, -242, 8, 56, 0 }, { -11, 53, -243, 8, 56, 0 }, + { -11, 54, -243, 8, 56, 0 }, { -11, 55, -244, 8, 56, 0 }, { -11, 56, -245, 8, 56, 0 }, { -12, 57, -245, 8, 56, 0 }, { -12, 58, -246, 8, 56, 0 }, + { -12, 59, -246, 8, 56, 0 }, { -12, 60, -247, 8, 56, 0 }, { -12, 61, -247, 8, 56, 0 }, { -12, 62, -248, 8, 56, 0 }, { -12, 63, -248, 8, 56, 0 }, + { -12, 64, -249, 8, 56, 0 }, { -12, 65, -249, 8, 56, 0 }, { -13, 66, -250, 8, 56, 0 }, { -13, 67, -250, 8, 56, 0 }, { -13, 68, -251, 8, 56, 0 }, + { -13, 69, -251, 8, 56, 0 }, { -13, 70, -252, 8, 56, 0 }, { -13, 71, -252, 8, 56, 0 }, { -13, 72, -253, 8, 56, 0 }, { -13, 73, -253, 8, 56, 0 }, + { -13, 74, -254, 8, 56, 0 }, { -13, 75, -254, 8, 56, 0 }, { -14, 76, -255, 8, 56, 0 }, { -14, 77, -255, 8, 56, 0 }, { -14, 78, -256, 8, 56, 0 }, + { -14, 79, -256, 8, 56, 0 }, { -14, 80, -257, 8, 56, 0 }, { -14, 81, -257, 8, 56, 0 }, { -14, 82, -258, 8, 56, 0 }, { -14, 83, -258, 8, 56, 0 }, + { -14, 84, -259, 8, 56, 0 }, { -14, 85, -259, 8, 56, 0 }, { -15, 86, -260, 8, 56, 0 }, { -15, 87, -260, 8, 56, 0 }, { -15, 88, -261, 8, 56, 0 }, + { -15, 89, -261, 8, 56, 0 }, { -15, 90, -262, 8, 56, 0 }, { -15, 91, -262, 8, 56, 0 }, { -15, 92, -263, 8, 56, 0 }, { -15, 93, -263, 8, 56, 0 }, + { -15, 94, -264, 8, 56, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown0, { + { 31, 16, 32, 0, 0, 0 }, { 30, 16, 32, 0, 0, 0 }, { 29, 16, 32, 0, 0, 0 }, { 28, 16, 32, 0, 0, 0 }, { 27, 16, 32, 0, 0, 0 }, + { 26, 16, 32, 0, 0, 0 }, { 25, 16, 32, 0, 0, 0 }, { 24, 16, 32, 0, 0, 0 }, { 23, 16, 31, 0, 0, 0 }, { 22, 16, 31, 0, 0, 0 }, + { 21, 15, 31, 0, 0, 0 }, { 20, 15, 31, 0, 0, 0 }, { 19, 15, 30, 0, 0, 0 }, { 18, 15, 30, 0, 0, 0 }, { 17, 15, 30, 0, 0, 0 }, + { 16, 15, 29, 0, 5, 0 }, { 15, 15, 29, 0, 5, 0 }, { 14, 15, 28, 0, 5, 0 }, { 13, 15, 28, 0, 5, 0 }, { 12, 15, 27, 0, 5, 0 }, + { 11, 14, 27, 0, 5, 0 }, { 10, 14, 26, 0, 5, 0 }, { 9, 14, 26, 0, 5, 0 }, { 8, 14, 25, 0, 5, 0 }, { 7, 14, 24, 0, 5, 0 }, + { 6, 14, 24, 0, 5, 0 }, { 5, 14, 23, 0, 5, 0 }, { 4, 14, 22, 0, 5, 0 }, { 3, 14, 21, 0, 5, 0 }, { 2, 14, 21, 0, 5, 0 }, + { 1, 13, 20, 0, 6, 0 }, { 0, 13, 19, 0, 6, 0 }, { -1, 13, 18, 0, 6, 0 }, { -2, 13, 17, 0, 6, 0 }, { -3, 13, 16, 0, 6, 0 }, + { -4, 13, 15, 0, 6, 0 }, { -5, 13, 14, 0, 6, 0 }, { -6, 13, 13, 0, 6, 0 }, { -7, 13, 12, 0, 6, 0 }, { -8, 12, 11, 0, 6, 0 }, + { -9, 12, 10, 0, 6, 0 }, { -9, 12, 9, 0, 6, 0 }, { -10, 12, 8, 0, 6, 0 }, { -11, 12, 7, 0, 7, 0 }, { -12, 12, 6, 0, 7, 0 }, + { -12, 12, 5, 0, 7, 0 }, { -13, 12, 4, 0, 7, 0 }, { -14, 12, 3, 0, 7, 0 }, { -14, 12, 2, 0, 7, 0 }, { -15, 11, 1, 0, 7, 0 }, + { -16, 11, 0, 0, 7, 0 }, { -16, 11, -1, 0, 7, 0 }, { -17, 11, -2, 0, 7, 0 }, { -17, 11, -3, 0, 7, 0 }, { -18, 11, -4, 0, 7, 0 }, + { -18, 11, -5, 0, 7, 0 }, { -19, 11, -6, 0, 7, 0 }, { -19, 11, -7, 0, 7, 0 }, { -20, 11, -8, 0, 8, 0 }, { -20, 10, -9, 0, 8, 0 }, + { -21, 10, -10, 0, 8, 0 }, { -21, 10, -11, 0, 8, 0 }, { -22, 10, -12, 0, 8, 0 }, { -22, 10, -13, 0, 8, 0 }, { -22, 10, -14, 0, 8, 0 }, + { -23, 10, -15, 0, 8, 0 }, { -23, 10, -16, 0, 8, 0 }, { -23, 10, -17, 0, 8, 0 }, { -24, 10, -18, 0, 8, 0 }, { -24, 9, -19, 0, 8, 0 }, + { -25, 9, -20, 0, 8, 0 }, { -25, 9, -21, 0, 8, 0 }, { -25, 9, -22, 0, 8, 0 }, { -26, 9, -23, 0, 17, 0 }, { -26, 9, -24, 0, 17, 0 }, + { -26, 9, -25, 0, 17, 0 }, { -26, 9, -26, 0, 17, 0 }, { -27, 9, -27, 0, 17, 0 }, { -27, 8, -28, 0, 17, 0 }, { -27, 8, -29, 0, 17, 0 }, + { -27, 8, -30, 0, 17, 0 }, { -28, 8, -31, 0, 17, 0 }, { -28, 8, -32, 0, 17, 0 }, { -28, 8, -33, 0, 17, 0 }, { -28, 8, -34, 0, 17, 0 }, + { -28, 8, -35, 0, 17, 0 }, { -28, 8, -36, 0, 17, 0 }, { -29, 8, -37, 0, 17, 0 }, { -29, 7, -38, 0, 17, 0 }, { -29, 7, -39, 0, 17, 0 }, + { -29, 7, -40, 0, 17, 0 }, { -29, 7, -41, 0, 17, 0 }, { -29, 7, -42, 0, 17, 0 }, { -29, 7, -43, 0, 17, 0 }, { -29, 7, -44, 0, 17, 0 }, + { -30, 7, -45, 0, 17, 0 }, { -30, 7, -46, 0, 17, 0 }, { -30, 7, -47, 0, 18, 0 }, { -30, 6, -48, 0, 18, 0 }, { -30, 6, -49, 0, 18, 0 }, + { -30, 6, -50, 0, 18, 0 }, { -30, 6, -51, 0, 18, 0 }, { -30, 6, -52, 0, 18, 0 }, { -30, 6, -53, 0, 18, 0 }, { -30, 6, -54, 0, 18, 0 }, + { -30, 6, -55, 0, 18, 0 }, { -30, 6, -56, 0, 18, 0 }, { -30, 5, -57, 0, 18, 0 }, { -30, 5, -58, 0, 18, 0 }, { -30, 5, -59, 0, 18, 0 }, + { -30, 5, -60, 0, 18, 0 }, { -30, 5, -61, 0, 18, 0 }, { -30, 5, -62, 0, 18, 0 }, { -30, 5, -63, 0, 18, 0 }, { -30, 5, -64, 0, 18, 0 }, + { -30, 5, -65, 0, 18, 0 }, { -30, 5, -66, 0, 18, 0 }, { -30, 4, -67, 0, 18, 0 }, { -30, 4, -68, 0, 18, 0 }, { -30, 4, -69, 0, 18, 0 }, + { -30, 4, -70, 0, 18, 0 }, { -30, 4, -71, 0, 18, 0 }, { -30, 4, -72, 0, 18, 0 }, { -30, 4, -73, 0, 18, 0 }, { -30, 4, -74, 0, 18, 0 }, + { -30, 4, -75, 0, 18, 0 }, { -30, 4, -76, 0, 18, 0 }, { -30, 3, -77, 0, 18, 0 }, { -30, 3, -78, 0, 18, 0 }, { -30, 3, -79, 0, 18, 0 }, + { -30, 3, -80, 0, 18, 0 }, { -30, 3, -81, 0, 18, 0 }, { -30, 3, -82, 0, 18, 0 }, { -30, 3, -83, 0, 18, 0 }, { -30, 3, -84, 0, 19, 0 }, + { -30, 3, -85, 0, 19, 0 }, { -29, 3, -86, 0, 19, 0 }, { -29, 2, -87, 0, 19, 0 }, { -29, 2, -88, 0, 19, 0 }, { -29, 2, -89, 0, 19, 0 }, + { -29, 2, -90, 0, 19, 0 }, { -29, 2, -91, 0, 19, 0 }, { -28, 2, -92, 0, 19, 0 }, { -28, 2, -93, 0, 19, 0 }, { -28, 2, -94, 0, 19, 0 }, + { -28, 2, -95, 0, 19, 0 }, { -28, 1, -96, 0, 19, 0 }, { -28, 1, -97, 0, 19, 0 }, { -27, 1, -98, 0, 19, 0 }, { -27, 1, -99, 0, 19, 0 }, + { -27, 1, -100, 0, 19, 0 }, { -27, 1, -101, 0, 19, 0 }, { -27, 1, -102, 0, 19, 0 }, { -26, 1, -103, 0, 19, 0 }, { -26, 1, -104, 0, 19, 0 }, + { -26, 1, -105, 0, 19, 0 }, { -26, 0, -106, 0, 19, 0 }, { -25, 0, -107, 0, 19, 0 }, { -25, 0, -108, 0, 19, 0 }, { -25, 0, -109, 0, 19, 0 }, + { -24, 0, -110, 0, 19, 0 }, { -24, 0, -111, 0, 19, 0 }, { -24, 0, -112, 0, 19, 0 }, { -23, 0, -113, 0, 19, 0 }, { -23, 0, -114, 0, 19, 0 }, + { -23, 0, -115, 0, 19, 0 }, { -23, -1, -116, 0, 19, 0 }, { -22, -1, -117, 0, 20, 0 }, { -22, -1, -118, 0, 20, 0 }, { -22, -1, -119, 0, 20, 0 }, + { -21, -1, -120, 0, 20, 0 }, { -21, -1, -121, 0, 20, 0 }, { -20, -1, -122, 0, 20, 0 }, { -20, -1, -123, 0, 20, 0 }, { -19, -1, -124, 0, 20, 0 }, + { -19, -2, -125, 0, 20, 0 }, { -19, -2, -126, 0, 20, 0 }, { -18, -2, -127, 0, 20, 0 }, { -18, -2, -128, 0, 20, 0 }, { -17, -2, -129, 0, 20, 0 }, + { -17, -2, -130, 0, 20, 0 }, { -17, -2, -131, 0, 20, 0 }, { -16, -2, -132, 0, 20, 0 }, { -16, -2, -133, 0, 20, 0 }, { -15, -2, -134, 0, 20, 0 }, + { -15, -3, -135, 0, 20, 0 }, { -14, -3, -136, 0, 20, 0 }, { -14, -3, -137, 0, 20, 0 }, { -14, -3, -138, 0, 20, 0 }, { -13, -3, -139, 0, 20, 0 }, + { -13, -3, -140, 0, 20, 0 }, { -12, -3, -141, 0, 20, 0 }, { -12, -3, -142, 0, 20, 0 }, { -11, -3, -143, 0, 20, 0 }, { -11, -3, -144, 0, 20, 0 }, + { -10, -4, -145, 0, 20, 0 }, { -10, -4, -146, 0, 20, 0 }, { -9, -4, -147, 0, 20, 0 }, { -8, -4, -148, 0, 20, 0 }, { -8, -4, -149, 0, 20, 0 }, + { -7, -4, -150, 0, 20, 0 }, { -7, -4, -151, 0, 20, 0 }, { -6, -4, -152, 0, 20, 0 }, { -5, -4, -153, 0, 21, 0 }, { -5, -4, -154, 0, 21, 0 }, + { -4, -5, -155, 0, 21, 0 }, { -4, -5, -156, 0, 21, 0 }, { -3, -5, -157, 0, 21, 0 }, { -2, -5, -158, 0, 21, 0 }, { -2, -5, -159, 0, 21, 0 }, + { -1, -5, -160, 0, 21, 0 }, { 0, -5, -161, 0, 21, 0 }, { 0, -5, -162, 0, 21, 0 }, { 1, -5, -163, 0, 21, 0 }, { 2, -6, -164, 0, 21, 0 }, + { 3, -6, -165, 0, 21, 0 }, { 3, -6, -166, 0, 21, 0 }, { 4, -6, -167, 0, 21, 0 }, { 5, -6, -168, 0, 21, 0 }, { 5, -6, -169, 0, 21, 0 }, + { 6, -6, -170, 0, 21, 0 }, { 7, -6, -171, 0, 21, 0 }, { 7, -6, -172, 0, 21, 0 }, { 8, -6, -173, 0, 21, 0 }, { 9, -7, -174, 0, 21, 0 }, + { 10, -7, -175, 0, 21, 0 }, { 11, -7, -176, 0, 21, 0 }, { 12, -7, -177, 0, 21, 0 }, { 13, -7, -178, 0, 21, 0 }, { 14, -7, -179, 0, 21, 0 }, + { 14, -7, -180, 0, 21, 0 }, { 15, -7, -181, 0, 21, 0 }, { 16, -7, -182, 0, 21, 0 }, { 17, -7, -183, 0, 21, 0 }, { 18, -8, -184, 0, 21, 0 }, + { 19, -8, -185, 0, 21, 0 }, { 20, -8, -186, 0, 21, 0 }, { 21, -8, -187, 0, 21, 0 }, { 22, -8, -188, 0, 21, 0 }, { 23, -8, -189, 0, 21, 0 }, + { 24, -8, -190, 0, 21, 0 }, { 25, -8, -190, 0, 21, 0 }, { 26, -8, -191, 0, 21, 0 }, { 27, -9, -192, 0, 21, 0 }, { 28, -9, -193, 0, 21, 0 }, + { 29, -9, -194, 0, 21, 0 }, { 30, -9, -195, 0, 21, 0 }, { 31, -9, -196, 0, 21, 0 }, { 32, -9, -196, 0, 21, 0 }, { 33, -9, -197, 0, 21, 0 }, + { 34, -9, -198, 0, 22, 0 }, { 35, -9, -199, 0, 22, 0 }, { 36, -9, -199, 0, 22, 0 }, { 37, -10, -200, 0, 22, 0 }, { 38, -10, -201, 0, 22, 0 }, + { 39, -10, -202, 0, 22, 0 }, { 40, -10, -202, 0, 22, 0 }, { 41, -10, -203, 0, 22, 0 }, { 42, -10, -204, 0, 22, 0 }, { 43, -10, -205, 0, 22, 0 }, + { 44, -10, -205, 0, 22, 0 }, { 45, -10, -206, 0, 22, 0 }, { 46, -10, -207, 0, 22, 0 }, { 47, -11, -207, 0, 22, 0 }, { 48, -11, -208, 0, 22, 0 }, + { 49, -11, -208, 0, 22, 0 }, { 50, -11, -209, 0, 22, 0 }, { 51, -11, -210, 0, 22, 0 }, { 52, -11, -210, 0, 22, 0 }, { 53, -11, -211, 0, 22, 0 }, + { 54, -11, -211, 0, 22, 0 }, { 55, -11, -212, 0, 22, 0 }, { 56, -11, -213, 0, 22, 0 }, { 57, -12, -213, 0, 22, 0 }, { 58, -12, -214, 0, 22, 0 }, + { 59, -12, -214, 0, 22, 0 }, { 60, -12, -215, 0, 22, 0 }, { 61, -12, -215, 0, 22, 0 }, { 62, -12, -216, 0, 22, 0 }, { 63, -12, -216, 0, 22, 0 }, + { 64, -12, -217, 0, 22, 0 }, { 65, -12, -217, 0, 22, 0 }, { 66, -13, -218, 0, 22, 0 }, { 67, -13, -218, 0, 22, 0 }, { 68, -13, -219, 0, 22, 0 }, + { 69, -13, -219, 0, 22, 0 }, { 70, -13, -220, 0, 22, 0 }, { 71, -13, -220, 0, 22, 0 }, { 72, -13, -221, 0, 22, 0 }, { 73, -13, -221, 0, 22, 0 }, + { 74, -13, -222, 0, 22, 0 }, { 75, -13, -222, 0, 22, 0 }, { 76, -14, -223, 0, 22, 0 }, { 77, -14, -223, 0, 22, 0 }, { 78, -14, -224, 0, 22, 0 }, + { 79, -14, -224, 0, 22, 0 }, { 80, -14, -225, 0, 22, 0 }, { 81, -14, -225, 0, 22, 0 }, { 82, -14, -226, 0, 22, 0 }, { 83, -14, -226, 0, 22, 0 }, + { 84, -14, -227, 0, 22, 0 }, { 85, -14, -227, 0, 22, 0 }, { 86, -15, -228, 0, 22, 0 }, { 87, -15, -228, 0, 22, 0 }, { 88, -15, -229, 0, 22, 0 }, + { 89, -15, -229, 0, 22, 0 }, { 90, -15, -230, 0, 22, 0 }, { 91, -15, -230, 0, 22, 0 }, { 92, -15, -231, 0, 22, 0 }, { 93, -15, -231, 0, 22, 0 }, + { 94, -15, -232, 0, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown1, { + { 16, 0, 32, 8, 0, 0 }, { 16, 1, 32, 8, 0, 0 }, { 16, 2, 32, 8, 0, 0 }, { 16, 3, 32, 8, 0, 0 }, { 16, 4, 32, 8, 0, 0 }, + { 16, 5, 32, 8, 0, 0 }, { 16, 6, 32, 8, 0, 0 }, { 16, 7, 32, 8, 0, 0 }, { 16, 8, 31, 8, 0, 0 }, { 16, 9, 31, 8, 0, 0 }, + { 15, 10, 31, 8, 0, 0 }, { 15, 11, 31, 8, 0, 0 }, { 15, 12, 30, 8, 0, 0 }, { 15, 13, 30, 8, 0, 0 }, { 15, 14, 30, 8, 0, 0 }, + { 15, 15, 29, 8, 5, 0 }, { 15, 16, 29, 8, 5, 0 }, { 15, 17, 28, 8, 5, 0 }, { 15, 18, 28, 8, 5, 0 }, { 15, 19, 27, 8, 5, 0 }, + { 14, 20, 27, 8, 5, 0 }, { 14, 21, 26, 8, 5, 0 }, { 14, 22, 26, 8, 5, 0 }, { 14, 23, 25, 8, 5, 0 }, { 14, 24, 24, 8, 5, 0 }, + { 14, 25, 24, 8, 5, 0 }, { 14, 26, 23, 8, 5, 0 }, { 14, 27, 22, 8, 5, 0 }, { 14, 28, 21, 8, 5, 0 }, { 14, 29, 21, 8, 5, 0 }, + { 13, 30, 20, 8, 6, 0 }, { 13, 31, 19, 8, 6, 0 }, { 13, 32, 18, 8, 6, 0 }, { 13, 33, 17, 8, 6, 0 }, { 13, 34, 16, 8, 6, 0 }, + { 13, 35, 15, 8, 6, 0 }, { 13, 36, 14, 8, 6, 0 }, { 13, 37, 13, 8, 6, 0 }, { 13, 38, 12, 8, 6, 0 }, { 12, 39, 11, 8, 6, 0 }, + { 12, 40, 10, 8, 6, 0 }, { 12, 40, 9, 8, 6, 0 }, { 12, 41, 8, 8, 6, 0 }, { 12, 42, 7, 8, 7, 0 }, { 12, 43, 6, 8, 7, 0 }, + { 12, 43, 5, 8, 7, 0 }, { 12, 44, 4, 8, 7, 0 }, { 12, 45, 3, 8, 7, 0 }, { 12, 45, 2, 8, 7, 0 }, { 11, 46, 1, 8, 7, 0 }, + { 11, 47, 0, 8, 7, 0 }, { 11, 47, -1, 8, 7, 0 }, { 11, 48, -2, 8, 7, 0 }, { 11, 48, -3, 8, 7, 0 }, { 11, 49, -4, 8, 7, 0 }, + { 11, 49, -5, 8, 7, 0 }, { 11, 50, -6, 8, 7, 0 }, { 11, 50, -7, 8, 7, 0 }, { 11, 51, -8, 8, 8, 0 }, { 10, 51, -9, 8, 8, 0 }, + { 10, 52, -10, 8, 8, 0 }, { 10, 52, -11, 8, 8, 0 }, { 10, 53, -12, 8, 8, 0 }, { 10, 53, -13, 8, 8, 0 }, { 10, 53, -14, 8, 8, 0 }, + { 10, 54, -15, 8, 8, 0 }, { 10, 54, -16, 8, 8, 0 }, { 10, 54, -17, 8, 8, 0 }, { 10, 55, -18, 8, 8, 0 }, { 9, 55, -19, 8, 8, 0 }, + { 9, 56, -20, 8, 8, 0 }, { 9, 56, -21, 8, 8, 0 }, { 9, 56, -22, 8, 8, 0 }, { 9, 57, -23, 8, 17, 0 }, { 9, 57, -24, 8, 17, 0 }, + { 9, 57, -25, 8, 17, 0 }, { 9, 57, -26, 8, 17, 0 }, { 9, 58, -27, 8, 17, 0 }, { 8, 58, -28, 8, 17, 0 }, { 8, 58, -29, 8, 17, 0 }, + { 8, 58, -30, 8, 17, 0 }, { 8, 59, -31, 8, 17, 0 }, { 8, 59, -32, 8, 17, 0 }, { 8, 59, -33, 8, 17, 0 }, { 8, 59, -34, 8, 17, 0 }, + { 8, 59, -35, 8, 17, 0 }, { 8, 59, -36, 8, 17, 0 }, { 8, 60, -37, 8, 17, 0 }, { 7, 60, -38, 8, 17, 0 }, { 7, 60, -39, 8, 17, 0 }, + { 7, 60, -40, 8, 17, 0 }, { 7, 60, -41, 8, 17, 0 }, { 7, 60, -42, 8, 17, 0 }, { 7, 60, -43, 8, 17, 0 }, { 7, 60, -44, 8, 17, 0 }, + { 7, 61, -45, 8, 17, 0 }, { 7, 61, -46, 8, 17, 0 }, { 7, 61, -47, 8, 18, 0 }, { 6, 61, -48, 8, 18, 0 }, { 6, 61, -49, 8, 18, 0 }, + { 6, 61, -50, 8, 18, 0 }, { 6, 61, -51, 8, 18, 0 }, { 6, 61, -52, 8, 18, 0 }, { 6, 61, -53, 8, 18, 0 }, { 6, 61, -54, 8, 18, 0 }, + { 6, 61, -55, 8, 18, 0 }, { 6, 61, -56, 8, 18, 0 }, { 5, 61, -57, 8, 18, 0 }, { 5, 61, -58, 8, 18, 0 }, { 5, 61, -59, 8, 18, 0 }, + { 5, 61, -60, 8, 18, 0 }, { 5, 61, -61, 8, 18, 0 }, { 5, 61, -62, 8, 18, 0 }, { 5, 61, -63, 8, 18, 0 }, { 5, 61, -64, 8, 18, 0 }, + { 5, 61, -65, 8, 18, 0 }, { 5, 61, -66, 8, 18, 0 }, { 4, 61, -67, 8, 18, 0 }, { 4, 61, -68, 8, 18, 0 }, { 4, 61, -69, 8, 18, 0 }, + { 4, 61, -70, 8, 18, 0 }, { 4, 61, -71, 8, 18, 0 }, { 4, 61, -72, 8, 18, 0 }, { 4, 61, -73, 8, 18, 0 }, { 4, 61, -74, 8, 18, 0 }, + { 4, 61, -75, 8, 18, 0 }, { 4, 61, -76, 8, 18, 0 }, { 3, 61, -77, 8, 18, 0 }, { 3, 61, -78, 8, 18, 0 }, { 3, 61, -79, 8, 18, 0 }, + { 3, 61, -80, 8, 18, 0 }, { 3, 61, -81, 8, 18, 0 }, { 3, 61, -82, 8, 18, 0 }, { 3, 61, -83, 8, 18, 0 }, { 3, 61, -84, 8, 19, 0 }, + { 3, 61, -85, 8, 19, 0 }, { 3, 60, -86, 8, 19, 0 }, { 2, 60, -87, 8, 19, 0 }, { 2, 60, -88, 8, 19, 0 }, { 2, 60, -89, 8, 19, 0 }, + { 2, 60, -90, 8, 19, 0 }, { 2, 60, -91, 8, 19, 0 }, { 2, 59, -92, 8, 19, 0 }, { 2, 59, -93, 8, 19, 0 }, { 2, 59, -94, 8, 19, 0 }, + { 2, 59, -95, 8, 19, 0 }, { 1, 59, -96, 8, 19, 0 }, { 1, 59, -97, 8, 19, 0 }, { 1, 58, -98, 8, 19, 0 }, { 1, 58, -99, 8, 19, 0 }, + { 1, 58, -100, 8, 19, 0 }, { 1, 58, -101, 8, 19, 0 }, { 1, 58, -102, 8, 19, 0 }, { 1, 57, -103, 8, 19, 0 }, { 1, 57, -104, 8, 19, 0 }, + { 1, 57, -105, 8, 19, 0 }, { 0, 57, -106, 8, 19, 0 }, { 0, 56, -107, 8, 19, 0 }, { 0, 56, -108, 8, 19, 0 }, { 0, 56, -109, 8, 19, 0 }, + { 0, 55, -110, 8, 19, 0 }, { 0, 55, -111, 8, 19, 0 }, { 0, 55, -112, 8, 19, 0 }, { 0, 54, -113, 8, 19, 0 }, { 0, 54, -114, 8, 19, 0 }, + { 0, 54, -115, 8, 19, 0 }, { -1, 54, -116, 8, 19, 0 }, { -1, 53, -117, 8, 20, 0 }, { -1, 53, -118, 8, 20, 0 }, { -1, 53, -119, 8, 20, 0 }, + { -1, 52, -120, 8, 20, 0 }, { -1, 52, -121, 8, 20, 0 }, { -1, 51, -122, 8, 20, 0 }, { -1, 51, -123, 8, 20, 0 }, { -1, 50, -124, 8, 20, 0 }, + { -2, 50, -125, 8, 20, 0 }, { -2, 50, -126, 8, 20, 0 }, { -2, 49, -127, 8, 20, 0 }, { -2, 49, -128, 8, 20, 0 }, { -2, 48, -129, 8, 20, 0 }, + { -2, 48, -130, 8, 20, 0 }, { -2, 48, -131, 8, 20, 0 }, { -2, 47, -132, 8, 20, 0 }, { -2, 47, -133, 8, 20, 0 }, { -2, 46, -134, 8, 20, 0 }, + { -3, 46, -135, 8, 20, 0 }, { -3, 45, -136, 8, 20, 0 }, { -3, 45, -137, 8, 20, 0 }, { -3, 45, -138, 8, 20, 0 }, { -3, 44, -139, 8, 20, 0 }, + { -3, 44, -140, 8, 20, 0 }, { -3, 43, -141, 8, 20, 0 }, { -3, 43, -142, 8, 20, 0 }, { -3, 42, -143, 8, 20, 0 }, { -3, 42, -144, 8, 20, 0 }, + { -4, 41, -145, 8, 20, 0 }, { -4, 41, -146, 8, 20, 0 }, { -4, 40, -147, 8, 20, 0 }, { -4, 39, -148, 8, 20, 0 }, { -4, 39, -149, 8, 20, 0 }, + { -4, 38, -150, 8, 20, 0 }, { -4, 38, -151, 8, 20, 0 }, { -4, 37, -152, 8, 20, 0 }, { -4, 36, -153, 8, 21, 0 }, { -4, 36, -154, 8, 21, 0 }, + { -5, 35, -155, 8, 21, 0 }, { -5, 35, -156, 8, 21, 0 }, { -5, 34, -157, 8, 21, 0 }, { -5, 33, -158, 8, 21, 0 }, { -5, 33, -159, 8, 21, 0 }, + { -5, 32, -160, 8, 21, 0 }, { -5, 31, -161, 8, 21, 0 }, { -5, 31, -162, 8, 21, 0 }, { -5, 30, -163, 8, 21, 0 }, { -6, 29, -164, 8, 21, 0 }, + { -6, 28, -165, 8, 21, 0 }, { -6, 28, -166, 8, 21, 0 }, { -6, 27, -167, 8, 21, 0 }, { -6, 26, -168, 8, 21, 0 }, { -6, 26, -169, 8, 21, 0 }, + { -6, 25, -170, 8, 21, 0 }, { -6, 24, -171, 8, 21, 0 }, { -6, 24, -172, 8, 21, 0 }, { -6, 23, -173, 8, 21, 0 }, { -7, 22, -174, 8, 21, 0 }, + { -7, 21, -175, 8, 21, 0 }, { -7, 20, -176, 8, 21, 0 }, { -7, 19, -177, 8, 21, 0 }, { -7, 18, -178, 8, 21, 0 }, { -7, 17, -179, 8, 21, 0 }, + { -7, 17, -180, 8, 21, 0 }, { -7, 16, -181, 8, 21, 0 }, { -7, 15, -182, 8, 21, 0 }, { -7, 14, -183, 8, 21, 0 }, { -8, 13, -184, 8, 21, 0 }, + { -8, 12, -185, 8, 21, 0 }, { -8, 11, -186, 8, 21, 0 }, { -8, 10, -187, 8, 21, 0 }, { -8, 9, -188, 8, 21, 0 }, { -8, 8, -189, 8, 21, 0 }, + { -8, 7, -190, 8, 21, 0 }, { -8, 6, -190, 8, 21, 0 }, { -8, 5, -191, 8, 21, 0 }, { -9, 4, -192, 8, 21, 0 }, { -9, 3, -193, 8, 21, 0 }, + { -9, 2, -194, 8, 21, 0 }, { -9, 1, -195, 8, 21, 0 }, { -9, 0, -196, 8, 21, 0 }, { -9, -1, -196, 8, 21, 0 }, { -9, -2, -197, 8, 21, 0 }, + { -9, -3, -198, 8, 22, 0 }, { -9, -4, -199, 8, 22, 0 }, { -9, -5, -199, 8, 22, 0 }, { -10, -6, -200, 8, 22, 0 }, { -10, -7, -201, 8, 22, 0 }, + { -10, -8, -202, 8, 22, 0 }, { -10, -9, -202, 8, 22, 0 }, { -10, -10, -203, 8, 22, 0 }, { -10, -11, -204, 8, 22, 0 }, { -10, -12, -205, 8, 22, 0 }, + { -10, -13, -205, 8, 22, 0 }, { -10, -14, -206, 8, 22, 0 }, { -10, -15, -207, 8, 22, 0 }, { -11, -16, -207, 8, 22, 0 }, { -11, -17, -208, 8, 22, 0 }, + { -11, -18, -208, 8, 22, 0 }, { -11, -19, -209, 8, 22, 0 }, { -11, -20, -210, 8, 22, 0 }, { -11, -21, -210, 8, 22, 0 }, { -11, -22, -211, 8, 22, 0 }, + { -11, -23, -211, 8, 22, 0 }, { -11, -24, -212, 8, 22, 0 }, { -11, -25, -213, 8, 22, 0 }, { -12, -26, -213, 8, 22, 0 }, { -12, -27, -214, 8, 22, 0 }, + { -12, -28, -214, 8, 22, 0 }, { -12, -29, -215, 8, 22, 0 }, { -12, -30, -215, 8, 22, 0 }, { -12, -31, -216, 8, 22, 0 }, { -12, -32, -216, 8, 22, 0 }, + { -12, -33, -217, 8, 22, 0 }, { -12, -34, -217, 8, 22, 0 }, { -13, -35, -218, 8, 22, 0 }, { -13, -36, -218, 8, 22, 0 }, { -13, -37, -219, 8, 22, 0 }, + { -13, -38, -219, 8, 22, 0 }, { -13, -39, -220, 8, 22, 0 }, { -13, -40, -220, 8, 22, 0 }, { -13, -41, -221, 8, 22, 0 }, { -13, -42, -221, 8, 22, 0 }, + { -13, -43, -222, 8, 22, 0 }, { -13, -44, -222, 8, 22, 0 }, { -14, -45, -223, 8, 22, 0 }, { -14, -46, -223, 8, 22, 0 }, { -14, -47, -224, 8, 22, 0 }, + { -14, -48, -224, 8, 22, 0 }, { -14, -49, -225, 8, 22, 0 }, { -14, -50, -225, 8, 22, 0 }, { -14, -51, -226, 8, 22, 0 }, { -14, -52, -226, 8, 22, 0 }, + { -14, -53, -227, 8, 22, 0 }, { -14, -54, -227, 8, 22, 0 }, { -15, -55, -228, 8, 22, 0 }, { -15, -56, -228, 8, 22, 0 }, { -15, -57, -229, 8, 22, 0 }, + { -15, -58, -229, 8, 22, 0 }, { -15, -59, -230, 8, 22, 0 }, { -15, -60, -230, 8, 22, 0 }, { -15, -61, -231, 8, 22, 0 }, { -15, -62, -231, 8, 22, 0 }, + { -15, -63, -232, 8, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown2, { + { 0, 16, 32, 16, 0, 0 }, { 1, 16, 32, 16, 0, 0 }, { 2, 16, 32, 16, 0, 0 }, { 3, 16, 32, 16, 0, 0 }, { 4, 16, 32, 16, 0, 0 }, + { 5, 16, 32, 16, 0, 0 }, { 6, 16, 32, 16, 0, 0 }, { 7, 16, 32, 16, 0, 0 }, { 8, 16, 31, 16, 0, 0 }, { 9, 16, 31, 16, 0, 0 }, + { 10, 17, 31, 16, 0, 0 }, { 11, 17, 31, 16, 0, 0 }, { 12, 17, 30, 16, 0, 0 }, { 13, 17, 30, 16, 0, 0 }, { 14, 17, 30, 16, 0, 0 }, + { 15, 17, 29, 16, 5, 0 }, { 16, 17, 29, 16, 5, 0 }, { 17, 17, 28, 16, 5, 0 }, { 18, 17, 28, 16, 5, 0 }, { 19, 17, 27, 16, 5, 0 }, + { 20, 18, 27, 16, 5, 0 }, { 21, 18, 26, 16, 5, 0 }, { 22, 18, 26, 16, 5, 0 }, { 23, 18, 25, 16, 5, 0 }, { 24, 18, 24, 16, 5, 0 }, + { 25, 18, 24, 16, 5, 0 }, { 26, 18, 23, 16, 5, 0 }, { 27, 18, 22, 16, 5, 0 }, { 28, 18, 21, 16, 5, 0 }, { 29, 18, 21, 16, 5, 0 }, + { 30, 19, 20, 16, 6, 0 }, { 31, 19, 19, 16, 6, 0 }, { 32, 19, 18, 16, 6, 0 }, { 33, 19, 17, 16, 6, 0 }, { 34, 19, 16, 16, 6, 0 }, + { 35, 19, 15, 16, 6, 0 }, { 36, 19, 14, 16, 6, 0 }, { 37, 19, 13, 16, 6, 0 }, { 38, 19, 12, 16, 6, 0 }, { 39, 20, 11, 16, 6, 0 }, + { 40, 20, 10, 16, 6, 0 }, { 40, 20, 9, 16, 6, 0 }, { 41, 20, 8, 16, 6, 0 }, { 42, 20, 7, 16, 7, 0 }, { 43, 20, 6, 16, 7, 0 }, + { 43, 20, 5, 16, 7, 0 }, { 44, 20, 4, 16, 7, 0 }, { 45, 20, 3, 16, 7, 0 }, { 45, 20, 2, 16, 7, 0 }, { 46, 21, 1, 16, 7, 0 }, + { 47, 21, 0, 16, 7, 0 }, { 47, 21, -1, 16, 7, 0 }, { 48, 21, -2, 16, 7, 0 }, { 48, 21, -3, 16, 7, 0 }, { 49, 21, -4, 16, 7, 0 }, + { 49, 21, -5, 16, 7, 0 }, { 50, 21, -6, 16, 7, 0 }, { 50, 21, -7, 16, 7, 0 }, { 51, 21, -8, 16, 8, 0 }, { 51, 22, -9, 16, 8, 0 }, + { 52, 22, -10, 16, 8, 0 }, { 52, 22, -11, 16, 8, 0 }, { 53, 22, -12, 16, 8, 0 }, { 53, 22, -13, 16, 8, 0 }, { 53, 22, -14, 16, 8, 0 }, + { 54, 22, -15, 16, 8, 0 }, { 54, 22, -16, 16, 8, 0 }, { 54, 22, -17, 16, 8, 0 }, { 55, 22, -18, 16, 8, 0 }, { 55, 23, -19, 16, 8, 0 }, + { 56, 23, -20, 16, 8, 0 }, { 56, 23, -21, 16, 8, 0 }, { 56, 23, -22, 16, 8, 0 }, { 57, 23, -23, 16, 17, 0 }, { 57, 23, -24, 16, 17, 0 }, + { 57, 23, -25, 16, 17, 0 }, { 57, 23, -26, 16, 17, 0 }, { 58, 23, -27, 16, 17, 0 }, { 58, 24, -28, 16, 17, 0 }, { 58, 24, -29, 16, 17, 0 }, + { 58, 24, -30, 16, 17, 0 }, { 59, 24, -31, 16, 17, 0 }, { 59, 24, -32, 16, 17, 0 }, { 59, 24, -33, 16, 17, 0 }, { 59, 24, -34, 16, 17, 0 }, + { 59, 24, -35, 16, 17, 0 }, { 59, 24, -36, 16, 17, 0 }, { 60, 24, -37, 16, 17, 0 }, { 60, 25, -38, 16, 17, 0 }, { 60, 25, -39, 16, 17, 0 }, + { 60, 25, -40, 16, 17, 0 }, { 60, 25, -41, 16, 17, 0 }, { 60, 25, -42, 16, 17, 0 }, { 60, 25, -43, 16, 17, 0 }, { 60, 25, -44, 16, 17, 0 }, + { 61, 25, -45, 16, 17, 0 }, { 61, 25, -46, 16, 17, 0 }, { 61, 25, -47, 16, 18, 0 }, { 61, 26, -48, 16, 18, 0 }, { 61, 26, -49, 16, 18, 0 }, + { 61, 26, -50, 16, 18, 0 }, { 61, 26, -51, 16, 18, 0 }, { 61, 26, -52, 16, 18, 0 }, { 61, 26, -53, 16, 18, 0 }, { 61, 26, -54, 16, 18, 0 }, + { 61, 26, -55, 16, 18, 0 }, { 61, 26, -56, 16, 18, 0 }, { 61, 27, -57, 16, 18, 0 }, { 61, 27, -58, 16, 18, 0 }, { 61, 27, -59, 16, 18, 0 }, + { 61, 27, -60, 16, 18, 0 }, { 61, 27, -61, 16, 18, 0 }, { 61, 27, -62, 16, 18, 0 }, { 61, 27, -63, 16, 18, 0 }, { 61, 27, -64, 16, 18, 0 }, + { 61, 27, -65, 16, 18, 0 }, { 61, 27, -66, 16, 18, 0 }, { 61, 28, -67, 16, 18, 0 }, { 61, 28, -68, 16, 18, 0 }, { 61, 28, -69, 16, 18, 0 }, + { 61, 28, -70, 16, 18, 0 }, { 61, 28, -71, 16, 18, 0 }, { 61, 28, -72, 16, 18, 0 }, { 61, 28, -73, 16, 18, 0 }, { 61, 28, -74, 16, 18, 0 }, + { 61, 28, -75, 16, 18, 0 }, { 61, 28, -76, 16, 18, 0 }, { 61, 29, -77, 16, 18, 0 }, { 61, 29, -78, 16, 18, 0 }, { 61, 29, -79, 16, 18, 0 }, + { 61, 29, -80, 16, 18, 0 }, { 61, 29, -81, 16, 18, 0 }, { 61, 29, -82, 16, 18, 0 }, { 61, 29, -83, 16, 18, 0 }, { 61, 29, -84, 16, 19, 0 }, + { 61, 29, -85, 16, 19, 0 }, { 60, 29, -86, 16, 19, 0 }, { 60, 30, -87, 16, 19, 0 }, { 60, 30, -88, 16, 19, 0 }, { 60, 30, -89, 16, 19, 0 }, + { 60, 30, -90, 16, 19, 0 }, { 60, 30, -91, 16, 19, 0 }, { 59, 30, -92, 16, 19, 0 }, { 59, 30, -93, 16, 19, 0 }, { 59, 30, -94, 16, 19, 0 }, + { 59, 30, -95, 16, 19, 0 }, { 59, 31, -96, 16, 19, 0 }, { 59, 31, -97, 16, 19, 0 }, { 58, 31, -98, 16, 19, 0 }, { 58, 31, -99, 16, 19, 0 }, + { 58, 31, -100, 16, 19, 0 }, { 58, 31, -101, 16, 19, 0 }, { 58, 31, -102, 16, 19, 0 }, { 57, 31, -103, 16, 19, 0 }, { 57, 31, -104, 16, 19, 0 }, + { 57, 31, -105, 16, 19, 0 }, { 57, 32, -106, 16, 19, 0 }, { 56, 32, -107, 16, 19, 0 }, { 56, 32, -108, 16, 19, 0 }, { 56, 32, -109, 16, 19, 0 }, + { 55, 32, -110, 16, 19, 0 }, { 55, 32, -111, 16, 19, 0 }, { 55, 32, -112, 16, 19, 0 }, { 54, 32, -113, 16, 19, 0 }, { 54, 32, -114, 16, 19, 0 }, + { 54, 32, -115, 16, 19, 0 }, { 54, 33, -116, 16, 19, 0 }, { 53, 33, -117, 16, 20, 0 }, { 53, 33, -118, 16, 20, 0 }, { 53, 33, -119, 16, 20, 0 }, + { 52, 33, -120, 16, 20, 0 }, { 52, 33, -121, 16, 20, 0 }, { 51, 33, -122, 16, 20, 0 }, { 51, 33, -123, 16, 20, 0 }, { 50, 33, -124, 16, 20, 0 }, + { 50, 34, -125, 16, 20, 0 }, { 50, 34, -126, 16, 20, 0 }, { 49, 34, -127, 16, 20, 0 }, { 49, 34, -128, 16, 20, 0 }, { 48, 34, -129, 16, 20, 0 }, + { 48, 34, -130, 16, 20, 0 }, { 48, 34, -131, 16, 20, 0 }, { 47, 34, -132, 16, 20, 0 }, { 47, 34, -133, 16, 20, 0 }, { 46, 34, -134, 16, 20, 0 }, + { 46, 35, -135, 16, 20, 0 }, { 45, 35, -136, 16, 20, 0 }, { 45, 35, -137, 16, 20, 0 }, { 45, 35, -138, 16, 20, 0 }, { 44, 35, -139, 16, 20, 0 }, + { 44, 35, -140, 16, 20, 0 }, { 43, 35, -141, 16, 20, 0 }, { 43, 35, -142, 16, 20, 0 }, { 42, 35, -143, 16, 20, 0 }, { 42, 35, -144, 16, 20, 0 }, + { 41, 36, -145, 16, 20, 0 }, { 41, 36, -146, 16, 20, 0 }, { 40, 36, -147, 16, 20, 0 }, { 39, 36, -148, 16, 20, 0 }, { 39, 36, -149, 16, 20, 0 }, + { 38, 36, -150, 16, 20, 0 }, { 38, 36, -151, 16, 20, 0 }, { 37, 36, -152, 16, 20, 0 }, { 36, 36, -153, 16, 21, 0 }, { 36, 36, -154, 16, 21, 0 }, + { 35, 37, -155, 16, 21, 0 }, { 35, 37, -156, 16, 21, 0 }, { 34, 37, -157, 16, 21, 0 }, { 33, 37, -158, 16, 21, 0 }, { 33, 37, -159, 16, 21, 0 }, + { 32, 37, -160, 16, 21, 0 }, { 31, 37, -161, 16, 21, 0 }, { 31, 37, -162, 16, 21, 0 }, { 30, 37, -163, 16, 21, 0 }, { 29, 38, -164, 16, 21, 0 }, + { 28, 38, -165, 16, 21, 0 }, { 28, 38, -166, 16, 21, 0 }, { 27, 38, -167, 16, 21, 0 }, { 26, 38, -168, 16, 21, 0 }, { 26, 38, -169, 16, 21, 0 }, + { 25, 38, -170, 16, 21, 0 }, { 24, 38, -171, 16, 21, 0 }, { 24, 38, -172, 16, 21, 0 }, { 23, 38, -173, 16, 21, 0 }, { 22, 39, -174, 16, 21, 0 }, + { 21, 39, -175, 16, 21, 0 }, { 20, 39, -176, 16, 21, 0 }, { 19, 39, -177, 16, 21, 0 }, { 18, 39, -178, 16, 21, 0 }, { 17, 39, -179, 16, 21, 0 }, + { 17, 39, -180, 16, 21, 0 }, { 16, 39, -181, 16, 21, 0 }, { 15, 39, -182, 16, 21, 0 }, { 14, 39, -183, 16, 21, 0 }, { 13, 40, -184, 16, 21, 0 }, + { 12, 40, -185, 16, 21, 0 }, { 11, 40, -186, 16, 21, 0 }, { 10, 40, -187, 16, 21, 0 }, { 9, 40, -188, 16, 21, 0 }, { 8, 40, -189, 16, 21, 0 }, + { 7, 40, -190, 16, 21, 0 }, { 6, 40, -190, 16, 21, 0 }, { 5, 40, -191, 16, 21, 0 }, { 4, 41, -192, 16, 21, 0 }, { 3, 41, -193, 16, 21, 0 }, + { 2, 41, -194, 16, 21, 0 }, { 1, 41, -195, 16, 21, 0 }, { 0, 41, -196, 16, 21, 0 }, { -1, 41, -196, 16, 21, 0 }, { -2, 41, -197, 16, 21, 0 }, + { -3, 41, -198, 16, 22, 0 }, { -4, 41, -199, 16, 22, 0 }, { -5, 41, -199, 16, 22, 0 }, { -6, 42, -200, 16, 22, 0 }, { -7, 42, -201, 16, 22, 0 }, + { -8, 42, -202, 16, 22, 0 }, { -9, 42, -202, 16, 22, 0 }, { -10, 42, -203, 16, 22, 0 }, { -11, 42, -204, 16, 22, 0 }, { -12, 42, -205, 16, 22, 0 }, + { -13, 42, -205, 16, 22, 0 }, { -14, 42, -206, 16, 22, 0 }, { -15, 42, -207, 16, 22, 0 }, { -16, 43, -207, 16, 22, 0 }, { -17, 43, -208, 16, 22, 0 }, + { -18, 43, -208, 16, 22, 0 }, { -19, 43, -209, 16, 22, 0 }, { -20, 43, -210, 16, 22, 0 }, { -21, 43, -210, 16, 22, 0 }, { -22, 43, -211, 16, 22, 0 }, + { -23, 43, -211, 16, 22, 0 }, { -24, 43, -212, 16, 22, 0 }, { -25, 43, -213, 16, 22, 0 }, { -26, 44, -213, 16, 22, 0 }, { -27, 44, -214, 16, 22, 0 }, + { -28, 44, -214, 16, 22, 0 }, { -29, 44, -215, 16, 22, 0 }, { -30, 44, -215, 16, 22, 0 }, { -31, 44, -216, 16, 22, 0 }, { -32, 44, -216, 16, 22, 0 }, + { -33, 44, -217, 16, 22, 0 }, { -34, 44, -217, 16, 22, 0 }, { -35, 45, -218, 16, 22, 0 }, { -36, 45, -218, 16, 22, 0 }, { -37, 45, -219, 16, 22, 0 }, + { -38, 45, -219, 16, 22, 0 }, { -39, 45, -220, 16, 22, 0 }, { -40, 45, -220, 16, 22, 0 }, { -41, 45, -221, 16, 22, 0 }, { -42, 45, -221, 16, 22, 0 }, + { -43, 45, -222, 16, 22, 0 }, { -44, 45, -222, 16, 22, 0 }, { -45, 46, -223, 16, 22, 0 }, { -46, 46, -223, 16, 22, 0 }, { -47, 46, -224, 16, 22, 0 }, + { -48, 46, -224, 16, 22, 0 }, { -49, 46, -225, 16, 22, 0 }, { -50, 46, -225, 16, 22, 0 }, { -51, 46, -226, 16, 22, 0 }, { -52, 46, -226, 16, 22, 0 }, + { -53, 46, -227, 16, 22, 0 }, { -54, 46, -227, 16, 22, 0 }, { -55, 47, -228, 16, 22, 0 }, { -56, 47, -228, 16, 22, 0 }, { -57, 47, -229, 16, 22, 0 }, + { -58, 47, -229, 16, 22, 0 }, { -59, 47, -230, 16, 22, 0 }, { -60, 47, -230, 16, 22, 0 }, { -61, 47, -231, 16, 22, 0 }, { -62, 47, -231, 16, 22, 0 }, + { -63, 47, -232, 16, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown3, { + { 16, 31, 32, 24, 0, 0 }, { 16, 30, 32, 24, 0, 0 }, { 16, 29, 32, 24, 0, 0 }, { 16, 28, 32, 24, 0, 0 }, { 16, 27, 32, 24, 0, 0 }, + { 16, 26, 32, 24, 0, 0 }, { 16, 25, 32, 24, 0, 0 }, { 16, 24, 32, 24, 0, 0 }, { 16, 23, 31, 24, 0, 0 }, { 16, 22, 31, 24, 0, 0 }, + { 17, 21, 31, 24, 0, 0 }, { 17, 20, 31, 24, 0, 0 }, { 17, 19, 30, 24, 0, 0 }, { 17, 18, 30, 24, 0, 0 }, { 17, 17, 30, 24, 0, 0 }, + { 17, 16, 29, 24, 5, 0 }, { 17, 15, 29, 24, 5, 0 }, { 17, 14, 28, 24, 5, 0 }, { 17, 13, 28, 24, 5, 0 }, { 17, 12, 27, 24, 5, 0 }, + { 18, 11, 27, 24, 5, 0 }, { 18, 10, 26, 24, 5, 0 }, { 18, 9, 26, 24, 5, 0 }, { 18, 8, 25, 24, 5, 0 }, { 18, 7, 24, 24, 5, 0 }, + { 18, 6, 24, 24, 5, 0 }, { 18, 5, 23, 24, 5, 0 }, { 18, 4, 22, 24, 5, 0 }, { 18, 3, 21, 24, 5, 0 }, { 18, 2, 21, 24, 5, 0 }, + { 19, 1, 20, 24, 6, 0 }, { 19, 0, 19, 24, 6, 0 }, { 19, -1, 18, 24, 6, 0 }, { 19, -2, 17, 24, 6, 0 }, { 19, -3, 16, 24, 6, 0 }, + { 19, -4, 15, 24, 6, 0 }, { 19, -5, 14, 24, 6, 0 }, { 19, -6, 13, 24, 6, 0 }, { 19, -7, 12, 24, 6, 0 }, { 20, -8, 11, 24, 6, 0 }, + { 20, -9, 10, 24, 6, 0 }, { 20, -9, 9, 24, 6, 0 }, { 20, -10, 8, 24, 6, 0 }, { 20, -11, 7, 24, 7, 0 }, { 20, -12, 6, 24, 7, 0 }, + { 20, -12, 5, 24, 7, 0 }, { 20, -13, 4, 24, 7, 0 }, { 20, -14, 3, 24, 7, 0 }, { 20, -14, 2, 24, 7, 0 }, { 21, -15, 1, 24, 7, 0 }, + { 21, -16, 0, 24, 7, 0 }, { 21, -16, -1, 24, 7, 0 }, { 21, -17, -2, 24, 7, 0 }, { 21, -17, -3, 24, 7, 0 }, { 21, -18, -4, 24, 7, 0 }, + { 21, -18, -5, 24, 7, 0 }, { 21, -19, -6, 24, 7, 0 }, { 21, -19, -7, 24, 7, 0 }, { 21, -20, -8, 24, 8, 0 }, { 22, -20, -9, 24, 8, 0 }, + { 22, -21, -10, 24, 8, 0 }, { 22, -21, -11, 24, 8, 0 }, { 22, -22, -12, 24, 8, 0 }, { 22, -22, -13, 24, 8, 0 }, { 22, -22, -14, 24, 8, 0 }, + { 22, -23, -15, 24, 8, 0 }, { 22, -23, -16, 24, 8, 0 }, { 22, -23, -17, 24, 8, 0 }, { 22, -24, -18, 24, 8, 0 }, { 23, -24, -19, 24, 8, 0 }, + { 23, -25, -20, 24, 8, 0 }, { 23, -25, -21, 24, 8, 0 }, { 23, -25, -22, 24, 8, 0 }, { 23, -26, -23, 24, 17, 0 }, { 23, -26, -24, 24, 17, 0 }, + { 23, -26, -25, 24, 17, 0 }, { 23, -26, -26, 24, 17, 0 }, { 23, -27, -27, 24, 17, 0 }, { 24, -27, -28, 24, 17, 0 }, { 24, -27, -29, 24, 17, 0 }, + { 24, -27, -30, 24, 17, 0 }, { 24, -28, -31, 24, 17, 0 }, { 24, -28, -32, 24, 17, 0 }, { 24, -28, -33, 24, 17, 0 }, { 24, -28, -34, 24, 17, 0 }, + { 24, -28, -35, 24, 17, 0 }, { 24, -28, -36, 24, 17, 0 }, { 24, -29, -37, 24, 17, 0 }, { 25, -29, -38, 24, 17, 0 }, { 25, -29, -39, 24, 17, 0 }, + { 25, -29, -40, 24, 17, 0 }, { 25, -29, -41, 24, 17, 0 }, { 25, -29, -42, 24, 17, 0 }, { 25, -29, -43, 24, 17, 0 }, { 25, -29, -44, 24, 17, 0 }, + { 25, -30, -45, 24, 17, 0 }, { 25, -30, -46, 24, 17, 0 }, { 25, -30, -47, 24, 18, 0 }, { 26, -30, -48, 24, 18, 0 }, { 26, -30, -49, 24, 18, 0 }, + { 26, -30, -50, 24, 18, 0 }, { 26, -30, -51, 24, 18, 0 }, { 26, -30, -52, 24, 18, 0 }, { 26, -30, -53, 24, 18, 0 }, { 26, -30, -54, 24, 18, 0 }, + { 26, -30, -55, 24, 18, 0 }, { 26, -30, -56, 24, 18, 0 }, { 27, -30, -57, 24, 18, 0 }, { 27, -30, -58, 24, 18, 0 }, { 27, -30, -59, 24, 18, 0 }, + { 27, -30, -60, 24, 18, 0 }, { 27, -30, -61, 24, 18, 0 }, { 27, -30, -62, 24, 18, 0 }, { 27, -30, -63, 24, 18, 0 }, { 27, -30, -64, 24, 18, 0 }, + { 27, -30, -65, 24, 18, 0 }, { 27, -30, -66, 24, 18, 0 }, { 28, -30, -67, 24, 18, 0 }, { 28, -30, -68, 24, 18, 0 }, { 28, -30, -69, 24, 18, 0 }, + { 28, -30, -70, 24, 18, 0 }, { 28, -30, -71, 24, 18, 0 }, { 28, -30, -72, 24, 18, 0 }, { 28, -30, -73, 24, 18, 0 }, { 28, -30, -74, 24, 18, 0 }, + { 28, -30, -75, 24, 18, 0 }, { 28, -30, -76, 24, 18, 0 }, { 29, -30, -77, 24, 18, 0 }, { 29, -30, -78, 24, 18, 0 }, { 29, -30, -79, 24, 18, 0 }, + { 29, -30, -80, 24, 18, 0 }, { 29, -30, -81, 24, 18, 0 }, { 29, -30, -82, 24, 18, 0 }, { 29, -30, -83, 24, 18, 0 }, { 29, -30, -84, 24, 19, 0 }, + { 29, -30, -85, 24, 19, 0 }, { 29, -29, -86, 24, 19, 0 }, { 30, -29, -87, 24, 19, 0 }, { 30, -29, -88, 24, 19, 0 }, { 30, -29, -89, 24, 19, 0 }, + { 30, -29, -90, 24, 19, 0 }, { 30, -29, -91, 24, 19, 0 }, { 30, -28, -92, 24, 19, 0 }, { 30, -28, -93, 24, 19, 0 }, { 30, -28, -94, 24, 19, 0 }, + { 30, -28, -95, 24, 19, 0 }, { 31, -28, -96, 24, 19, 0 }, { 31, -28, -97, 24, 19, 0 }, { 31, -27, -98, 24, 19, 0 }, { 31, -27, -99, 24, 19, 0 }, + { 31, -27, -100, 24, 19, 0 }, { 31, -27, -101, 24, 19, 0 }, { 31, -27, -102, 24, 19, 0 }, { 31, -26, -103, 24, 19, 0 }, { 31, -26, -104, 24, 19, 0 }, + { 31, -26, -105, 24, 19, 0 }, { 32, -26, -106, 24, 19, 0 }, { 32, -25, -107, 24, 19, 0 }, { 32, -25, -108, 24, 19, 0 }, { 32, -25, -109, 24, 19, 0 }, + { 32, -24, -110, 24, 19, 0 }, { 32, -24, -111, 24, 19, 0 }, { 32, -24, -112, 24, 19, 0 }, { 32, -23, -113, 24, 19, 0 }, { 32, -23, -114, 24, 19, 0 }, + { 32, -23, -115, 24, 19, 0 }, { 33, -23, -116, 24, 19, 0 }, { 33, -22, -117, 24, 20, 0 }, { 33, -22, -118, 24, 20, 0 }, { 33, -22, -119, 24, 20, 0 }, + { 33, -21, -120, 24, 20, 0 }, { 33, -21, -121, 24, 20, 0 }, { 33, -20, -122, 24, 20, 0 }, { 33, -20, -123, 24, 20, 0 }, { 33, -19, -124, 24, 20, 0 }, + { 34, -19, -125, 24, 20, 0 }, { 34, -19, -126, 24, 20, 0 }, { 34, -18, -127, 24, 20, 0 }, { 34, -18, -128, 24, 20, 0 }, { 34, -17, -129, 24, 20, 0 }, + { 34, -17, -130, 24, 20, 0 }, { 34, -17, -131, 24, 20, 0 }, { 34, -16, -132, 24, 20, 0 }, { 34, -16, -133, 24, 20, 0 }, { 34, -15, -134, 24, 20, 0 }, + { 35, -15, -135, 24, 20, 0 }, { 35, -14, -136, 24, 20, 0 }, { 35, -14, -137, 24, 20, 0 }, { 35, -14, -138, 24, 20, 0 }, { 35, -13, -139, 24, 20, 0 }, + { 35, -13, -140, 24, 20, 0 }, { 35, -12, -141, 24, 20, 0 }, { 35, -12, -142, 24, 20, 0 }, { 35, -11, -143, 24, 20, 0 }, { 35, -11, -144, 24, 20, 0 }, + { 36, -10, -145, 24, 20, 0 }, { 36, -10, -146, 24, 20, 0 }, { 36, -9, -147, 24, 20, 0 }, { 36, -8, -148, 24, 20, 0 }, { 36, -8, -149, 24, 20, 0 }, + { 36, -7, -150, 24, 20, 0 }, { 36, -7, -151, 24, 20, 0 }, { 36, -6, -152, 24, 20, 0 }, { 36, -5, -153, 24, 21, 0 }, { 36, -5, -154, 24, 21, 0 }, + { 37, -4, -155, 24, 21, 0 }, { 37, -4, -156, 24, 21, 0 }, { 37, -3, -157, 24, 21, 0 }, { 37, -2, -158, 24, 21, 0 }, { 37, -2, -159, 24, 21, 0 }, + { 37, -1, -160, 24, 21, 0 }, { 37, 0, -161, 24, 21, 0 }, { 37, 0, -162, 24, 21, 0 }, { 37, 1, -163, 24, 21, 0 }, { 38, 2, -164, 24, 21, 0 }, + { 38, 3, -165, 24, 21, 0 }, { 38, 3, -166, 24, 21, 0 }, { 38, 4, -167, 24, 21, 0 }, { 38, 5, -168, 24, 21, 0 }, { 38, 5, -169, 24, 21, 0 }, + { 38, 6, -170, 24, 21, 0 }, { 38, 7, -171, 24, 21, 0 }, { 38, 7, -172, 24, 21, 0 }, { 38, 8, -173, 24, 21, 0 }, { 39, 9, -174, 24, 21, 0 }, + { 39, 10, -175, 24, 21, 0 }, { 39, 11, -176, 24, 21, 0 }, { 39, 12, -177, 24, 21, 0 }, { 39, 13, -178, 24, 21, 0 }, { 39, 14, -179, 24, 21, 0 }, + { 39, 14, -180, 24, 21, 0 }, { 39, 15, -181, 24, 21, 0 }, { 39, 16, -182, 24, 21, 0 }, { 39, 17, -183, 24, 21, 0 }, { 40, 18, -184, 24, 21, 0 }, + { 40, 19, -185, 24, 21, 0 }, { 40, 20, -186, 24, 21, 0 }, { 40, 21, -187, 24, 21, 0 }, { 40, 22, -188, 24, 21, 0 }, { 40, 23, -189, 24, 21, 0 }, + { 40, 24, -190, 24, 21, 0 }, { 40, 25, -190, 24, 21, 0 }, { 40, 26, -191, 24, 21, 0 }, { 41, 27, -192, 24, 21, 0 }, { 41, 28, -193, 24, 21, 0 }, + { 41, 29, -194, 24, 21, 0 }, { 41, 30, -195, 24, 21, 0 }, { 41, 31, -196, 24, 21, 0 }, { 41, 32, -196, 24, 21, 0 }, { 41, 33, -197, 24, 21, 0 }, + { 41, 34, -198, 24, 22, 0 }, { 41, 35, -199, 24, 22, 0 }, { 41, 36, -199, 24, 22, 0 }, { 42, 37, -200, 24, 22, 0 }, { 42, 38, -201, 24, 22, 0 }, + { 42, 39, -202, 24, 22, 0 }, { 42, 40, -202, 24, 22, 0 }, { 42, 41, -203, 24, 22, 0 }, { 42, 42, -204, 24, 22, 0 }, { 42, 43, -205, 24, 22, 0 }, + { 42, 44, -205, 24, 22, 0 }, { 42, 45, -206, 24, 22, 0 }, { 42, 46, -207, 24, 22, 0 }, { 43, 47, -207, 24, 22, 0 }, { 43, 48, -208, 24, 22, 0 }, + { 43, 49, -208, 24, 22, 0 }, { 43, 50, -209, 24, 22, 0 }, { 43, 51, -210, 24, 22, 0 }, { 43, 52, -210, 24, 22, 0 }, { 43, 53, -211, 24, 22, 0 }, + { 43, 54, -211, 24, 22, 0 }, { 43, 55, -212, 24, 22, 0 }, { 43, 56, -213, 24, 22, 0 }, { 44, 57, -213, 24, 22, 0 }, { 44, 58, -214, 24, 22, 0 }, + { 44, 59, -214, 24, 22, 0 }, { 44, 60, -215, 24, 22, 0 }, { 44, 61, -215, 24, 22, 0 }, { 44, 62, -216, 24, 22, 0 }, { 44, 63, -216, 24, 22, 0 }, + { 44, 64, -217, 24, 22, 0 }, { 44, 65, -217, 24, 22, 0 }, { 45, 66, -218, 24, 22, 0 }, { 45, 67, -218, 24, 22, 0 }, { 45, 68, -219, 24, 22, 0 }, + { 45, 69, -219, 24, 22, 0 }, { 45, 70, -220, 24, 22, 0 }, { 45, 71, -220, 24, 22, 0 }, { 45, 72, -221, 24, 22, 0 }, { 45, 73, -221, 24, 22, 0 }, + { 45, 74, -222, 24, 22, 0 }, { 45, 75, -222, 24, 22, 0 }, { 46, 76, -223, 24, 22, 0 }, { 46, 77, -223, 24, 22, 0 }, { 46, 78, -224, 24, 22, 0 }, + { 46, 79, -224, 24, 22, 0 }, { 46, 80, -225, 24, 22, 0 }, { 46, 81, -225, 24, 22, 0 }, { 46, 82, -226, 24, 22, 0 }, { 46, 83, -226, 24, 22, 0 }, + { 46, 84, -227, 24, 22, 0 }, { 46, 85, -227, 24, 22, 0 }, { 47, 86, -228, 24, 22, 0 }, { 47, 87, -228, 24, 22, 0 }, { 47, 88, -229, 24, 22, 0 }, + { 47, 89, -229, 24, 22, 0 }, { 47, 90, -230, 24, 22, 0 }, { 47, 91, -230, 24, 22, 0 }, { 47, 92, -231, 24, 22, 0 }, { 47, 93, -231, 24, 22, 0 }, + { 47, 94, -232, 24, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown0, { + { 31, 16, 32, 0, 0, 0 }, { 30, 16, 32, 0, 0, 0 }, { 29, 16, 32, 0, 0, 0 }, { 28, 16, 32, 0, 0, 0 }, { 27, 16, 32, 0, 0, 0 }, + { 26, 16, 32, 0, 0, 0 }, { 25, 16, 32, 0, 0, 0 }, { 24, 16, 32, 0, 0, 0 }, { 23, 16, 31, 0, 0, 0 }, { 22, 16, 31, 0, 0, 0 }, + { 21, 17, 31, 0, 0, 0 }, { 20, 17, 31, 0, 0, 0 }, { 19, 17, 30, 0, 0, 0 }, { 18, 17, 30, 0, 0, 0 }, { 17, 17, 30, 0, 0, 0 }, + { 16, 17, 29, 0, 5, 0 }, { 15, 17, 29, 0, 5, 0 }, { 14, 17, 28, 0, 5, 0 }, { 13, 17, 28, 0, 5, 0 }, { 12, 17, 27, 0, 5, 0 }, + { 11, 18, 27, 0, 5, 0 }, { 10, 18, 26, 0, 5, 0 }, { 9, 18, 26, 0, 5, 0 }, { 8, 18, 25, 0, 5, 0 }, { 7, 18, 24, 0, 5, 0 }, + { 6, 18, 24, 0, 5, 0 }, { 5, 18, 23, 0, 5, 0 }, { 4, 18, 22, 0, 5, 0 }, { 3, 18, 21, 0, 5, 0 }, { 2, 18, 21, 0, 5, 0 }, + { 1, 19, 20, 0, 6, 0 }, { 0, 19, 19, 0, 6, 0 }, { -1, 19, 18, 0, 6, 0 }, { -2, 19, 17, 0, 6, 0 }, { -3, 19, 16, 0, 6, 0 }, + { -4, 19, 15, 0, 6, 0 }, { -5, 19, 14, 0, 6, 0 }, { -6, 19, 13, 0, 6, 0 }, { -7, 19, 12, 0, 6, 0 }, { -8, 20, 11, 0, 6, 0 }, + { -9, 20, 10, 0, 6, 0 }, { -9, 20, 9, 0, 6, 0 }, { -10, 20, 8, 0, 6, 0 }, { -11, 20, 7, 0, 7, 0 }, { -12, 20, 6, 0, 7, 0 }, + { -12, 20, 5, 0, 7, 0 }, { -13, 20, 4, 0, 7, 0 }, { -14, 20, 3, 0, 7, 0 }, { -14, 20, 2, 0, 7, 0 }, { -15, 21, 1, 0, 7, 0 }, + { -16, 21, 0, 0, 7, 0 }, { -16, 21, -1, 0, 7, 0 }, { -17, 21, -2, 0, 7, 0 }, { -17, 21, -3, 0, 7, 0 }, { -18, 21, -4, 0, 7, 0 }, + { -18, 21, -5, 0, 7, 0 }, { -19, 21, -6, 0, 7, 0 }, { -19, 21, -7, 0, 7, 0 }, { -20, 21, -8, 0, 8, 0 }, { -20, 22, -9, 0, 8, 0 }, + { -21, 22, -10, 0, 8, 0 }, { -21, 22, -11, 0, 8, 0 }, { -22, 22, -12, 0, 8, 0 }, { -22, 22, -13, 0, 8, 0 }, { -22, 22, -14, 0, 8, 0 }, + { -23, 22, -15, 0, 8, 0 }, { -23, 22, -16, 0, 8, 0 }, { -23, 22, -17, 0, 8, 0 }, { -24, 22, -18, 0, 8, 0 }, { -24, 23, -19, 0, 8, 0 }, + { -25, 23, -20, 0, 8, 0 }, { -25, 23, -21, 0, 8, 0 }, { -25, 23, -22, 0, 8, 0 }, { -26, 23, -23, 0, 17, 0 }, { -26, 23, -24, 0, 17, 0 }, + { -26, 23, -25, 0, 17, 0 }, { -26, 23, -26, 0, 17, 0 }, { -27, 23, -27, 0, 17, 0 }, { -27, 24, -28, 0, 17, 0 }, { -27, 24, -29, 0, 17, 0 }, + { -27, 24, -30, 0, 17, 0 }, { -28, 24, -31, 0, 17, 0 }, { -28, 24, -32, 0, 17, 0 }, { -28, 24, -33, 0, 17, 0 }, { -28, 24, -34, 0, 17, 0 }, + { -28, 24, -35, 0, 17, 0 }, { -28, 24, -36, 0, 17, 0 }, { -29, 24, -37, 0, 17, 0 }, { -29, 25, -38, 0, 17, 0 }, { -29, 25, -39, 0, 17, 0 }, + { -29, 25, -40, 0, 17, 0 }, { -29, 25, -41, 0, 17, 0 }, { -29, 25, -42, 0, 17, 0 }, { -29, 25, -43, 0, 17, 0 }, { -29, 25, -44, 0, 17, 0 }, + { -30, 25, -45, 0, 17, 0 }, { -30, 25, -46, 0, 17, 0 }, { -30, 25, -47, 0, 18, 0 }, { -30, 26, -48, 0, 18, 0 }, { -30, 26, -49, 0, 18, 0 }, + { -30, 26, -50, 0, 18, 0 }, { -30, 26, -51, 0, 18, 0 }, { -30, 26, -52, 0, 18, 0 }, { -30, 26, -53, 0, 18, 0 }, { -30, 26, -54, 0, 18, 0 }, + { -30, 26, -55, 0, 18, 0 }, { -30, 26, -56, 0, 18, 0 }, { -30, 27, -57, 0, 18, 0 }, { -30, 27, -58, 0, 18, 0 }, { -30, 27, -59, 0, 18, 0 }, + { -30, 27, -60, 0, 18, 0 }, { -30, 27, -61, 0, 18, 0 }, { -30, 27, -62, 0, 18, 0 }, { -30, 27, -63, 0, 18, 0 }, { -30, 27, -64, 0, 18, 0 }, + { -30, 27, -65, 0, 18, 0 }, { -30, 27, -66, 0, 18, 0 }, { -30, 28, -67, 0, 18, 0 }, { -30, 28, -68, 0, 18, 0 }, { -30, 28, -69, 0, 18, 0 }, + { -30, 28, -70, 0, 18, 0 }, { -30, 28, -71, 0, 18, 0 }, { -30, 28, -72, 0, 18, 0 }, { -30, 28, -73, 0, 18, 0 }, { -30, 28, -74, 0, 18, 0 }, + { -30, 28, -75, 0, 18, 0 }, { -30, 28, -76, 0, 18, 0 }, { -30, 29, -77, 0, 18, 0 }, { -30, 29, -78, 0, 18, 0 }, { -30, 29, -79, 0, 18, 0 }, + { -30, 29, -80, 0, 18, 0 }, { -30, 29, -81, 0, 18, 0 }, { -30, 29, -82, 0, 18, 0 }, { -30, 29, -83, 0, 18, 0 }, { -30, 29, -84, 0, 19, 0 }, + { -30, 29, -85, 0, 19, 0 }, { -29, 29, -86, 0, 19, 0 }, { -29, 30, -87, 0, 19, 0 }, { -29, 30, -88, 0, 19, 0 }, { -29, 30, -89, 0, 19, 0 }, + { -29, 30, -90, 0, 19, 0 }, { -29, 30, -91, 0, 19, 0 }, { -28, 30, -92, 0, 19, 0 }, { -28, 30, -93, 0, 19, 0 }, { -28, 30, -94, 0, 19, 0 }, + { -28, 30, -95, 0, 19, 0 }, { -28, 31, -96, 0, 19, 0 }, { -28, 31, -97, 0, 19, 0 }, { -27, 31, -98, 0, 19, 0 }, { -27, 31, -99, 0, 19, 0 }, + { -27, 31, -100, 0, 19, 0 }, { -27, 31, -101, 0, 19, 0 }, { -27, 31, -102, 0, 19, 0 }, { -26, 31, -103, 0, 19, 0 }, { -26, 31, -104, 0, 19, 0 }, + { -26, 31, -105, 0, 19, 0 }, { -26, 32, -106, 0, 19, 0 }, { -25, 32, -107, 0, 19, 0 }, { -25, 32, -108, 0, 19, 0 }, { -25, 32, -109, 0, 19, 0 }, + { -24, 32, -110, 0, 19, 0 }, { -24, 32, -111, 0, 19, 0 }, { -24, 32, -112, 0, 19, 0 }, { -23, 32, -113, 0, 19, 0 }, { -23, 32, -114, 0, 19, 0 }, + { -23, 32, -115, 0, 19, 0 }, { -23, 33, -116, 0, 19, 0 }, { -22, 33, -117, 0, 20, 0 }, { -22, 33, -118, 0, 20, 0 }, { -22, 33, -119, 0, 20, 0 }, + { -21, 33, -120, 0, 20, 0 }, { -21, 33, -121, 0, 20, 0 }, { -20, 33, -122, 0, 20, 0 }, { -20, 33, -123, 0, 20, 0 }, { -19, 33, -124, 0, 20, 0 }, + { -19, 34, -125, 0, 20, 0 }, { -19, 34, -126, 0, 20, 0 }, { -18, 34, -127, 0, 20, 0 }, { -18, 34, -128, 0, 20, 0 }, { -17, 34, -129, 0, 20, 0 }, + { -17, 34, -130, 0, 20, 0 }, { -17, 34, -131, 0, 20, 0 }, { -16, 34, -132, 0, 20, 0 }, { -16, 34, -133, 0, 20, 0 }, { -15, 34, -134, 0, 20, 0 }, + { -15, 35, -135, 0, 20, 0 }, { -14, 35, -136, 0, 20, 0 }, { -14, 35, -137, 0, 20, 0 }, { -14, 35, -138, 0, 20, 0 }, { -13, 35, -139, 0, 20, 0 }, + { -13, 35, -140, 0, 20, 0 }, { -12, 35, -141, 0, 20, 0 }, { -12, 35, -142, 0, 20, 0 }, { -11, 35, -143, 0, 20, 0 }, { -11, 35, -144, 0, 20, 0 }, + { -10, 36, -145, 0, 20, 0 }, { -10, 36, -146, 0, 20, 0 }, { -9, 36, -147, 0, 20, 0 }, { -8, 36, -148, 0, 20, 0 }, { -8, 36, -149, 0, 20, 0 }, + { -7, 36, -150, 0, 20, 0 }, { -7, 36, -151, 0, 20, 0 }, { -6, 36, -152, 0, 20, 0 }, { -5, 36, -153, 0, 21, 0 }, { -5, 36, -154, 0, 21, 0 }, + { -4, 37, -155, 0, 21, 0 }, { -4, 37, -156, 0, 21, 0 }, { -3, 37, -157, 0, 21, 0 }, { -2, 37, -158, 0, 21, 0 }, { -2, 37, -159, 0, 21, 0 }, + { -1, 37, -160, 0, 21, 0 }, { 0, 37, -161, 0, 21, 0 }, { 0, 37, -162, 0, 21, 0 }, { 1, 37, -163, 0, 21, 0 }, { 2, 38, -164, 0, 21, 0 }, + { 3, 38, -165, 0, 21, 0 }, { 3, 38, -166, 0, 21, 0 }, { 4, 38, -167, 0, 21, 0 }, { 5, 38, -168, 0, 21, 0 }, { 5, 38, -169, 0, 21, 0 }, + { 6, 38, -170, 0, 21, 0 }, { 7, 38, -171, 0, 21, 0 }, { 7, 38, -172, 0, 21, 0 }, { 8, 38, -173, 0, 21, 0 }, { 9, 39, -174, 0, 21, 0 }, + { 10, 39, -175, 0, 21, 0 }, { 11, 39, -176, 0, 21, 0 }, { 12, 39, -177, 0, 21, 0 }, { 13, 39, -178, 0, 21, 0 }, { 14, 39, -179, 0, 21, 0 }, + { 14, 39, -180, 0, 21, 0 }, { 15, 39, -181, 0, 21, 0 }, { 16, 39, -182, 0, 21, 0 }, { 17, 39, -183, 0, 21, 0 }, { 18, 40, -184, 0, 21, 0 }, + { 19, 40, -185, 0, 21, 0 }, { 20, 40, -186, 0, 21, 0 }, { 21, 40, -187, 0, 21, 0 }, { 22, 40, -188, 0, 21, 0 }, { 23, 40, -189, 0, 21, 0 }, + { 24, 40, -190, 0, 21, 0 }, { 25, 40, -190, 0, 21, 0 }, { 26, 40, -191, 0, 21, 0 }, { 27, 41, -192, 0, 21, 0 }, { 28, 41, -193, 0, 21, 0 }, + { 29, 41, -194, 0, 21, 0 }, { 30, 41, -195, 0, 21, 0 }, { 31, 41, -196, 0, 21, 0 }, { 32, 41, -196, 0, 21, 0 }, { 33, 41, -197, 0, 21, 0 }, + { 34, 41, -198, 0, 22, 0 }, { 35, 41, -199, 0, 22, 0 }, { 36, 41, -199, 0, 22, 0 }, { 37, 42, -200, 0, 22, 0 }, { 38, 42, -201, 0, 22, 0 }, + { 39, 42, -202, 0, 22, 0 }, { 40, 42, -202, 0, 22, 0 }, { 41, 42, -203, 0, 22, 0 }, { 42, 42, -204, 0, 22, 0 }, { 43, 42, -205, 0, 22, 0 }, + { 44, 42, -205, 0, 22, 0 }, { 45, 42, -206, 0, 22, 0 }, { 46, 42, -207, 0, 22, 0 }, { 47, 43, -207, 0, 22, 0 }, { 48, 43, -208, 0, 22, 0 }, + { 49, 43, -208, 0, 22, 0 }, { 50, 43, -209, 0, 22, 0 }, { 51, 43, -210, 0, 22, 0 }, { 52, 43, -210, 0, 22, 0 }, { 53, 43, -211, 0, 22, 0 }, + { 54, 43, -211, 0, 22, 0 }, { 55, 43, -212, 0, 22, 0 }, { 56, 43, -213, 0, 22, 0 }, { 57, 44, -213, 0, 22, 0 }, { 58, 44, -214, 0, 22, 0 }, + { 59, 44, -214, 0, 22, 0 }, { 60, 44, -215, 0, 22, 0 }, { 61, 44, -215, 0, 22, 0 }, { 62, 44, -216, 0, 22, 0 }, { 63, 44, -216, 0, 22, 0 }, + { 64, 44, -217, 0, 22, 0 }, { 65, 44, -217, 0, 22, 0 }, { 66, 45, -218, 0, 22, 0 }, { 67, 45, -218, 0, 22, 0 }, { 68, 45, -219, 0, 22, 0 }, + { 69, 45, -219, 0, 22, 0 }, { 70, 45, -220, 0, 22, 0 }, { 71, 45, -220, 0, 22, 0 }, { 72, 45, -221, 0, 22, 0 }, { 73, 45, -221, 0, 22, 0 }, + { 74, 45, -222, 0, 22, 0 }, { 75, 45, -222, 0, 22, 0 }, { 76, 46, -223, 0, 22, 0 }, { 77, 46, -223, 0, 22, 0 }, { 78, 46, -224, 0, 22, 0 }, + { 79, 46, -224, 0, 22, 0 }, { 80, 46, -225, 0, 22, 0 }, { 81, 46, -225, 0, 22, 0 }, { 82, 46, -226, 0, 22, 0 }, { 83, 46, -226, 0, 22, 0 }, + { 84, 46, -227, 0, 22, 0 }, { 85, 46, -227, 0, 22, 0 }, { 86, 47, -228, 0, 22, 0 }, { 87, 47, -228, 0, 22, 0 }, { 88, 47, -229, 0, 22, 0 }, + { 89, 47, -229, 0, 22, 0 }, { 90, 47, -230, 0, 22, 0 }, { 91, 47, -230, 0, 22, 0 }, { 92, 47, -231, 0, 22, 0 }, { 93, 47, -231, 0, 22, 0 }, + { 94, 47, -232, 0, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown1, { + { 16, 0, 32, 8, 0, 0 }, { 16, 1, 32, 8, 0, 0 }, { 16, 2, 32, 8, 0, 0 }, { 16, 3, 32, 8, 0, 0 }, { 16, 4, 32, 8, 0, 0 }, + { 16, 5, 32, 8, 0, 0 }, { 16, 6, 32, 8, 0, 0 }, { 16, 7, 32, 8, 0, 0 }, { 16, 8, 31, 8, 0, 0 }, { 16, 9, 31, 8, 0, 0 }, + { 17, 10, 31, 8, 0, 0 }, { 17, 11, 31, 8, 0, 0 }, { 17, 12, 30, 8, 0, 0 }, { 17, 13, 30, 8, 0, 0 }, { 17, 14, 30, 8, 0, 0 }, + { 17, 15, 29, 8, 5, 0 }, { 17, 16, 29, 8, 5, 0 }, { 17, 17, 28, 8, 5, 0 }, { 17, 18, 28, 8, 5, 0 }, { 17, 19, 27, 8, 5, 0 }, + { 18, 20, 27, 8, 5, 0 }, { 18, 21, 26, 8, 5, 0 }, { 18, 22, 26, 8, 5, 0 }, { 18, 23, 25, 8, 5, 0 }, { 18, 24, 24, 8, 5, 0 }, + { 18, 25, 24, 8, 5, 0 }, { 18, 26, 23, 8, 5, 0 }, { 18, 27, 22, 8, 5, 0 }, { 18, 28, 21, 8, 5, 0 }, { 18, 29, 21, 8, 5, 0 }, + { 19, 30, 20, 8, 6, 0 }, { 19, 31, 19, 8, 6, 0 }, { 19, 32, 18, 8, 6, 0 }, { 19, 33, 17, 8, 6, 0 }, { 19, 34, 16, 8, 6, 0 }, + { 19, 35, 15, 8, 6, 0 }, { 19, 36, 14, 8, 6, 0 }, { 19, 37, 13, 8, 6, 0 }, { 19, 38, 12, 8, 6, 0 }, { 20, 39, 11, 8, 6, 0 }, + { 20, 40, 10, 8, 6, 0 }, { 20, 40, 9, 8, 6, 0 }, { 20, 41, 8, 8, 6, 0 }, { 20, 42, 7, 8, 7, 0 }, { 20, 43, 6, 8, 7, 0 }, + { 20, 43, 5, 8, 7, 0 }, { 20, 44, 4, 8, 7, 0 }, { 20, 45, 3, 8, 7, 0 }, { 20, 45, 2, 8, 7, 0 }, { 21, 46, 1, 8, 7, 0 }, + { 21, 47, 0, 8, 7, 0 }, { 21, 47, -1, 8, 7, 0 }, { 21, 48, -2, 8, 7, 0 }, { 21, 48, -3, 8, 7, 0 }, { 21, 49, -4, 8, 7, 0 }, + { 21, 49, -5, 8, 7, 0 }, { 21, 50, -6, 8, 7, 0 }, { 21, 50, -7, 8, 7, 0 }, { 21, 51, -8, 8, 8, 0 }, { 22, 51, -9, 8, 8, 0 }, + { 22, 52, -10, 8, 8, 0 }, { 22, 52, -11, 8, 8, 0 }, { 22, 53, -12, 8, 8, 0 }, { 22, 53, -13, 8, 8, 0 }, { 22, 53, -14, 8, 8, 0 }, + { 22, 54, -15, 8, 8, 0 }, { 22, 54, -16, 8, 8, 0 }, { 22, 54, -17, 8, 8, 0 }, { 22, 55, -18, 8, 8, 0 }, { 23, 55, -19, 8, 8, 0 }, + { 23, 56, -20, 8, 8, 0 }, { 23, 56, -21, 8, 8, 0 }, { 23, 56, -22, 8, 8, 0 }, { 23, 57, -23, 8, 17, 0 }, { 23, 57, -24, 8, 17, 0 }, + { 23, 57, -25, 8, 17, 0 }, { 23, 57, -26, 8, 17, 0 }, { 23, 58, -27, 8, 17, 0 }, { 24, 58, -28, 8, 17, 0 }, { 24, 58, -29, 8, 17, 0 }, + { 24, 58, -30, 8, 17, 0 }, { 24, 59, -31, 8, 17, 0 }, { 24, 59, -32, 8, 17, 0 }, { 24, 59, -33, 8, 17, 0 }, { 24, 59, -34, 8, 17, 0 }, + { 24, 59, -35, 8, 17, 0 }, { 24, 59, -36, 8, 17, 0 }, { 24, 60, -37, 8, 17, 0 }, { 25, 60, -38, 8, 17, 0 }, { 25, 60, -39, 8, 17, 0 }, + { 25, 60, -40, 8, 17, 0 }, { 25, 60, -41, 8, 17, 0 }, { 25, 60, -42, 8, 17, 0 }, { 25, 60, -43, 8, 17, 0 }, { 25, 60, -44, 8, 17, 0 }, + { 25, 61, -45, 8, 17, 0 }, { 25, 61, -46, 8, 17, 0 }, { 25, 61, -47, 8, 18, 0 }, { 26, 61, -48, 8, 18, 0 }, { 26, 61, -49, 8, 18, 0 }, + { 26, 61, -50, 8, 18, 0 }, { 26, 61, -51, 8, 18, 0 }, { 26, 61, -52, 8, 18, 0 }, { 26, 61, -53, 8, 18, 0 }, { 26, 61, -54, 8, 18, 0 }, + { 26, 61, -55, 8, 18, 0 }, { 26, 61, -56, 8, 18, 0 }, { 27, 61, -57, 8, 18, 0 }, { 27, 61, -58, 8, 18, 0 }, { 27, 61, -59, 8, 18, 0 }, + { 27, 61, -60, 8, 18, 0 }, { 27, 61, -61, 8, 18, 0 }, { 27, 61, -62, 8, 18, 0 }, { 27, 61, -63, 8, 18, 0 }, { 27, 61, -64, 8, 18, 0 }, + { 27, 61, -65, 8, 18, 0 }, { 27, 61, -66, 8, 18, 0 }, { 28, 61, -67, 8, 18, 0 }, { 28, 61, -68, 8, 18, 0 }, { 28, 61, -69, 8, 18, 0 }, + { 28, 61, -70, 8, 18, 0 }, { 28, 61, -71, 8, 18, 0 }, { 28, 61, -72, 8, 18, 0 }, { 28, 61, -73, 8, 18, 0 }, { 28, 61, -74, 8, 18, 0 }, + { 28, 61, -75, 8, 18, 0 }, { 28, 61, -76, 8, 18, 0 }, { 29, 61, -77, 8, 18, 0 }, { 29, 61, -78, 8, 18, 0 }, { 29, 61, -79, 8, 18, 0 }, + { 29, 61, -80, 8, 18, 0 }, { 29, 61, -81, 8, 18, 0 }, { 29, 61, -82, 8, 18, 0 }, { 29, 61, -83, 8, 18, 0 }, { 29, 61, -84, 8, 19, 0 }, + { 29, 61, -85, 8, 19, 0 }, { 29, 60, -86, 8, 19, 0 }, { 30, 60, -87, 8, 19, 0 }, { 30, 60, -88, 8, 19, 0 }, { 30, 60, -89, 8, 19, 0 }, + { 30, 60, -90, 8, 19, 0 }, { 30, 60, -91, 8, 19, 0 }, { 30, 59, -92, 8, 19, 0 }, { 30, 59, -93, 8, 19, 0 }, { 30, 59, -94, 8, 19, 0 }, + { 30, 59, -95, 8, 19, 0 }, { 31, 59, -96, 8, 19, 0 }, { 31, 59, -97, 8, 19, 0 }, { 31, 58, -98, 8, 19, 0 }, { 31, 58, -99, 8, 19, 0 }, + { 31, 58, -100, 8, 19, 0 }, { 31, 58, -101, 8, 19, 0 }, { 31, 58, -102, 8, 19, 0 }, { 31, 57, -103, 8, 19, 0 }, { 31, 57, -104, 8, 19, 0 }, + { 31, 57, -105, 8, 19, 0 }, { 32, 57, -106, 8, 19, 0 }, { 32, 56, -107, 8, 19, 0 }, { 32, 56, -108, 8, 19, 0 }, { 32, 56, -109, 8, 19, 0 }, + { 32, 55, -110, 8, 19, 0 }, { 32, 55, -111, 8, 19, 0 }, { 32, 55, -112, 8, 19, 0 }, { 32, 54, -113, 8, 19, 0 }, { 32, 54, -114, 8, 19, 0 }, + { 32, 54, -115, 8, 19, 0 }, { 33, 54, -116, 8, 19, 0 }, { 33, 53, -117, 8, 20, 0 }, { 33, 53, -118, 8, 20, 0 }, { 33, 53, -119, 8, 20, 0 }, + { 33, 52, -120, 8, 20, 0 }, { 33, 52, -121, 8, 20, 0 }, { 33, 51, -122, 8, 20, 0 }, { 33, 51, -123, 8, 20, 0 }, { 33, 50, -124, 8, 20, 0 }, + { 34, 50, -125, 8, 20, 0 }, { 34, 50, -126, 8, 20, 0 }, { 34, 49, -127, 8, 20, 0 }, { 34, 49, -128, 8, 20, 0 }, { 34, 48, -129, 8, 20, 0 }, + { 34, 48, -130, 8, 20, 0 }, { 34, 48, -131, 8, 20, 0 }, { 34, 47, -132, 8, 20, 0 }, { 34, 47, -133, 8, 20, 0 }, { 34, 46, -134, 8, 20, 0 }, + { 35, 46, -135, 8, 20, 0 }, { 35, 45, -136, 8, 20, 0 }, { 35, 45, -137, 8, 20, 0 }, { 35, 45, -138, 8, 20, 0 }, { 35, 44, -139, 8, 20, 0 }, + { 35, 44, -140, 8, 20, 0 }, { 35, 43, -141, 8, 20, 0 }, { 35, 43, -142, 8, 20, 0 }, { 35, 42, -143, 8, 20, 0 }, { 35, 42, -144, 8, 20, 0 }, + { 36, 41, -145, 8, 20, 0 }, { 36, 41, -146, 8, 20, 0 }, { 36, 40, -147, 8, 20, 0 }, { 36, 39, -148, 8, 20, 0 }, { 36, 39, -149, 8, 20, 0 }, + { 36, 38, -150, 8, 20, 0 }, { 36, 38, -151, 8, 20, 0 }, { 36, 37, -152, 8, 20, 0 }, { 36, 36, -153, 8, 21, 0 }, { 36, 36, -154, 8, 21, 0 }, + { 37, 35, -155, 8, 21, 0 }, { 37, 35, -156, 8, 21, 0 }, { 37, 34, -157, 8, 21, 0 }, { 37, 33, -158, 8, 21, 0 }, { 37, 33, -159, 8, 21, 0 }, + { 37, 32, -160, 8, 21, 0 }, { 37, 31, -161, 8, 21, 0 }, { 37, 31, -162, 8, 21, 0 }, { 37, 30, -163, 8, 21, 0 }, { 38, 29, -164, 8, 21, 0 }, + { 38, 28, -165, 8, 21, 0 }, { 38, 28, -166, 8, 21, 0 }, { 38, 27, -167, 8, 21, 0 }, { 38, 26, -168, 8, 21, 0 }, { 38, 26, -169, 8, 21, 0 }, + { 38, 25, -170, 8, 21, 0 }, { 38, 24, -171, 8, 21, 0 }, { 38, 24, -172, 8, 21, 0 }, { 38, 23, -173, 8, 21, 0 }, { 39, 22, -174, 8, 21, 0 }, + { 39, 21, -175, 8, 21, 0 }, { 39, 20, -176, 8, 21, 0 }, { 39, 19, -177, 8, 21, 0 }, { 39, 18, -178, 8, 21, 0 }, { 39, 17, -179, 8, 21, 0 }, + { 39, 17, -180, 8, 21, 0 }, { 39, 16, -181, 8, 21, 0 }, { 39, 15, -182, 8, 21, 0 }, { 39, 14, -183, 8, 21, 0 }, { 40, 13, -184, 8, 21, 0 }, + { 40, 12, -185, 8, 21, 0 }, { 40, 11, -186, 8, 21, 0 }, { 40, 10, -187, 8, 21, 0 }, { 40, 9, -188, 8, 21, 0 }, { 40, 8, -189, 8, 21, 0 }, + { 40, 7, -190, 8, 21, 0 }, { 40, 6, -190, 8, 21, 0 }, { 40, 5, -191, 8, 21, 0 }, { 41, 4, -192, 8, 21, 0 }, { 41, 3, -193, 8, 21, 0 }, + { 41, 2, -194, 8, 21, 0 }, { 41, 1, -195, 8, 21, 0 }, { 41, 0, -196, 8, 21, 0 }, { 41, -1, -196, 8, 21, 0 }, { 41, -2, -197, 8, 21, 0 }, + { 41, -3, -198, 8, 22, 0 }, { 41, -4, -199, 8, 22, 0 }, { 41, -5, -199, 8, 22, 0 }, { 42, -6, -200, 8, 22, 0 }, { 42, -7, -201, 8, 22, 0 }, + { 42, -8, -202, 8, 22, 0 }, { 42, -9, -202, 8, 22, 0 }, { 42, -10, -203, 8, 22, 0 }, { 42, -11, -204, 8, 22, 0 }, { 42, -12, -205, 8, 22, 0 }, + { 42, -13, -205, 8, 22, 0 }, { 42, -14, -206, 8, 22, 0 }, { 42, -15, -207, 8, 22, 0 }, { 43, -16, -207, 8, 22, 0 }, { 43, -17, -208, 8, 22, 0 }, + { 43, -18, -208, 8, 22, 0 }, { 43, -19, -209, 8, 22, 0 }, { 43, -20, -210, 8, 22, 0 }, { 43, -21, -210, 8, 22, 0 }, { 43, -22, -211, 8, 22, 0 }, + { 43, -23, -211, 8, 22, 0 }, { 43, -24, -212, 8, 22, 0 }, { 43, -25, -213, 8, 22, 0 }, { 44, -26, -213, 8, 22, 0 }, { 44, -27, -214, 8, 22, 0 }, + { 44, -28, -214, 8, 22, 0 }, { 44, -29, -215, 8, 22, 0 }, { 44, -30, -215, 8, 22, 0 }, { 44, -31, -216, 8, 22, 0 }, { 44, -32, -216, 8, 22, 0 }, + { 44, -33, -217, 8, 22, 0 }, { 44, -34, -217, 8, 22, 0 }, { 45, -35, -218, 8, 22, 0 }, { 45, -36, -218, 8, 22, 0 }, { 45, -37, -219, 8, 22, 0 }, + { 45, -38, -219, 8, 22, 0 }, { 45, -39, -220, 8, 22, 0 }, { 45, -40, -220, 8, 22, 0 }, { 45, -41, -221, 8, 22, 0 }, { 45, -42, -221, 8, 22, 0 }, + { 45, -43, -222, 8, 22, 0 }, { 45, -44, -222, 8, 22, 0 }, { 46, -45, -223, 8, 22, 0 }, { 46, -46, -223, 8, 22, 0 }, { 46, -47, -224, 8, 22, 0 }, + { 46, -48, -224, 8, 22, 0 }, { 46, -49, -225, 8, 22, 0 }, { 46, -50, -225, 8, 22, 0 }, { 46, -51, -226, 8, 22, 0 }, { 46, -52, -226, 8, 22, 0 }, + { 46, -53, -227, 8, 22, 0 }, { 46, -54, -227, 8, 22, 0 }, { 47, -55, -228, 8, 22, 0 }, { 47, -56, -228, 8, 22, 0 }, { 47, -57, -229, 8, 22, 0 }, + { 47, -58, -229, 8, 22, 0 }, { 47, -59, -230, 8, 22, 0 }, { 47, -60, -230, 8, 22, 0 }, { 47, -61, -231, 8, 22, 0 }, { 47, -62, -231, 8, 22, 0 }, + { 47, -63, -232, 8, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown2, { + { 0, 16, 32, 16, 0, 0 }, { 1, 16, 32, 16, 0, 0 }, { 2, 16, 32, 16, 0, 0 }, { 3, 16, 32, 16, 0, 0 }, { 4, 16, 32, 16, 0, 0 }, + { 5, 16, 32, 16, 0, 0 }, { 6, 16, 32, 16, 0, 0 }, { 7, 16, 32, 16, 0, 0 }, { 8, 16, 31, 16, 0, 0 }, { 9, 16, 31, 16, 0, 0 }, + { 10, 15, 31, 16, 0, 0 }, { 11, 15, 31, 16, 0, 0 }, { 12, 15, 30, 16, 0, 0 }, { 13, 15, 30, 16, 0, 0 }, { 14, 15, 30, 16, 0, 0 }, + { 15, 15, 29, 16, 5, 0 }, { 16, 15, 29, 16, 5, 0 }, { 17, 15, 28, 16, 5, 0 }, { 18, 15, 28, 16, 5, 0 }, { 19, 15, 27, 16, 5, 0 }, + { 20, 14, 27, 16, 5, 0 }, { 21, 14, 26, 16, 5, 0 }, { 22, 14, 26, 16, 5, 0 }, { 23, 14, 25, 16, 5, 0 }, { 24, 14, 24, 16, 5, 0 }, + { 25, 14, 24, 16, 5, 0 }, { 26, 14, 23, 16, 5, 0 }, { 27, 14, 22, 16, 5, 0 }, { 28, 14, 21, 16, 5, 0 }, { 29, 14, 21, 16, 5, 0 }, + { 30, 13, 20, 16, 6, 0 }, { 31, 13, 19, 16, 6, 0 }, { 32, 13, 18, 16, 6, 0 }, { 33, 13, 17, 16, 6, 0 }, { 34, 13, 16, 16, 6, 0 }, + { 35, 13, 15, 16, 6, 0 }, { 36, 13, 14, 16, 6, 0 }, { 37, 13, 13, 16, 6, 0 }, { 38, 13, 12, 16, 6, 0 }, { 39, 12, 11, 16, 6, 0 }, + { 40, 12, 10, 16, 6, 0 }, { 40, 12, 9, 16, 6, 0 }, { 41, 12, 8, 16, 6, 0 }, { 42, 12, 7, 16, 7, 0 }, { 43, 12, 6, 16, 7, 0 }, + { 43, 12, 5, 16, 7, 0 }, { 44, 12, 4, 16, 7, 0 }, { 45, 12, 3, 16, 7, 0 }, { 45, 12, 2, 16, 7, 0 }, { 46, 11, 1, 16, 7, 0 }, + { 47, 11, 0, 16, 7, 0 }, { 47, 11, -1, 16, 7, 0 }, { 48, 11, -2, 16, 7, 0 }, { 48, 11, -3, 16, 7, 0 }, { 49, 11, -4, 16, 7, 0 }, + { 49, 11, -5, 16, 7, 0 }, { 50, 11, -6, 16, 7, 0 }, { 50, 11, -7, 16, 7, 0 }, { 51, 11, -8, 16, 8, 0 }, { 51, 10, -9, 16, 8, 0 }, + { 52, 10, -10, 16, 8, 0 }, { 52, 10, -11, 16, 8, 0 }, { 53, 10, -12, 16, 8, 0 }, { 53, 10, -13, 16, 8, 0 }, { 53, 10, -14, 16, 8, 0 }, + { 54, 10, -15, 16, 8, 0 }, { 54, 10, -16, 16, 8, 0 }, { 54, 10, -17, 16, 8, 0 }, { 55, 10, -18, 16, 8, 0 }, { 55, 9, -19, 16, 8, 0 }, + { 56, 9, -20, 16, 8, 0 }, { 56, 9, -21, 16, 8, 0 }, { 56, 9, -22, 16, 8, 0 }, { 57, 9, -23, 16, 17, 0 }, { 57, 9, -24, 16, 17, 0 }, + { 57, 9, -25, 16, 17, 0 }, { 57, 9, -26, 16, 17, 0 }, { 58, 9, -27, 16, 17, 0 }, { 58, 8, -28, 16, 17, 0 }, { 58, 8, -29, 16, 17, 0 }, + { 58, 8, -30, 16, 17, 0 }, { 59, 8, -31, 16, 17, 0 }, { 59, 8, -32, 16, 17, 0 }, { 59, 8, -33, 16, 17, 0 }, { 59, 8, -34, 16, 17, 0 }, + { 59, 8, -35, 16, 17, 0 }, { 59, 8, -36, 16, 17, 0 }, { 60, 8, -37, 16, 17, 0 }, { 60, 7, -38, 16, 17, 0 }, { 60, 7, -39, 16, 17, 0 }, + { 60, 7, -40, 16, 17, 0 }, { 60, 7, -41, 16, 17, 0 }, { 60, 7, -42, 16, 17, 0 }, { 60, 7, -43, 16, 17, 0 }, { 60, 7, -44, 16, 17, 0 }, + { 61, 7, -45, 16, 17, 0 }, { 61, 7, -46, 16, 17, 0 }, { 61, 7, -47, 16, 18, 0 }, { 61, 6, -48, 16, 18, 0 }, { 61, 6, -49, 16, 18, 0 }, + { 61, 6, -50, 16, 18, 0 }, { 61, 6, -51, 16, 18, 0 }, { 61, 6, -52, 16, 18, 0 }, { 61, 6, -53, 16, 18, 0 }, { 61, 6, -54, 16, 18, 0 }, + { 61, 6, -55, 16, 18, 0 }, { 61, 6, -56, 16, 18, 0 }, { 61, 5, -57, 16, 18, 0 }, { 61, 5, -58, 16, 18, 0 }, { 61, 5, -59, 16, 18, 0 }, + { 61, 5, -60, 16, 18, 0 }, { 61, 5, -61, 16, 18, 0 }, { 61, 5, -62, 16, 18, 0 }, { 61, 5, -63, 16, 18, 0 }, { 61, 5, -64, 16, 18, 0 }, + { 61, 5, -65, 16, 18, 0 }, { 61, 5, -66, 16, 18, 0 }, { 61, 4, -67, 16, 18, 0 }, { 61, 4, -68, 16, 18, 0 }, { 61, 4, -69, 16, 18, 0 }, + { 61, 4, -70, 16, 18, 0 }, { 61, 4, -71, 16, 18, 0 }, { 61, 4, -72, 16, 18, 0 }, { 61, 4, -73, 16, 18, 0 }, { 61, 4, -74, 16, 18, 0 }, + { 61, 4, -75, 16, 18, 0 }, { 61, 4, -76, 16, 18, 0 }, { 61, 3, -77, 16, 18, 0 }, { 61, 3, -78, 16, 18, 0 }, { 61, 3, -79, 16, 18, 0 }, + { 61, 3, -80, 16, 18, 0 }, { 61, 3, -81, 16, 18, 0 }, { 61, 3, -82, 16, 18, 0 }, { 61, 3, -83, 16, 18, 0 }, { 61, 3, -84, 16, 19, 0 }, + { 61, 3, -85, 16, 19, 0 }, { 60, 3, -86, 16, 19, 0 }, { 60, 2, -87, 16, 19, 0 }, { 60, 2, -88, 16, 19, 0 }, { 60, 2, -89, 16, 19, 0 }, + { 60, 2, -90, 16, 19, 0 }, { 60, 2, -91, 16, 19, 0 }, { 59, 2, -92, 16, 19, 0 }, { 59, 2, -93, 16, 19, 0 }, { 59, 2, -94, 16, 19, 0 }, + { 59, 2, -95, 16, 19, 0 }, { 59, 1, -96, 16, 19, 0 }, { 59, 1, -97, 16, 19, 0 }, { 58, 1, -98, 16, 19, 0 }, { 58, 1, -99, 16, 19, 0 }, + { 58, 1, -100, 16, 19, 0 }, { 58, 1, -101, 16, 19, 0 }, { 58, 1, -102, 16, 19, 0 }, { 57, 1, -103, 16, 19, 0 }, { 57, 1, -104, 16, 19, 0 }, + { 57, 1, -105, 16, 19, 0 }, { 57, 0, -106, 16, 19, 0 }, { 56, 0, -107, 16, 19, 0 }, { 56, 0, -108, 16, 19, 0 }, { 56, 0, -109, 16, 19, 0 }, + { 55, 0, -110, 16, 19, 0 }, { 55, 0, -111, 16, 19, 0 }, { 55, 0, -112, 16, 19, 0 }, { 54, 0, -113, 16, 19, 0 }, { 54, 0, -114, 16, 19, 0 }, + { 54, 0, -115, 16, 19, 0 }, { 54, -1, -116, 16, 19, 0 }, { 53, -1, -117, 16, 20, 0 }, { 53, -1, -118, 16, 20, 0 }, { 53, -1, -119, 16, 20, 0 }, + { 52, -1, -120, 16, 20, 0 }, { 52, -1, -121, 16, 20, 0 }, { 51, -1, -122, 16, 20, 0 }, { 51, -1, -123, 16, 20, 0 }, { 50, -1, -124, 16, 20, 0 }, + { 50, -2, -125, 16, 20, 0 }, { 50, -2, -126, 16, 20, 0 }, { 49, -2, -127, 16, 20, 0 }, { 49, -2, -128, 16, 20, 0 }, { 48, -2, -129, 16, 20, 0 }, + { 48, -2, -130, 16, 20, 0 }, { 48, -2, -131, 16, 20, 0 }, { 47, -2, -132, 16, 20, 0 }, { 47, -2, -133, 16, 20, 0 }, { 46, -2, -134, 16, 20, 0 }, + { 46, -3, -135, 16, 20, 0 }, { 45, -3, -136, 16, 20, 0 }, { 45, -3, -137, 16, 20, 0 }, { 45, -3, -138, 16, 20, 0 }, { 44, -3, -139, 16, 20, 0 }, + { 44, -3, -140, 16, 20, 0 }, { 43, -3, -141, 16, 20, 0 }, { 43, -3, -142, 16, 20, 0 }, { 42, -3, -143, 16, 20, 0 }, { 42, -3, -144, 16, 20, 0 }, + { 41, -4, -145, 16, 20, 0 }, { 41, -4, -146, 16, 20, 0 }, { 40, -4, -147, 16, 20, 0 }, { 39, -4, -148, 16, 20, 0 }, { 39, -4, -149, 16, 20, 0 }, + { 38, -4, -150, 16, 20, 0 }, { 38, -4, -151, 16, 20, 0 }, { 37, -4, -152, 16, 20, 0 }, { 36, -4, -153, 16, 21, 0 }, { 36, -4, -154, 16, 21, 0 }, + { 35, -5, -155, 16, 21, 0 }, { 35, -5, -156, 16, 21, 0 }, { 34, -5, -157, 16, 21, 0 }, { 33, -5, -158, 16, 21, 0 }, { 33, -5, -159, 16, 21, 0 }, + { 32, -5, -160, 16, 21, 0 }, { 31, -5, -161, 16, 21, 0 }, { 31, -5, -162, 16, 21, 0 }, { 30, -5, -163, 16, 21, 0 }, { 29, -6, -164, 16, 21, 0 }, + { 28, -6, -165, 16, 21, 0 }, { 28, -6, -166, 16, 21, 0 }, { 27, -6, -167, 16, 21, 0 }, { 26, -6, -168, 16, 21, 0 }, { 26, -6, -169, 16, 21, 0 }, + { 25, -6, -170, 16, 21, 0 }, { 24, -6, -171, 16, 21, 0 }, { 24, -6, -172, 16, 21, 0 }, { 23, -6, -173, 16, 21, 0 }, { 22, -7, -174, 16, 21, 0 }, + { 21, -7, -175, 16, 21, 0 }, { 20, -7, -176, 16, 21, 0 }, { 19, -7, -177, 16, 21, 0 }, { 18, -7, -178, 16, 21, 0 }, { 17, -7, -179, 16, 21, 0 }, + { 17, -7, -180, 16, 21, 0 }, { 16, -7, -181, 16, 21, 0 }, { 15, -7, -182, 16, 21, 0 }, { 14, -7, -183, 16, 21, 0 }, { 13, -8, -184, 16, 21, 0 }, + { 12, -8, -185, 16, 21, 0 }, { 11, -8, -186, 16, 21, 0 }, { 10, -8, -187, 16, 21, 0 }, { 9, -8, -188, 16, 21, 0 }, { 8, -8, -189, 16, 21, 0 }, + { 7, -8, -190, 16, 21, 0 }, { 6, -8, -190, 16, 21, 0 }, { 5, -8, -191, 16, 21, 0 }, { 4, -9, -192, 16, 21, 0 }, { 3, -9, -193, 16, 21, 0 }, + { 2, -9, -194, 16, 21, 0 }, { 1, -9, -195, 16, 21, 0 }, { 0, -9, -196, 16, 21, 0 }, { -1, -9, -196, 16, 21, 0 }, { -2, -9, -197, 16, 21, 0 }, + { -3, -9, -198, 16, 22, 0 }, { -4, -9, -199, 16, 22, 0 }, { -5, -9, -199, 16, 22, 0 }, { -6, -10, -200, 16, 22, 0 }, { -7, -10, -201, 16, 22, 0 }, + { -8, -10, -202, 16, 22, 0 }, { -9, -10, -202, 16, 22, 0 }, { -10, -10, -203, 16, 22, 0 }, { -11, -10, -204, 16, 22, 0 }, { -12, -10, -205, 16, 22, 0 }, + { -13, -10, -205, 16, 22, 0 }, { -14, -10, -206, 16, 22, 0 }, { -15, -10, -207, 16, 22, 0 }, { -16, -11, -207, 16, 22, 0 }, { -17, -11, -208, 16, 22, 0 }, + { -18, -11, -208, 16, 22, 0 }, { -19, -11, -209, 16, 22, 0 }, { -20, -11, -210, 16, 22, 0 }, { -21, -11, -210, 16, 22, 0 }, { -22, -11, -211, 16, 22, 0 }, + { -23, -11, -211, 16, 22, 0 }, { -24, -11, -212, 16, 22, 0 }, { -25, -11, -213, 16, 22, 0 }, { -26, -12, -213, 16, 22, 0 }, { -27, -12, -214, 16, 22, 0 }, + { -28, -12, -214, 16, 22, 0 }, { -29, -12, -215, 16, 22, 0 }, { -30, -12, -215, 16, 22, 0 }, { -31, -12, -216, 16, 22, 0 }, { -32, -12, -216, 16, 22, 0 }, + { -33, -12, -217, 16, 22, 0 }, { -34, -12, -217, 16, 22, 0 }, { -35, -13, -218, 16, 22, 0 }, { -36, -13, -218, 16, 22, 0 }, { -37, -13, -219, 16, 22, 0 }, + { -38, -13, -219, 16, 22, 0 }, { -39, -13, -220, 16, 22, 0 }, { -40, -13, -220, 16, 22, 0 }, { -41, -13, -221, 16, 22, 0 }, { -42, -13, -221, 16, 22, 0 }, + { -43, -13, -222, 16, 22, 0 }, { -44, -13, -222, 16, 22, 0 }, { -45, -14, -223, 16, 22, 0 }, { -46, -14, -223, 16, 22, 0 }, { -47, -14, -224, 16, 22, 0 }, + { -48, -14, -224, 16, 22, 0 }, { -49, -14, -225, 16, 22, 0 }, { -50, -14, -225, 16, 22, 0 }, { -51, -14, -226, 16, 22, 0 }, { -52, -14, -226, 16, 22, 0 }, + { -53, -14, -227, 16, 22, 0 }, { -54, -14, -227, 16, 22, 0 }, { -55, -15, -228, 16, 22, 0 }, { -56, -15, -228, 16, 22, 0 }, { -57, -15, -229, 16, 22, 0 }, + { -58, -15, -229, 16, 22, 0 }, { -59, -15, -230, 16, 22, 0 }, { -60, -15, -230, 16, 22, 0 }, { -61, -15, -231, 16, 22, 0 }, { -62, -15, -231, 16, 22, 0 }, + { -63, -15, -232, 16, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown3, { + { 16, 31, 32, 24, 0, 0 }, { 16, 30, 32, 24, 0, 0 }, { 16, 29, 32, 24, 0, 0 }, { 16, 28, 32, 24, 0, 0 }, { 16, 27, 32, 24, 0, 0 }, + { 16, 26, 32, 24, 0, 0 }, { 16, 25, 32, 24, 0, 0 }, { 16, 24, 32, 24, 0, 0 }, { 16, 23, 31, 24, 0, 0 }, { 16, 22, 31, 24, 0, 0 }, + { 15, 21, 31, 24, 0, 0 }, { 15, 20, 31, 24, 0, 0 }, { 15, 19, 30, 24, 0, 0 }, { 15, 18, 30, 24, 0, 0 }, { 15, 17, 30, 24, 0, 0 }, + { 15, 16, 29, 24, 5, 0 }, { 15, 15, 29, 24, 5, 0 }, { 15, 14, 28, 24, 5, 0 }, { 15, 13, 28, 24, 5, 0 }, { 15, 12, 27, 24, 5, 0 }, + { 14, 11, 27, 24, 5, 0 }, { 14, 10, 26, 24, 5, 0 }, { 14, 9, 26, 24, 5, 0 }, { 14, 8, 25, 24, 5, 0 }, { 14, 7, 24, 24, 5, 0 }, + { 14, 6, 24, 24, 5, 0 }, { 14, 5, 23, 24, 5, 0 }, { 14, 4, 22, 24, 5, 0 }, { 14, 3, 21, 24, 5, 0 }, { 14, 2, 21, 24, 5, 0 }, + { 13, 1, 20, 24, 6, 0 }, { 13, 0, 19, 24, 6, 0 }, { 13, -1, 18, 24, 6, 0 }, { 13, -2, 17, 24, 6, 0 }, { 13, -3, 16, 24, 6, 0 }, + { 13, -4, 15, 24, 6, 0 }, { 13, -5, 14, 24, 6, 0 }, { 13, -6, 13, 24, 6, 0 }, { 13, -7, 12, 24, 6, 0 }, { 12, -8, 11, 24, 6, 0 }, + { 12, -9, 10, 24, 6, 0 }, { 12, -9, 9, 24, 6, 0 }, { 12, -10, 8, 24, 6, 0 }, { 12, -11, 7, 24, 7, 0 }, { 12, -12, 6, 24, 7, 0 }, + { 12, -12, 5, 24, 7, 0 }, { 12, -13, 4, 24, 7, 0 }, { 12, -14, 3, 24, 7, 0 }, { 12, -14, 2, 24, 7, 0 }, { 11, -15, 1, 24, 7, 0 }, + { 11, -16, 0, 24, 7, 0 }, { 11, -16, -1, 24, 7, 0 }, { 11, -17, -2, 24, 7, 0 }, { 11, -17, -3, 24, 7, 0 }, { 11, -18, -4, 24, 7, 0 }, + { 11, -18, -5, 24, 7, 0 }, { 11, -19, -6, 24, 7, 0 }, { 11, -19, -7, 24, 7, 0 }, { 11, -20, -8, 24, 8, 0 }, { 10, -20, -9, 24, 8, 0 }, + { 10, -21, -10, 24, 8, 0 }, { 10, -21, -11, 24, 8, 0 }, { 10, -22, -12, 24, 8, 0 }, { 10, -22, -13, 24, 8, 0 }, { 10, -22, -14, 24, 8, 0 }, + { 10, -23, -15, 24, 8, 0 }, { 10, -23, -16, 24, 8, 0 }, { 10, -23, -17, 24, 8, 0 }, { 10, -24, -18, 24, 8, 0 }, { 9, -24, -19, 24, 8, 0 }, + { 9, -25, -20, 24, 8, 0 }, { 9, -25, -21, 24, 8, 0 }, { 9, -25, -22, 24, 8, 0 }, { 9, -26, -23, 24, 17, 0 }, { 9, -26, -24, 24, 17, 0 }, + { 9, -26, -25, 24, 17, 0 }, { 9, -26, -26, 24, 17, 0 }, { 9, -27, -27, 24, 17, 0 }, { 8, -27, -28, 24, 17, 0 }, { 8, -27, -29, 24, 17, 0 }, + { 8, -27, -30, 24, 17, 0 }, { 8, -28, -31, 24, 17, 0 }, { 8, -28, -32, 24, 17, 0 }, { 8, -28, -33, 24, 17, 0 }, { 8, -28, -34, 24, 17, 0 }, + { 8, -28, -35, 24, 17, 0 }, { 8, -28, -36, 24, 17, 0 }, { 8, -29, -37, 24, 17, 0 }, { 7, -29, -38, 24, 17, 0 }, { 7, -29, -39, 24, 17, 0 }, + { 7, -29, -40, 24, 17, 0 }, { 7, -29, -41, 24, 17, 0 }, { 7, -29, -42, 24, 17, 0 }, { 7, -29, -43, 24, 17, 0 }, { 7, -29, -44, 24, 17, 0 }, + { 7, -30, -45, 24, 17, 0 }, { 7, -30, -46, 24, 17, 0 }, { 7, -30, -47, 24, 18, 0 }, { 6, -30, -48, 24, 18, 0 }, { 6, -30, -49, 24, 18, 0 }, + { 6, -30, -50, 24, 18, 0 }, { 6, -30, -51, 24, 18, 0 }, { 6, -30, -52, 24, 18, 0 }, { 6, -30, -53, 24, 18, 0 }, { 6, -30, -54, 24, 18, 0 }, + { 6, -30, -55, 24, 18, 0 }, { 6, -30, -56, 24, 18, 0 }, { 5, -30, -57, 24, 18, 0 }, { 5, -30, -58, 24, 18, 0 }, { 5, -30, -59, 24, 18, 0 }, + { 5, -30, -60, 24, 18, 0 }, { 5, -30, -61, 24, 18, 0 }, { 5, -30, -62, 24, 18, 0 }, { 5, -30, -63, 24, 18, 0 }, { 5, -30, -64, 24, 18, 0 }, + { 5, -30, -65, 24, 18, 0 }, { 5, -30, -66, 24, 18, 0 }, { 4, -30, -67, 24, 18, 0 }, { 4, -30, -68, 24, 18, 0 }, { 4, -30, -69, 24, 18, 0 }, + { 4, -30, -70, 24, 18, 0 }, { 4, -30, -71, 24, 18, 0 }, { 4, -30, -72, 24, 18, 0 }, { 4, -30, -73, 24, 18, 0 }, { 4, -30, -74, 24, 18, 0 }, + { 4, -30, -75, 24, 18, 0 }, { 4, -30, -76, 24, 18, 0 }, { 3, -30, -77, 24, 18, 0 }, { 3, -30, -78, 24, 18, 0 }, { 3, -30, -79, 24, 18, 0 }, + { 3, -30, -80, 24, 18, 0 }, { 3, -30, -81, 24, 18, 0 }, { 3, -30, -82, 24, 18, 0 }, { 3, -30, -83, 24, 18, 0 }, { 3, -30, -84, 24, 19, 0 }, + { 3, -30, -85, 24, 19, 0 }, { 3, -29, -86, 24, 19, 0 }, { 2, -29, -87, 24, 19, 0 }, { 2, -29, -88, 24, 19, 0 }, { 2, -29, -89, 24, 19, 0 }, + { 2, -29, -90, 24, 19, 0 }, { 2, -29, -91, 24, 19, 0 }, { 2, -28, -92, 24, 19, 0 }, { 2, -28, -93, 24, 19, 0 }, { 2, -28, -94, 24, 19, 0 }, + { 2, -28, -95, 24, 19, 0 }, { 1, -28, -96, 24, 19, 0 }, { 1, -28, -97, 24, 19, 0 }, { 1, -27, -98, 24, 19, 0 }, { 1, -27, -99, 24, 19, 0 }, + { 1, -27, -100, 24, 19, 0 }, { 1, -27, -101, 24, 19, 0 }, { 1, -27, -102, 24, 19, 0 }, { 1, -26, -103, 24, 19, 0 }, { 1, -26, -104, 24, 19, 0 }, + { 1, -26, -105, 24, 19, 0 }, { 0, -26, -106, 24, 19, 0 }, { 0, -25, -107, 24, 19, 0 }, { 0, -25, -108, 24, 19, 0 }, { 0, -25, -109, 24, 19, 0 }, + { 0, -24, -110, 24, 19, 0 }, { 0, -24, -111, 24, 19, 0 }, { 0, -24, -112, 24, 19, 0 }, { 0, -23, -113, 24, 19, 0 }, { 0, -23, -114, 24, 19, 0 }, + { 0, -23, -115, 24, 19, 0 }, { -1, -23, -116, 24, 19, 0 }, { -1, -22, -117, 24, 20, 0 }, { -1, -22, -118, 24, 20, 0 }, { -1, -22, -119, 24, 20, 0 }, + { -1, -21, -120, 24, 20, 0 }, { -1, -21, -121, 24, 20, 0 }, { -1, -20, -122, 24, 20, 0 }, { -1, -20, -123, 24, 20, 0 }, { -1, -19, -124, 24, 20, 0 }, + { -2, -19, -125, 24, 20, 0 }, { -2, -19, -126, 24, 20, 0 }, { -2, -18, -127, 24, 20, 0 }, { -2, -18, -128, 24, 20, 0 }, { -2, -17, -129, 24, 20, 0 }, + { -2, -17, -130, 24, 20, 0 }, { -2, -17, -131, 24, 20, 0 }, { -2, -16, -132, 24, 20, 0 }, { -2, -16, -133, 24, 20, 0 }, { -2, -15, -134, 24, 20, 0 }, + { -3, -15, -135, 24, 20, 0 }, { -3, -14, -136, 24, 20, 0 }, { -3, -14, -137, 24, 20, 0 }, { -3, -14, -138, 24, 20, 0 }, { -3, -13, -139, 24, 20, 0 }, + { -3, -13, -140, 24, 20, 0 }, { -3, -12, -141, 24, 20, 0 }, { -3, -12, -142, 24, 20, 0 }, { -3, -11, -143, 24, 20, 0 }, { -3, -11, -144, 24, 20, 0 }, + { -4, -10, -145, 24, 20, 0 }, { -4, -10, -146, 24, 20, 0 }, { -4, -9, -147, 24, 20, 0 }, { -4, -8, -148, 24, 20, 0 }, { -4, -8, -149, 24, 20, 0 }, + { -4, -7, -150, 24, 20, 0 }, { -4, -7, -151, 24, 20, 0 }, { -4, -6, -152, 24, 20, 0 }, { -4, -5, -153, 24, 21, 0 }, { -4, -5, -154, 24, 21, 0 }, + { -5, -4, -155, 24, 21, 0 }, { -5, -4, -156, 24, 21, 0 }, { -5, -3, -157, 24, 21, 0 }, { -5, -2, -158, 24, 21, 0 }, { -5, -2, -159, 24, 21, 0 }, + { -5, -1, -160, 24, 21, 0 }, { -5, 0, -161, 24, 21, 0 }, { -5, 0, -162, 24, 21, 0 }, { -5, 1, -163, 24, 21, 0 }, { -6, 2, -164, 24, 21, 0 }, + { -6, 3, -165, 24, 21, 0 }, { -6, 3, -166, 24, 21, 0 }, { -6, 4, -167, 24, 21, 0 }, { -6, 5, -168, 24, 21, 0 }, { -6, 5, -169, 24, 21, 0 }, + { -6, 6, -170, 24, 21, 0 }, { -6, 7, -171, 24, 21, 0 }, { -6, 7, -172, 24, 21, 0 }, { -6, 8, -173, 24, 21, 0 }, { -7, 9, -174, 24, 21, 0 }, + { -7, 10, -175, 24, 21, 0 }, { -7, 11, -176, 24, 21, 0 }, { -7, 12, -177, 24, 21, 0 }, { -7, 13, -178, 24, 21, 0 }, { -7, 14, -179, 24, 21, 0 }, + { -7, 14, -180, 24, 21, 0 }, { -7, 15, -181, 24, 21, 0 }, { -7, 16, -182, 24, 21, 0 }, { -7, 17, -183, 24, 21, 0 }, { -8, 18, -184, 24, 21, 0 }, + { -8, 19, -185, 24, 21, 0 }, { -8, 20, -186, 24, 21, 0 }, { -8, 21, -187, 24, 21, 0 }, { -8, 22, -188, 24, 21, 0 }, { -8, 23, -189, 24, 21, 0 }, + { -8, 24, -190, 24, 21, 0 }, { -8, 25, -190, 24, 21, 0 }, { -8, 26, -191, 24, 21, 0 }, { -9, 27, -192, 24, 21, 0 }, { -9, 28, -193, 24, 21, 0 }, + { -9, 29, -194, 24, 21, 0 }, { -9, 30, -195, 24, 21, 0 }, { -9, 31, -196, 24, 21, 0 }, { -9, 32, -196, 24, 21, 0 }, { -9, 33, -197, 24, 21, 0 }, + { -9, 34, -198, 24, 22, 0 }, { -9, 35, -199, 24, 22, 0 }, { -9, 36, -199, 24, 22, 0 }, { -10, 37, -200, 24, 22, 0 }, { -10, 38, -201, 24, 22, 0 }, + { -10, 39, -202, 24, 22, 0 }, { -10, 40, -202, 24, 22, 0 }, { -10, 41, -203, 24, 22, 0 }, { -10, 42, -204, 24, 22, 0 }, { -10, 43, -205, 24, 22, 0 }, + { -10, 44, -205, 24, 22, 0 }, { -10, 45, -206, 24, 22, 0 }, { -10, 46, -207, 24, 22, 0 }, { -11, 47, -207, 24, 22, 0 }, { -11, 48, -208, 24, 22, 0 }, + { -11, 49, -208, 24, 22, 0 }, { -11, 50, -209, 24, 22, 0 }, { -11, 51, -210, 24, 22, 0 }, { -11, 52, -210, 24, 22, 0 }, { -11, 53, -211, 24, 22, 0 }, + { -11, 54, -211, 24, 22, 0 }, { -11, 55, -212, 24, 22, 0 }, { -11, 56, -213, 24, 22, 0 }, { -12, 57, -213, 24, 22, 0 }, { -12, 58, -214, 24, 22, 0 }, + { -12, 59, -214, 24, 22, 0 }, { -12, 60, -215, 24, 22, 0 }, { -12, 61, -215, 24, 22, 0 }, { -12, 62, -216, 24, 22, 0 }, { -12, 63, -216, 24, 22, 0 }, + { -12, 64, -217, 24, 22, 0 }, { -12, 65, -217, 24, 22, 0 }, { -13, 66, -218, 24, 22, 0 }, { -13, 67, -218, 24, 22, 0 }, { -13, 68, -219, 24, 22, 0 }, + { -13, 69, -219, 24, 22, 0 }, { -13, 70, -220, 24, 22, 0 }, { -13, 71, -220, 24, 22, 0 }, { -13, 72, -221, 24, 22, 0 }, { -13, 73, -221, 24, 22, 0 }, + { -13, 74, -222, 24, 22, 0 }, { -13, 75, -222, 24, 22, 0 }, { -14, 76, -223, 24, 22, 0 }, { -14, 77, -223, 24, 22, 0 }, { -14, 78, -224, 24, 22, 0 }, + { -14, 79, -224, 24, 22, 0 }, { -14, 80, -225, 24, 22, 0 }, { -14, 81, -225, 24, 22, 0 }, { -14, 82, -226, 24, 22, 0 }, { -14, 83, -226, 24, 22, 0 }, + { -14, 84, -227, 24, 22, 0 }, { -14, 85, -227, 24, 22, 0 }, { -15, 86, -228, 24, 22, 0 }, { -15, 87, -228, 24, 22, 0 }, { -15, 88, -229, 24, 22, 0 }, + { -15, 89, -229, 24, 22, 0 }, { -15, 90, -230, 24, 22, 0 }, { -15, 91, -230, 24, 22, 0 }, { -15, 92, -231, 24, 22, 0 }, { -15, 93, -231, 24, 22, 0 }, + { -15, 94, -232, 24, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_FlyerHalfLoopUninvertedDown0, { + { 31, 16, 32, 0, 0, 0 }, { 30, 16, 32, 0, 0, 0 }, { 29, 16, 32, 0, 0, 0 }, { 28, 16, 32, 0, 0, 0 }, { 27, 16, 32, 0, 0, 0 }, + { 26, 16, 32, 0, 5, 0 }, { 25, 16, 31, 0, 5, 0 }, { 24, 16, 31, 0, 5, 0 }, { 23, 16, 31, 0, 5, 0 }, { 22, 16, 30, 0, 5, 0 }, + { 21, 16, 30, 0, 6, 0 }, { 20, 16, 29, 0, 6, 0 }, { 19, 16, 28, 0, 6, 0 }, { 18, 16, 27, 0, 6, 0 }, { 17, 16, 26, 0, 6, 0 }, + { 16, 16, 26, 0, 7, 0 }, { 15, 16, 25, 0, 7, 0 }, { 14, 16, 24, 0, 7, 0 }, { 13, 16, 23, 0, 7, 0 }, { 12, 16, 20, 0, 7, 0 }, + { 11, 16, 21, 0, 7, 0 }, { 10, 16, 22, 0, 7, 0 }, { 10, 16, 19, 0, 7, 0 }, { 9, 16, 18, 0, 8, 0 }, { 8, 16, 17, 0, 8, 0 }, + { 8, 16, 16, 0, 8, 0 }, { 7, 16, 15, 0, 8, 0 }, { 7, 16, 14, 0, 8, 0 }, { 6, 16, 13, 0, 8, 0 }, { 6, 16, 12, 0, 8, 0 }, + { 6, 16, 11, 0, 8, 0 }, { 5, 16, 10, 0, 8, 0 }, { 5, 16, 9, 0, 17, 0 }, { 4, 16, 8, 0, 17, 0 }, { 4, 16, 7, 0, 17, 0 }, + { 3, 16, 6, 0, 17, 0 }, { 3, 16, 5, 0, 17, 0 }, { 3, 16, 4, 0, 17, 0 }, { 2, 16, 3, 0, 17, 0 }, { 2, 16, 2, 0, 17, 0 }, + { 2, 16, 1, 0, 17, 0 }, { 2, 16, 0, 0, 17, 0 }, { 1, 16, -1, 0, 17, 0 }, { 1, 16, -2, 0, 17, 0 }, { 1, 16, -3, 0, 17, 0 }, + { 1, 16, -4, 0, 17, 0 }, { 1, 16, -5, 0, 18, 0 }, { 0, 16, -6, 0, 18, 0 }, { 0, 16, -7, 0, 18, 0 }, { 0, 16, -8, 0, 18, 0 }, + { 0, 16, -9, 0, 18, 0 }, { 0, 16, -10, 0, 18, 0 }, { 0, 16, -11, 0, 18, 0 }, { 0, 16, -12, 0, 18, 0 }, { 0, 16, -13, 0, 18, 0 }, + { 0, 16, -14, 0, 18, 0 }, { 0, 16, -15, 0, 18, 0 }, { 0, 16, -16, 0, 18, 0 }, { 0, 16, -17, 0, 18, 0 }, { 0, 16, -18, 0, 18, 0 }, + { 0, 16, -19, 0, 18, 0 }, { 0, 16, -22, 0, 18, 0 }, { 0, 16, -21, 0, 18, 0 }, { 0, 16, -20, 0, 18, 0 }, { 0, 16, -23, 0, 18, 0 }, + { 0, 16, -24, 0, 18, 0 }, { 0, 16, -25, 0, 18, 0 }, { 0, 16, -26, 0, 18, 0 }, { 0, 16, -27, 0, 18, 0 }, { 0, 16, -28, 0, 18, 0 }, + { 0, 16, -29, 0, 18, 0 }, { 0, 16, -30, 0, 18, 0 }, { 0, 16, -31, 0, 18, 0 }, { 0, 16, -32, 0, 18, 0 }, { 0, 16, -33, 0, 18, 0 }, + { 1, 16, -34, 0, 18, 0 }, { 1, 16, -35, 0, 18, 0 }, { 1, 16, -36, 0, 18, 0 }, { 1, 16, -37, 0, 18, 0 }, { 1, 16, -38, 0, 19, 0 }, + { 2, 16, -39, 0, 19, 0 }, { 2, 16, -40, 0, 19, 0 }, { 2, 16, -41, 0, 19, 0 }, { 2, 16, -42, 0, 19, 0 }, { 3, 16, -43, 0, 19, 0 }, + { 3, 16, -44, 0, 19, 0 }, { 3, 16, -45, 0, 19, 0 }, { 4, 16, -46, 0, 19, 0 }, { 4, 16, -47, 0, 19, 0 }, { 4, 16, -48, 0, 19, 0 }, + { 5, 16, -49, 0, 19, 0 }, { 5, 16, -50, 0, 19, 0 }, { 5, 16, -51, 0, 19, 0 }, { 6, 16, -52, 0, 19, 0 }, { 6, 16, -53, 0, 19, 0 }, + { 6, 16, -54, 0, 19, 0 }, { 7, 16, -55, 0, 19, 0 }, { 7, 16, -56, 0, 19, 0 }, { 7, 16, -57, 0, 19, 0 }, { 8, 16, -58, 0, 19, 0 }, + { 8, 16, -59, 0, 20, 0 }, { 9, 16, -60, 0, 20, 0 }, { 10, 16, -61, 0, 20, 0 }, { 10, 16, -62, 0, 20, 0 }, { 11, 16, -63, 0, 20, 0 }, + { 12, 16, -64, 0, 20, 0 }, { 12, 16, -65, 0, 20, 0 }, { 13, 16, -66, 0, 20, 0 }, { 13, 16, -67, 0, 20, 0 }, { 14, 16, -68, 0, 20, 0 }, + { 15, 16, -69, 0, 20, 0 }, { 16, 16, -70, 0, 20, 0 }, { 16, 16, -71, 0, 20, 0 }, { 17, 16, -72, 0, 20, 0 }, { 18, 16, -73, 0, 20, 0 }, + { 19, 16, -74, 0, 20, 0 }, { 19, 16, -75, 0, 21, 0 }, { 20, 16, -76, 0, 21, 0 }, { 21, 16, -77, 0, 21, 0 }, { 22, 16, -78, 0, 21, 0 }, + { 23, 16, -79, 0, 21, 0 }, { 24, 16, -80, 0, 21, 0 }, { 25, 16, -81, 0, 21, 0 }, { 26, 16, -82, 0, 21, 0 }, { 27, 16, -83, 0, 21, 0 }, + { 28, 16, -84, 0, 21, 0 }, { 29, 16, -85, 0, 21, 0 }, { 30, 16, -86, 0, 21, 0 }, { 31, 16, -86, 0, 21, 0 }, { 32, 16, -87, 0, 21, 0 }, + { 33, 16, -88, 0, 21, 0 }, { 34, 16, -89, 0, 21, 0 }, { 35, 16, -89, 0, 21, 0 }, { 36, 16, -90, 0, 21, 0 }, { 37, 16, -91, 0, 21, 0 }, + { 38, 16, -92, 0, 21, 0 }, { 39, 16, -93, 0, 21, 0 }, { 40, 16, -93, 0, 21, 0 }, { 41, 16, -94, 0, 21, 0 }, { 42, 16, -94, 0, 22, 0 }, + { 43, 16, -95, 0, 22, 0 }, { 44, 16, -95, 0, 22, 0 }, { 45, 16, -96, 0, 22, 0 }, { 46, 16, -96, 0, 22, 0 }, { 47, 16, -97, 0, 22, 0 }, + { 48, 16, -97, 0, 22, 0 }, { 49, 16, -98, 0, 22, 0 }, { 50, 16, -98, 0, 22, 0 }, { 51, 16, -99, 0, 22, 0 }, { 52, 16, -99, 0, 22, 0 }, + { 53, 16, -100, 0, 22, 0 }, { 54, 16, -100, 0, 22, 0 }, { 55, 16, -101, 0, 22, 0 }, { 56, 16, -101, 0, 22, 0 }, { 57, 16, -101, 0, 22, 0 }, + { 58, 16, -102, 0, 22, 0 }, { 59, 16, -102, 0, 22, 0 }, { 60, 16, -103, 0, 22, 0 }, { 61, 16, -103, 0, 22, 0 }, { 62, 16, -104, 0, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_FlyerHalfLoopUninvertedDown1, { + { 16, 0, 32, 8, 0, 0 }, { 16, 1, 32, 8, 0, 0 }, { 16, 2, 32, 8, 0, 0 }, { 16, 3, 32, 8, 0, 0 }, { 16, 4, 32, 8, 0, 0 }, + { 16, 5, 32, 8, 5, 0 }, { 16, 6, 31, 8, 5, 0 }, { 16, 7, 31, 8, 5, 0 }, { 16, 8, 31, 8, 5, 0 }, { 16, 9, 30, 8, 5, 0 }, + { 16, 10, 30, 8, 6, 0 }, { 16, 11, 29, 8, 6, 0 }, { 16, 12, 28, 8, 6, 0 }, { 16, 13, 27, 8, 6, 0 }, { 16, 14, 26, 8, 6, 0 }, + { 16, 15, 26, 8, 7, 0 }, { 16, 16, 25, 8, 7, 0 }, { 16, 17, 24, 8, 7, 0 }, { 16, 18, 23, 8, 7, 0 }, { 16, 19, 22, 8, 7, 0 }, + { 16, 20, 21, 8, 7, 0 }, { 16, 21, 20, 8, 7, 0 }, { 16, 21, 19, 8, 7, 0 }, { 16, 22, 18, 8, 8, 0 }, { 16, 23, 17, 8, 8, 0 }, + { 16, 23, 16, 8, 8, 0 }, { 16, 24, 15, 8, 8, 0 }, { 16, 24, 14, 8, 8, 0 }, { 16, 25, 13, 8, 8, 0 }, { 16, 25, 12, 8, 8, 0 }, + { 16, 25, 11, 8, 8, 0 }, { 16, 26, 10, 8, 8, 0 }, { 16, 26, 9, 8, 17, 0 }, { 16, 27, 8, 8, 17, 0 }, { 16, 27, 7, 8, 17, 0 }, + { 16, 28, 6, 8, 17, 0 }, { 16, 28, 5, 8, 17, 0 }, { 16, 28, 4, 8, 17, 0 }, { 16, 29, 3, 8, 17, 0 }, { 16, 29, 2, 8, 17, 0 }, + { 16, 29, 1, 8, 17, 0 }, { 16, 29, 0, 8, 17, 0 }, { 16, 30, -1, 8, 17, 0 }, { 16, 30, -2, 8, 17, 0 }, { 16, 30, -3, 8, 17, 0 }, + { 16, 30, -4, 8, 17, 0 }, { 16, 30, -5, 8, 18, 0 }, { 16, 31, -6, 8, 18, 0 }, { 16, 31, -7, 8, 18, 0 }, { 16, 31, -8, 8, 18, 0 }, + { 16, 31, -9, 8, 18, 0 }, { 16, 31, -10, 8, 18, 0 }, { 16, 31, -11, 8, 18, 0 }, { 16, 31, -12, 8, 18, 0 }, { 16, 31, -13, 8, 18, 0 }, + { 16, 31, -14, 8, 18, 0 }, { 16, 31, -15, 8, 18, 0 }, { 16, 31, -16, 8, 18, 0 }, { 16, 31, -17, 8, 18, 0 }, { 16, 31, -18, 8, 18, 0 }, + { 16, 31, -19, 8, 18, 0 }, { 16, 31, -20, 8, 18, 0 }, { 16, 31, -21, 8, 18, 0 }, { 16, 31, -22, 8, 18, 0 }, { 16, 31, -23, 8, 18, 0 }, + { 16, 31, -24, 8, 18, 0 }, { 16, 31, -25, 8, 18, 0 }, { 16, 31, -26, 8, 18, 0 }, { 16, 31, -27, 8, 18, 0 }, { 16, 31, -28, 8, 18, 0 }, + { 16, 31, -29, 8, 18, 0 }, { 16, 31, -30, 8, 18, 0 }, { 16, 31, -31, 8, 18, 0 }, { 16, 31, -32, 8, 18, 0 }, { 16, 31, -33, 8, 18, 0 }, + { 16, 30, -34, 8, 18, 0 }, { 16, 30, -35, 8, 18, 0 }, { 16, 30, -36, 8, 18, 0 }, { 16, 30, -37, 8, 18, 0 }, { 16, 30, -38, 8, 19, 0 }, + { 16, 29, -39, 8, 19, 0 }, { 16, 29, -40, 8, 19, 0 }, { 16, 29, -41, 8, 19, 0 }, { 16, 29, -42, 8, 19, 0 }, { 16, 28, -43, 8, 19, 0 }, + { 16, 28, -44, 8, 19, 0 }, { 16, 28, -45, 8, 19, 0 }, { 16, 27, -46, 8, 19, 0 }, { 16, 27, -47, 8, 19, 0 }, { 16, 27, -48, 8, 19, 0 }, + { 16, 26, -49, 8, 19, 0 }, { 16, 26, -50, 8, 19, 0 }, { 16, 26, -51, 8, 19, 0 }, { 16, 25, -52, 8, 19, 0 }, { 16, 25, -53, 8, 19, 0 }, + { 16, 25, -54, 8, 19, 0 }, { 16, 24, -55, 8, 19, 0 }, { 16, 24, -56, 8, 19, 0 }, { 16, 24, -57, 8, 19, 0 }, { 16, 23, -58, 8, 19, 0 }, + { 16, 23, -59, 8, 20, 0 }, { 16, 22, -60, 8, 20, 0 }, { 16, 21, -61, 8, 20, 0 }, { 16, 21, -62, 8, 20, 0 }, { 16, 20, -63, 8, 20, 0 }, + { 16, 19, -64, 8, 20, 0 }, { 16, 19, -65, 8, 20, 0 }, { 16, 18, -66, 8, 20, 0 }, { 16, 18, -67, 8, 20, 0 }, { 16, 17, -68, 8, 20, 0 }, + { 16, 16, -69, 8, 20, 0 }, { 16, 15, -70, 8, 20, 0 }, { 16, 15, -71, 8, 20, 0 }, { 16, 14, -72, 8, 20, 0 }, { 16, 13, -73, 8, 20, 0 }, + { 16, 12, -74, 8, 20, 0 }, { 16, 12, -75, 8, 21, 0 }, { 16, 11, -76, 8, 21, 0 }, { 16, 10, -77, 8, 21, 0 }, { 16, 9, -78, 8, 21, 0 }, + { 16, 8, -79, 8, 21, 0 }, { 16, 7, -80, 8, 21, 0 }, { 16, 6, -81, 8, 21, 0 }, { 16, 5, -82, 8, 21, 0 }, { 16, 4, -83, 8, 21, 0 }, + { 16, 3, -84, 8, 21, 0 }, { 16, 2, -85, 8, 21, 0 }, { 16, 1, -86, 8, 21, 0 }, { 16, 0, -86, 8, 21, 0 }, { 16, -1, -87, 8, 21, 0 }, + { 16, -2, -88, 8, 21, 0 }, { 16, -3, -89, 8, 21, 0 }, { 16, -4, -89, 8, 21, 0 }, { 16, -5, -90, 8, 21, 0 }, { 16, -6, -91, 8, 21, 0 }, + { 16, -7, -92, 8, 21, 0 }, { 16, -8, -93, 8, 21, 0 }, { 16, -9, -93, 8, 21, 0 }, { 16, -10, -94, 8, 21, 0 }, { 16, -11, -94, 8, 22, 0 }, + { 16, -12, -95, 8, 22, 0 }, { 16, -13, -95, 8, 22, 0 }, { 16, -14, -96, 8, 22, 0 }, { 16, -15, -96, 8, 22, 0 }, { 16, -16, -97, 8, 22, 0 }, + { 16, -17, -97, 8, 22, 0 }, { 16, -18, -98, 8, 22, 0 }, { 16, -19, -98, 8, 22, 0 }, { 16, -20, -99, 8, 22, 0 }, { 16, -21, -99, 8, 22, 0 }, + { 16, -22, -100, 8, 22, 0 }, { 16, -23, -100, 8, 22, 0 }, { 16, -24, -101, 8, 22, 0 }, { 16, -25, -101, 8, 22, 0 }, { 16, -26, -101, 8, 22, 0 }, + { 16, -27, -102, 8, 22, 0 }, { 16, -28, -102, 8, 22, 0 }, { 16, -29, -103, 8, 22, 0 }, { 16, -30, -103, 8, 22, 0 }, { 16, -31, -104, 8, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_FlyerHalfLoopUninvertedDown2, { + { 0, 16, 32, 16, 0, 0 }, { 1, 16, 32, 16, 0, 0 }, { 2, 16, 32, 16, 0, 0 }, { 3, 16, 32, 16, 0, 0 }, { 4, 16, 32, 16, 0, 0 }, + { 5, 16, 32, 16, 5, 0 }, { 6, 16, 31, 16, 5, 0 }, { 7, 16, 31, 16, 5, 0 }, { 8, 16, 31, 16, 5, 0 }, { 9, 16, 30, 16, 5, 0 }, + { 10, 16, 30, 16, 6, 0 }, { 11, 16, 29, 16, 6, 0 }, { 12, 16, 28, 16, 6, 0 }, { 13, 16, 27, 16, 6, 0 }, { 14, 16, 26, 16, 6, 0 }, + { 15, 16, 26, 16, 7, 0 }, { 16, 16, 25, 16, 7, 0 }, { 17, 16, 24, 16, 7, 0 }, { 18, 16, 23, 16, 7, 0 }, { 19, 16, 22, 16, 7, 0 }, + { 20, 16, 21, 16, 7, 0 }, { 21, 16, 20, 16, 7, 0 }, { 21, 16, 19, 16, 7, 0 }, { 22, 16, 18, 16, 8, 0 }, { 23, 16, 17, 16, 8, 0 }, + { 23, 16, 16, 16, 8, 0 }, { 24, 16, 15, 16, 8, 0 }, { 24, 16, 14, 16, 8, 0 }, { 25, 16, 13, 16, 8, 0 }, { 25, 16, 12, 16, 8, 0 }, + { 25, 16, 11, 16, 8, 0 }, { 26, 16, 10, 16, 8, 0 }, { 26, 16, 9, 16, 17, 0 }, { 27, 16, 8, 16, 17, 0 }, { 27, 16, 7, 16, 17, 0 }, + { 28, 16, 6, 16, 17, 0 }, { 28, 16, 5, 16, 17, 0 }, { 28, 16, 4, 16, 17, 0 }, { 29, 16, 3, 16, 17, 0 }, { 29, 16, 2, 16, 17, 0 }, + { 29, 16, 1, 16, 17, 0 }, { 29, 16, 0, 16, 17, 0 }, { 30, 16, -1, 16, 17, 0 }, { 30, 16, -2, 16, 17, 0 }, { 30, 16, -3, 16, 17, 0 }, + { 30, 16, -4, 16, 17, 0 }, { 30, 16, -5, 16, 18, 0 }, { 31, 16, -6, 16, 18, 0 }, { 31, 16, -7, 16, 18, 0 }, { 31, 16, -8, 16, 18, 0 }, + { 31, 16, -9, 16, 18, 0 }, { 31, 16, -10, 16, 18, 0 }, { 31, 16, -11, 16, 18, 0 }, { 31, 16, -12, 16, 18, 0 }, { 31, 16, -13, 16, 18, 0 }, + { 31, 16, -14, 16, 18, 0 }, { 31, 16, -15, 16, 18, 0 }, { 31, 16, -16, 16, 18, 0 }, { 31, 16, -17, 16, 18, 0 }, { 31, 16, -18, 16, 18, 0 }, + { 31, 16, -19, 16, 18, 0 }, { 31, 16, -20, 16, 18, 0 }, { 31, 16, -21, 16, 18, 0 }, { 31, 16, -22, 16, 18, 0 }, { 31, 16, -23, 16, 18, 0 }, + { 31, 16, -24, 16, 18, 0 }, { 31, 16, -25, 16, 18, 0 }, { 31, 16, -26, 16, 18, 0 }, { 31, 16, -27, 16, 18, 0 }, { 31, 16, -28, 16, 18, 0 }, + { 31, 16, -29, 16, 18, 0 }, { 31, 16, -30, 16, 18, 0 }, { 31, 16, -31, 16, 18, 0 }, { 31, 16, -32, 16, 18, 0 }, { 31, 16, -33, 16, 18, 0 }, + { 30, 16, -34, 16, 18, 0 }, { 30, 16, -35, 16, 18, 0 }, { 30, 16, -36, 16, 18, 0 }, { 30, 16, -37, 16, 18, 0 }, { 30, 16, -38, 16, 19, 0 }, + { 29, 16, -39, 16, 19, 0 }, { 29, 16, -40, 16, 19, 0 }, { 29, 16, -41, 16, 19, 0 }, { 29, 16, -42, 16, 19, 0 }, { 28, 16, -43, 16, 19, 0 }, + { 28, 16, -44, 16, 19, 0 }, { 28, 16, -45, 16, 19, 0 }, { 27, 16, -46, 16, 19, 0 }, { 27, 16, -47, 16, 19, 0 }, { 27, 16, -48, 16, 19, 0 }, + { 26, 16, -49, 16, 19, 0 }, { 26, 16, -50, 16, 19, 0 }, { 26, 16, -51, 16, 19, 0 }, { 25, 16, -52, 16, 19, 0 }, { 25, 16, -53, 16, 19, 0 }, + { 25, 16, -54, 16, 19, 0 }, { 24, 16, -55, 16, 19, 0 }, { 24, 16, -56, 16, 19, 0 }, { 24, 16, -57, 16, 19, 0 }, { 23, 16, -58, 16, 19, 0 }, + { 23, 16, -59, 16, 20, 0 }, { 22, 16, -60, 16, 20, 0 }, { 21, 16, -61, 16, 20, 0 }, { 21, 16, -62, 16, 20, 0 }, { 20, 16, -63, 16, 20, 0 }, + { 19, 16, -64, 16, 20, 0 }, { 19, 16, -65, 16, 20, 0 }, { 18, 16, -66, 16, 20, 0 }, { 18, 16, -67, 16, 20, 0 }, { 17, 16, -68, 16, 20, 0 }, + { 16, 16, -69, 16, 20, 0 }, { 15, 16, -70, 16, 20, 0 }, { 15, 16, -71, 16, 20, 0 }, { 14, 16, -72, 16, 20, 0 }, { 13, 16, -73, 16, 20, 0 }, + { 12, 16, -74, 16, 20, 0 }, { 12, 16, -75, 16, 21, 0 }, { 11, 16, -76, 16, 21, 0 }, { 10, 16, -77, 16, 21, 0 }, { 9, 16, -78, 16, 21, 0 }, + { 8, 16, -79, 16, 21, 0 }, { 7, 16, -80, 16, 21, 0 }, { 6, 16, -81, 16, 21, 0 }, { 5, 16, -82, 16, 21, 0 }, { 4, 16, -83, 16, 21, 0 }, + { 3, 16, -84, 16, 21, 0 }, { 2, 16, -85, 16, 21, 0 }, { 1, 16, -86, 16, 21, 0 }, { 0, 16, -86, 16, 21, 0 }, { -1, 16, -87, 16, 21, 0 }, + { -2, 16, -88, 16, 21, 0 }, { -3, 16, -89, 16, 21, 0 }, { -4, 16, -89, 16, 21, 0 }, { -5, 16, -90, 16, 21, 0 }, { -6, 16, -91, 16, 21, 0 }, + { -7, 16, -92, 16, 21, 0 }, { -8, 16, -93, 16, 21, 0 }, { -9, 16, -93, 16, 21, 0 }, { -10, 16, -94, 16, 21, 0 }, { -11, 16, -94, 16, 22, 0 }, + { -12, 16, -95, 16, 22, 0 }, { -13, 16, -95, 16, 22, 0 }, { -14, 16, -96, 16, 22, 0 }, { -15, 16, -96, 16, 22, 0 }, { -16, 16, -97, 16, 22, 0 }, + { -17, 16, -97, 16, 22, 0 }, { -18, 16, -98, 16, 22, 0 }, { -19, 16, -98, 16, 22, 0 }, { -20, 16, -99, 16, 22, 0 }, { -21, 16, -99, 16, 22, 0 }, + { -22, 16, -100, 16, 22, 0 }, { -23, 16, -100, 16, 22, 0 }, { -24, 16, -101, 16, 22, 0 }, { -25, 16, -101, 16, 22, 0 }, { -26, 16, -101, 16, 22, 0 }, + { -27, 16, -102, 16, 22, 0 }, { -28, 16, -102, 16, 22, 0 }, { -29, 16, -103, 16, 22, 0 }, { -30, 16, -103, 16, 22, 0 }, { -31, 16, -104, 16, 22, 0 } +}) + + + +CREATE_VEHICLE_INFO(TrackVehicleInfo_FlyerHalfLoopUninvertedDown3, { + { 16, 31, 32, 24, 0, 0 }, { 16, 30, 32, 24, 0, 0 }, { 16, 29, 32, 24, 0, 0 }, { 16, 28, 32, 24, 0, 0 }, { 16, 27, 32, 24, 0, 0 }, + { 16, 26, 32, 24, 5, 0 }, { 16, 25, 31, 24, 5, 0 }, { 16, 24, 31, 24, 5, 0 }, { 16, 23, 31, 24, 5, 0 }, { 16, 22, 30, 24, 5, 0 }, + { 16, 21, 30, 24, 6, 0 }, { 16, 20, 29, 24, 6, 0 }, { 16, 19, 28, 24, 6, 0 }, { 16, 18, 27, 24, 6, 0 }, { 16, 17, 26, 24, 6, 0 }, + { 16, 16, 26, 24, 7, 0 }, { 16, 15, 25, 24, 7, 0 }, { 16, 14, 24, 24, 7, 0 }, { 16, 13, 23, 24, 7, 0 }, { 16, 12, 22, 24, 7, 0 }, + { 16, 11, 21, 24, 7, 0 }, { 16, 10, 20, 24, 7, 0 }, { 16, 10, 19, 24, 7, 0 }, { 16, 9, 18, 24, 8, 0 }, { 16, 8, 17, 24, 8, 0 }, + { 16, 8, 16, 24, 8, 0 }, { 16, 7, 15, 24, 8, 0 }, { 16, 7, 14, 24, 8, 0 }, { 16, 6, 13, 24, 8, 0 }, { 16, 6, 12, 24, 8, 0 }, + { 16, 6, 11, 24, 8, 0 }, { 16, 5, 10, 24, 8, 0 }, { 16, 5, 9, 24, 17, 0 }, { 16, 4, 8, 24, 17, 0 }, { 16, 4, 7, 24, 17, 0 }, + { 16, 3, 6, 24, 17, 0 }, { 16, 3, 5, 24, 17, 0 }, { 16, 3, 4, 24, 17, 0 }, { 16, 2, 3, 24, 17, 0 }, { 16, 2, 2, 24, 17, 0 }, + { 16, 2, 1, 24, 17, 0 }, { 16, 2, 0, 24, 17, 0 }, { 16, 1, -1, 24, 17, 0 }, { 16, 1, -2, 24, 17, 0 }, { 16, 1, -3, 24, 17, 0 }, + { 16, 1, -4, 24, 17, 0 }, { 16, 1, -5, 24, 18, 0 }, { 16, 0, -6, 24, 18, 0 }, { 16, 0, -7, 24, 18, 0 }, { 16, 0, -8, 24, 18, 0 }, + { 16, 0, -9, 24, 18, 0 }, { 16, 0, -10, 24, 18, 0 }, { 16, 0, -11, 24, 18, 0 }, { 16, 0, -12, 24, 18, 0 }, { 16, 0, -13, 24, 18, 0 }, + { 16, 0, -14, 24, 18, 0 }, { 16, 0, -15, 24, 18, 0 }, { 16, 0, -16, 24, 18, 0 }, { 16, 0, -17, 24, 18, 0 }, { 16, 0, -18, 24, 18, 0 }, + { 16, 0, -19, 24, 18, 0 }, { 16, 0, -20, 24, 18, 0 }, { 16, 0, -21, 24, 18, 0 }, { 16, 0, -22, 24, 18, 0 }, { 16, 0, -23, 24, 18, 0 }, + { 16, 0, -24, 24, 18, 0 }, { 16, 0, -25, 24, 18, 0 }, { 16, 0, -26, 24, 18, 0 }, { 16, 0, -27, 24, 18, 0 }, { 16, 0, -28, 24, 18, 0 }, + { 16, 0, -29, 24, 18, 0 }, { 16, 0, -30, 24, 18, 0 }, { 16, 0, -31, 24, 18, 0 }, { 16, 0, -32, 24, 18, 0 }, { 16, 0, -33, 24, 18, 0 }, + { 16, 1, -34, 24, 18, 0 }, { 16, 1, -35, 24, 18, 0 }, { 16, 1, -36, 24, 18, 0 }, { 16, 1, -37, 24, 18, 0 }, { 16, 1, -38, 24, 19, 0 }, + { 16, 2, -39, 24, 19, 0 }, { 16, 2, -40, 24, 19, 0 }, { 16, 2, -41, 24, 19, 0 }, { 16, 2, -42, 24, 19, 0 }, { 16, 3, -43, 24, 19, 0 }, + { 16, 3, -44, 24, 19, 0 }, { 16, 3, -45, 24, 19, 0 }, { 16, 4, -46, 24, 19, 0 }, { 16, 4, -47, 24, 19, 0 }, { 16, 4, -48, 24, 19, 0 }, + { 16, 5, -49, 24, 19, 0 }, { 16, 5, -50, 24, 19, 0 }, { 16, 5, -51, 24, 19, 0 }, { 16, 6, -52, 24, 19, 0 }, { 16, 6, -53, 24, 19, 0 }, + { 16, 6, -54, 24, 19, 0 }, { 16, 7, -55, 24, 19, 0 }, { 16, 7, -56, 24, 19, 0 }, { 16, 7, -57, 24, 19, 0 }, { 16, 8, -58, 24, 19, 0 }, + { 16, 8, -59, 24, 20, 0 }, { 16, 9, -60, 24, 20, 0 }, { 16, 10, -61, 24, 20, 0 }, { 16, 10, -62, 24, 20, 0 }, { 16, 11, -63, 24, 20, 0 }, + { 16, 12, -64, 24, 20, 0 }, { 16, 12, -65, 24, 20, 0 }, { 16, 13, -66, 24, 20, 0 }, { 16, 13, -67, 24, 20, 0 }, { 16, 14, -68, 24, 20, 0 }, + { 16, 15, -69, 24, 20, 0 }, { 16, 16, -70, 24, 20, 0 }, { 16, 16, -71, 24, 20, 0 }, { 16, 17, -72, 24, 20, 0 }, { 16, 18, -73, 24, 20, 0 }, + { 16, 19, -74, 24, 20, 0 }, { 16, 19, -75, 24, 21, 0 }, { 16, 20, -76, 24, 21, 0 }, { 16, 21, -77, 24, 21, 0 }, { 16, 22, -78, 24, 21, 0 }, + { 16, 23, -79, 24, 21, 0 }, { 16, 24, -80, 24, 21, 0 }, { 16, 25, -81, 24, 21, 0 }, { 16, 26, -82, 24, 21, 0 }, { 16, 27, -83, 24, 21, 0 }, + { 16, 28, -84, 24, 21, 0 }, { 16, 29, -85, 24, 21, 0 }, { 16, 30, -86, 24, 21, 0 }, { 16, 31, -86, 24, 21, 0 }, { 16, 32, -87, 24, 21, 0 }, + { 16, 33, -88, 24, 21, 0 }, { 16, 34, -89, 24, 21, 0 }, { 16, 35, -89, 24, 21, 0 }, { 16, 36, -90, 24, 21, 0 }, { 16, 37, -91, 24, 21, 0 }, + { 16, 38, -92, 24, 21, 0 }, { 16, 39, -93, 24, 21, 0 }, { 16, 40, -93, 24, 21, 0 }, { 16, 41, -94, 24, 21, 0 }, { 16, 42, -94, 24, 22, 0 }, + { 16, 43, -95, 24, 22, 0 }, { 16, 44, -95, 24, 22, 0 }, { 16, 45, -96, 24, 22, 0 }, { 16, 46, -96, 24, 22, 0 }, { 16, 47, -97, 24, 22, 0 }, + { 16, 48, -97, 24, 22, 0 }, { 16, 49, -98, 24, 22, 0 }, { 16, 50, -98, 24, 22, 0 }, { 16, 51, -99, 24, 22, 0 }, { 16, 52, -99, 24, 22, 0 }, + { 16, 53, -100, 24, 22, 0 }, { 16, 54, -100, 24, 22, 0 }, { 16, 55, -101, 24, 22, 0 }, { 16, 56, -101, 24, 22, 0 }, { 16, 57, -101, 24, 22, 0 }, + { 16, 58, -102, 24, 22, 0 }, { 16, 59, -102, 24, 22, 0 }, { 16, 60, -103, 24, 22, 0 }, { 16, 61, -103, 24, 22, 0 }, { 16, 62, -104, 24, 22, 0 } +}) + + + + namespace LeftLane { CREATE_VEHICLE_INFO(TrackVehicleInfoLeftQuarterTurn5Tiles0, { @@ -25034,6 +26273,7 @@ namespace LeftLane }) } + namespace RightLane { CREATE_VEHICLE_INFO(TrackVehicleInfoLeftQuarterTurn5Tiles0, { @@ -26460,8 +27700,8 @@ static constexpr const rct_vehicle_info_list *TrackVehicleInfoListDefault[] = { &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, // RightFlyerTwistUp &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, // LeftFlyerTwistDown &TrackVehicleInfo_8DDFA6, &TrackVehicleInfo_8DE308, &TrackVehicleInfo_8DE66A, &TrackVehicleInfo_8DE9CC, // RightFlyerTwistDown - &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, // FlyerHalfLoopUp - &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, // FlyerHalfLoopDown + &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, // FlyerHalfLoopUninvertedUp + &TrackVehicleInfo_8E91A6, &TrackVehicleInfo_8E9751, &TrackVehicleInfo_8E9CFC, &TrackVehicleInfo_8EA2A7, // FlyerHalfLoopInvertedDown &TrackVehicleInfo_8EA852, &TrackVehicleInfo_8EABBD, &TrackVehicleInfo_8EAF28, &TrackVehicleInfo_8EB293, // LeftFlyerCorkscrewUp &TrackVehicleInfo_8EB5FE, &TrackVehicleInfo_8EB969, &TrackVehicleInfo_8EBCD4, &TrackVehicleInfo_8EC03F, // RightFlyerCorkscrewUp &TrackVehicleInfo_8EDF02, &TrackVehicleInfo_8EE26D, &TrackVehicleInfo_8EE5D8, &TrackVehicleInfo_8EE943, // LeftFlyerCorkscrewDown @@ -26552,6 +27792,16 @@ static constexpr const rct_vehicle_info_list *TrackVehicleInfoListDefault[] = { &TrackVehicleInfoRightLargeZeroGRollUp0, &TrackVehicleInfoRightLargeZeroGRollUp1, &TrackVehicleInfoRightLargeZeroGRollUp2, &TrackVehicleInfoRightLargeZeroGRollUp3, &TrackVehicleInfoLeftLargeZeroGRollDown0, &TrackVehicleInfoLeftLargeZeroGRollDown1, &TrackVehicleInfoLeftLargeZeroGRollDown2, &TrackVehicleInfoLeftLargeZeroGRollDown3, &TrackVehicleInfoRightLargeZeroGRollDown0, &TrackVehicleInfoRightLargeZeroGRollDown1, &TrackVehicleInfoRightLargeZeroGRollDown2, &TrackVehicleInfoRightLargeZeroGRollDown3, + &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, // LeftFlyerLargeHalfLoopUninvertedUp + &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, // RightFlyerLargeHalfLoopUninvertedUp + &TrackVehicleInfo_RightFlyerLargeHalfLoopDown0, &TrackVehicleInfo_RightFlyerLargeHalfLoopDown1, &TrackVehicleInfo_RightFlyerLargeHalfLoopDown2, &TrackVehicleInfo_RightFlyerLargeHalfLoopDown3, // RightFlyerLargeHalfLoopInvertedDown + &TrackVehicleInfo_LeftFlyerLargeHalfLoopDown0, &TrackVehicleInfo_LeftFlyerLargeHalfLoopDown1, &TrackVehicleInfo_LeftFlyerLargeHalfLoopDown2, &TrackVehicleInfo_LeftFlyerLargeHalfLoopDown3, // LeftFlyerLargeHalfLoopInvertedDown + &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, // LeftFlyerLargeHalfLoopInvertedUp + &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, // RightFlyerLargeHalfLoopInvertedUp + &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown0, &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown1, &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown2, &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown3, // RightFlyerLargeHalfLoopUninvertedDown + &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown0, &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown1, &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown2, &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown3, // LeftFlyerLargeHalfLoopUninvertedDown + &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, // FlyerHalfLoopInvertedUp + &TrackVehicleInfo_FlyerHalfLoopUninvertedDown0, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown1, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown2, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown3, // FlyerHalfLoopUninvertedDown }; static_assert(std::size(TrackVehicleInfoListDefault) == VehicleTrackSubpositionSizeDefault); diff --git a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp index 44b29c44fe..4e1df0c7c4 100644 --- a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp @@ -17953,6 +17953,500 @@ static void flying_rc_track_right_banked_25_deg_down_to_flat( flying_rc_track_flat_to_left_banked_25_deg_up(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); } +static void flying_rc_track_90_deg_up( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + { + direction = (direction + 2) & 3; + } + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17526, { 0, 0, height }, { 2, 20, 31 }, + { 4, 6, height + 8 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17527, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17528, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17529, { 0, 0, height }, { 2, 20, 31 }, + { 4, 6, height + 8 }); + break; + } + paint_util_set_vertical_tunnel(session, height + 32); + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 32, 0x20); + break; + case 1: + break; + } +} + +static void flying_rc_track_90_deg_down( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + flying_rc_track_90_deg_up(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void flying_rc_track_60_deg_up_to_90_deg_up( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17518, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17519, { 0, 0, height }, { 2, 20, 55 }, + { 24, 6, height }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17520, { 0, 0, height }, { 2, 20, 55 }, + { 24, 6, height }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17521, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height }); + break; + } + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); + } + paint_util_set_vertical_tunnel(session, height + 56); + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 56, 0x20); + break; + case 1: + break; + } +} + +static void flying_rc_track_90_deg_down_to_60_deg_down( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + flying_rc_track_60_deg_up_to_90_deg_up(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void flying_rc_track_90_deg_up_to_60_deg_up( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17522, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height + 8 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17523, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17524, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17525, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height + 8 }); + break; + } + switch (direction) + { + case 1: + paint_util_push_tunnel_right(session, height + 48, TUNNEL_SQUARE_8); + break; + case 2: + paint_util_push_tunnel_left(session, height + 48, TUNNEL_SQUARE_8); + break; + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 80, 0x20); +} + +static void flying_rc_track_60_deg_down_to_90_deg_down( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17524, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17525, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height + 8 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17522, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height + 8 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 17523, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + } + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height + 48, TUNNEL_SQUARE_8); + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 80, 0x20); + break; + case 1: + break; + } +} + +static void flying_rc_track_90_deg_to_inverted_flat_quarter_loop_up( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18062, { 0, 0, height }, { 2, 20, 31 }, + { 4, 6, height + 8 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18065, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18068, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18071, { 0, 0, height }, { 2, 20, 31 }, + { 4, 6, height + 8 }); + break; + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 88, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18063, { 0, 0, height }, { 2, 20, 31 }, + { -8, 6, height }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18066, { 0, 0, height }, { 2, 20, 63 }, + { 24, 6, height + 8 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18069, { 0, 0, height }, { 2, 20, 63 }, + { 24, 6, height + 8 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18072, { 0, 0, height }, { 2, 20, 31 }, + { -8, 6, height }); + break; + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 64, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18064, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height + 24 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18067, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18070, { 0, 0, height }, { 2, 20, 31 }, + { 24, 6, height + 8 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 18073, { 0, 0, height }, { 32, 20, 3 }, + { 0, 6, height + 24 }); + break; + } + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_SQUARE_FLAT); + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 48, 0x20); + break; + } +} + +static void flying_rc_track_inverted_flat_to_90_deg_quarter_loop_down( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + flying_rc_track_90_deg_to_inverted_flat_quarter_loop_up(session, ride, 2 - trackSequence, direction, height, trackElement); +} + +static void flying_rc_track_flat_to_60_deg_up_long_base( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + bolliger_mabillard_track_flat_to_60_deg_up_long_base( + session, ride, trackSequence, direction, height, trackElement); +} + +static void flying_rc_track_60_deg_up_to_flat_long_base( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + bolliger_mabillard_track_60_deg_up_to_flat_long_base( + session, ride, trackSequence, direction, height, trackElement); +} + +static void flying_rc_track_60_deg_down_to_flat_long_base( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + bolliger_mabillard_track_flat_to_60_deg_up_long_base( + session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} + +static void flying_rc_track_flat_to_60_deg_down_long_base( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + if (trackElement.IsInverted()) + return; + bolliger_mabillard_track_60_deg_up_to_flat_long_base( + session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); +} +static void flying_rc_track_half_loop_inverted_up( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27451, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27459, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27458, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27466, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + } + + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) + { + case 0: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 62, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 62, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 62, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 62, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); + } + paint_util_set_general_support_height(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27452, { 0, 0, height + 24 }, { 32, 2, 3 }, + { 0, 29, height + 29 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27460, { 0, 14, height + 24 }, { 32, 2, 63 }, + { 0, 29, height + 29 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27457, { 0, 6, height + 24 }, { 32, 2, 3 }, + { 0, 0, height + 29 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27465, { 0, 6, height + 24 }, { 2, 2, 3 }, + { 29, 20, height + 29 }); + break; + } + paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 88, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27453, { 16, 0, height - 3 }, { 5, 2, 119 }, + { 16, 29, height + 2 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27461, { 12, 0, height - 3 }, { 32, 2, 119 }, + { 0, -6, height + 2 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27456, { 10, 16, height - 3 }, { 4, 2, 119 }, + { 10, 0, height + 2 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27464, { 16, 16, height - 3 }, { 2, 2, 119 }, + { 29, 29, height + 2 }); + break; + } + paint_util_set_segment_support_height( + session, + paint_util_rotate_segments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 168, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27454, { 0, 0, height + 29 }, { 32, 20, 3 }, + { 0, 6, height + 34 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27462, { 0, 0, height + 29 }, { 2, 2, 3 }, + { 0, 0, height - 6 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27455, { 0, 16, height + 29 }, { 32, 2, 3 }, + { 0, 0, height - 6 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27463, { 0, 16, height + 29 }, { 32, 20, 3 }, + { 0, 6, height + 34 }); + break; + } + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height + 32, TUNNEL_SQUARE_FLAT); + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 64, 0x20); + break; + } +} + +static void flying_rc_track_half_loop_uninverted_down( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + flying_rc_track_half_loop_inverted_up(session, ride, 3 - trackSequence, direction, height, trackElement); +} + TRACK_PAINT_FUNCTION get_track_paint_function_flying_rc(int32_t trackType) { switch (trackType) @@ -18173,9 +18667,9 @@ TRACK_PAINT_FUNCTION get_track_paint_function_flying_rc(int32_t trackType) return flying_rc_track_left_flyer_twist_down; case TrackElemType::RightFlyerTwistDown: return flying_rc_track_right_flyer_twist_down; - case TrackElemType::FlyerHalfLoopUp: + case TrackElemType::FlyerHalfLoopUninvertedUp: return flying_rc_track_flyer_half_loop_up; - case TrackElemType::FlyerHalfLoopDown: + case TrackElemType::FlyerHalfLoopInvertedDown: return flying_rc_track_flyer_half_loop_down; case TrackElemType::BlockBrakes: return flying_rc_track_block_brakes; @@ -18243,8 +18737,46 @@ TRACK_PAINT_FUNCTION get_track_paint_function_flying_rc(int32_t trackType) return flying_rc_track_left_banked_25_deg_down_to_flat; case TrackElemType::RightBankedDown25ToFlat: return flying_rc_track_right_banked_25_deg_down_to_flat; + // OpenRCT2-specific paint code case TrackElemType::Booster: return flying_rc_track_booster; + case TrackElemType::Up60ToUp90: + return flying_rc_track_60_deg_up_to_90_deg_up; + case TrackElemType::Up90: + return flying_rc_track_90_deg_up; + case TrackElemType::Up90ToUp60: + return flying_rc_track_90_deg_up_to_60_deg_up; + case TrackElemType::Down60ToDown90: + return flying_rc_track_60_deg_down_to_90_deg_down; + case TrackElemType::Down90: + return flying_rc_track_90_deg_down; + case TrackElemType::Down90ToDown60: + return flying_rc_track_90_deg_down_to_60_deg_down; + case TrackElemType::MultiDimInvertedFlatToDown90QuarterLoop: + return flying_rc_track_inverted_flat_to_90_deg_quarter_loop_down; + case TrackElemType::MultiDimUp90ToInvertedFlatQuarterLoop: + return flying_rc_track_90_deg_to_inverted_flat_quarter_loop_up; + case TrackElemType::FlatToUp60LongBase: + return flying_rc_track_flat_to_60_deg_up_long_base; + case TrackElemType::Up60ToFlatLongBase: + return flying_rc_track_60_deg_up_to_flat_long_base; + case TrackElemType::FlatToDown60LongBase: + return flying_rc_track_flat_to_60_deg_down_long_base; + case TrackElemType::Down60ToFlatLongBase: + return flying_rc_track_60_deg_down_to_flat_long_base; + // OpenRCT2-specific track elements + case TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp: + return bolliger_mabillard_track_left_large_half_loop_up; + case TrackElemType::RightFlyerLargeHalfLoopUninvertedUp: + return bolliger_mabillard_track_right_large_half_loop_up; + case TrackElemType::RightFlyerLargeHalfLoopInvertedDown: + return bolliger_mabillard_track_right_large_half_loop_down; + case TrackElemType::LeftFlyerLargeHalfLoopInvertedDown: + return bolliger_mabillard_track_left_large_half_loop_down; + case TrackElemType::FlyerHalfLoopInvertedUp: + return flying_rc_track_half_loop_inverted_up; + case TrackElemType::FlyerHalfLoopUninvertedDown: + return flying_rc_track_half_loop_uninverted_down; } return nullptr; } diff --git a/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp b/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp index 6ba6c21bb8..3386e627fa 100644 --- a/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LayDownRollerCoaster.cpp @@ -16096,6 +16096,164 @@ static void lay_down_rc_track_right_quarter_banked_helix_large_down( break; } } +static void lay_down_rc_track_half_loop_inverted_up( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27073, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27081, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27080, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27088, { 0, 6, height + 24 }, { 32, 20, 3 }, + { 0, 6, height + 45 }); + break; + } + + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + switch (direction) + { + case 0: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 6, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 8, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 7, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + metal_a_supports_paint_setup( + session, METAL_SUPPORTS_TUBES_INVERTED, 5, 0, height + 56, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_1); + } + paint_util_set_general_support_height(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27074, { 0, 0, height + 24 }, { 32, 2, 3 }, + { 0, 29, height + 29 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27082, { 0, 14, height + 24 }, { 32, 2, 63 }, + { 0, 29, height + 29 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27079, { 0, 6, height + 24 }, { 32, 2, 3 }, + { 0, 0, height + 29 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27087, { 0, 6, height + 24 }, { 2, 2, 3 }, + { 29, 20, height + 29 }); + break; + } + paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 88, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27075, { 16, 0, height - 3 }, { 5, 2, 119 }, + { 16, 29, height + 2 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27083, { 12, 0, height - 3 }, { 32, 2, 119 }, + { 0, -6, height + 2 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27078, { 10, 16, height - 3 }, { 4, 2, 119 }, + { 10, 0, height + 2 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27086, { 16, 16, height - 3 }, { 2, 2, 119 }, + { 29, 29, height + 2 }); + break; + } + paint_util_set_segment_support_height( + session, + paint_util_rotate_segments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 168, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27076, { 0, 0, height + 29 }, { 32, 20, 3 }, + { 0, 6, height + 34 }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27084, { 0, 0, height + 29 }, { 2, 2, 3 }, + { 0, 0, height - 6 }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27077, { 0, 16, height + 29 }, { 32, 2, 3 }, + { 0, 0, height - 6 }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, session.TrackColours[SCHEME_TRACK] | 27085, { 0, 16, height + 29 }, { 32, 20, 3 }, + { 0, 6, height + 34 }); + break; + } + if (direction == 0 || direction == 3) + { + paint_util_push_tunnel_rotated(session, direction, height + 32, TUNNEL_0); + } + paint_util_set_segment_support_height( + session, paint_util_rotate_segments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + paint_util_set_general_support_height(session, height + 64, 0x20); + break; + } +} + +static void lay_down_rc_track_half_loop_uninverted_down( + paint_session& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) +{ + lay_down_rc_track_half_loop_inverted_up(session, ride, 3 - trackSequence, direction, height, trackElement); +} TRACK_PAINT_FUNCTION get_track_paint_function_lay_down_rc(int32_t trackType) { @@ -16305,9 +16463,9 @@ TRACK_PAINT_FUNCTION get_track_paint_function_lay_down_rc(int32_t trackType) return lay_down_rc_track_left_flyer_twist_down; case TrackElemType::RightFlyerTwistDown: return lay_down_rc_track_right_flyer_twist_down; - case TrackElemType::FlyerHalfLoopUp: + case TrackElemType::FlyerHalfLoopUninvertedUp: return lay_down_rc_track_flyer_half_loop_up; - case TrackElemType::FlyerHalfLoopDown: + case TrackElemType::FlyerHalfLoopInvertedDown: return lay_down_rc_track_flyer_half_loop_down; case TrackElemType::LeftFlyerCorkscrewUp: return lay_down_rc_track_left_flyer_corkscrew_up; @@ -16328,6 +16486,11 @@ TRACK_PAINT_FUNCTION get_track_paint_function_lay_down_rc(int32_t trackType) return lay_down_rc_track_left_quarter_banked_helix_large_down; case TrackElemType::RightQuarterBankedHelixLargeDown: return lay_down_rc_track_right_quarter_banked_helix_large_down; + + case TrackElemType::FlyerHalfLoopInvertedUp: + return lay_down_rc_track_half_loop_inverted_up; + case TrackElemType::FlyerHalfLoopUninvertedDown: + return lay_down_rc_track_half_loop_uninverted_down; } return nullptr; } diff --git a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h index c8681c2d69..8047022033 100644 --- a/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/FlyingRollerCoaster.h @@ -20,8 +20,8 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_FLYING_ROLLER_COASTER_ALT), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_UNINVERTED, TRACK_HALF_LOOP_UNINVERTED}), - SET_FIELD(ExtraTrackPieces, {TRACK_BOOSTER}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_UNINVERTED, TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_UP, TRACK_SLOPE_VERTICAL}), + SET_FIELD(ExtraTrackPieces, {TRACK_BOOSTER, TRACK_SLOPE_STEEP_LONG, TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_flying_rc), @@ -62,8 +62,8 @@ constexpr const RideTypeDescriptor FlyingRollerCoasterAltRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_NONE), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_INVERTED, TRACK_HALF_LOOP_INVERTED}), - SET_FIELD(ExtraTrackPieces, {}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_INLINE_TWIST_INVERTED, TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_QUARTER_LOOP_INVERTED_DOWN, TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_DOWN}), + SET_FIELD(ExtraTrackPieces, {TRACK_FLYING_HALF_LOOP_INVERTED_UP}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, nullptr), diff --git a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h index 42895a353b..acab2bb43d 100644 --- a/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/LayDownRollerCoaster.h @@ -19,8 +19,8 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED, TRACK_HALF_LOOP_UNINVERTED, TRACK_CORKSCREW_UNINVERTED}), - SET_FIELD(ExtraTrackPieces, {}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_VERTICAL_LOOP, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED, TRACK_FLYING_HALF_LOOP_UNINVERTED_UP, TRACK_CORKSCREW_UNINVERTED}), + SET_FIELD(ExtraTrackPieces, {TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, get_track_paint_function_lay_down_rc), @@ -59,8 +59,8 @@ constexpr const RideTypeDescriptor LayDownRollerCoasterAltRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_NONE), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_HALF_LOOP_INVERTED, TRACK_CORKSCREW_INVERTED}), - SET_FIELD(ExtraTrackPieces, {}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_LARGE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_FLYING_HALF_LOOP_INVERTED_DOWN, TRACK_CORKSCREW_INVERTED}), + SET_FIELD(ExtraTrackPieces, {TRACK_FLYING_HALF_LOOP_INVERTED_UP}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), SET_FIELD(TrackPaintFunction, nullptr), diff --git a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h index d7adcd9783..ddfed1da1d 100644 --- a/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/MultiDimensionRollerCoaster.h @@ -19,7 +19,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED, TRACK_QUARTER_LOOP_UNINVERTED}), + SET_FIELD(EnabledTrackPieces, { TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_UNINVERTED,TRACK_QUARTER_LOOP_UNINVERTED_UP, TRACK_QUARTER_LOOP_UNINVERTED_DOWN}), SET_FIELD(ExtraTrackPieces, {}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), @@ -60,7 +60,7 @@ constexpr const RideTypeDescriptor MultiDimensionRollerCoasterAltRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_NONE), - SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_QUARTER_LOOP_INVERTED}), + SET_FIELD(EnabledTrackPieces, {TRACK_STRAIGHT, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BLOCK_BRAKES, TRACK_INLINE_TWIST_INVERTED, TRACK_QUARTER_LOOP_INVERTED_UP, TRACK_QUARTER_LOOP_INVERTED_DOWN}), SET_FIELD(ExtraTrackPieces, {}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation),