From 92764c2e3223b1af4bd8d8bc01898b3532e32a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Severin=20Paul=20H=C3=B6fer?= <84280965+zzril@users.noreply.github.com> Date: Sun, 2 Jul 2023 18:31:52 +0200 Subject: [PATCH] Fix naming inconsistencies and minor bugs concerning half loop elements (#20408) * Rename large half loops in TrackElemType namespace * Fix large half loop positions in DropdownOrder * Fix comments for medium loops * Fix medium half loop order in gTrackCurveChain Wrong piece was auto-suggested when building backwards. * Swap names of painting functions * Rename TrackElemType for Flying Coaster * Swap names of Flying Coaster painting functions * Swap Flying Coaster VehicleSubpositionData names * Swap FlyingCoaster TrackBlock names * Fix Flying Coaster track elem flags and comments * Fix ZeroGRoll comments in TrackData.cpp * Update changelog.txt * Bump network version --- distribution/changelog.txt | 9 +- src/openrct2-ui/ride/Construction.h | 4 +- src/openrct2/network/NetworkBase.cpp | 2 +- src/openrct2/ride/Track.h | 12 +- src/openrct2/ride/TrackData.cpp | 193 +++++++++--------- src/openrct2/ride/VehicleSubpositionData.cpp | 40 ++-- .../ride/coaster/BolligerMabillardTrack.hpp | 8 +- .../ride/coaster/FlyingRollerCoaster.cpp | 8 +- .../ride/coaster/InvertedRollerCoaster.cpp | 8 +- .../ride/coaster/LimLaunchedRollerCoaster.cpp | 8 +- .../ride/coaster/SingleRailRollerCoaster.cpp | 8 +- 11 files changed, 151 insertions(+), 149 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 7e61026db1..266d0d9f9b 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -6,7 +6,8 @@ - Improved: [#20393, #20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. - Change: [#20110] Fix a few RCT1 build height parity discrepancies. - Fix: [#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience. -- Fix: [#9534] Screams no longer cut-off on steep diagonal drops +- Fix: [#9534] Screams no longer cut-off on steep diagonal drops. +- Fix: [#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards. - Fix: [#19823] Parkobj: disallow overriding objects of different object types. - Fix: [#19878] Unresearched scenery can be placed via prebuilt rides. - Fix: [#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16. @@ -16,12 +17,14 @@ - Fix: [#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round. - Fix: [#20260] Ride locks up when inspecting/fixing staff member is fired. - Fix: [#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked. +- Fix: [#20342] Large Half Loop (left) now only appears once in the special elements dropdown. - Fix: [#20361] Crash when using random map generation. +- Fix: [#20364] Adding too much money with cheats causes an overflow. +- Fix: [#20365] Money cheat input does not support negative values. - Fix: [#20413] Crash when attempting to navigate an empty console history. - Fix: [#20417] Plugin/custom windows are missing the left border in the title bar. - Fix: [#20429] Error window tooltip not closing after 8 seconds. -- Fix: [#20364] Adding too much money with cheats causes an overflow. -- Fix: [#20365] Money cheat input does not support negative values. +- Fix: [#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named. 0.4.5 (2023-05-08) ------------------------------------------------------------------------ diff --git a/src/openrct2-ui/ride/Construction.h b/src/openrct2-ui/ride/Construction.h index 6f16cdba3f..1c18a5b1cc 100644 --- a/src/openrct2-ui/ride/Construction.h +++ b/src/openrct2-ui/ride/Construction.h @@ -127,10 +127,10 @@ constexpr std::array DropdownOrder = { TrackElemType::RightLargeZeroGRollDown, TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp, TrackElemType::LeftFlyerLargeHalfLoopInvertedDown, - TrackElemType::RightFlyerLargeHalfLoopUninvertedUp, - TrackElemType::RightFlyerLargeHalfLoopInvertedDown, TrackElemType::LeftFlyerLargeHalfLoopInvertedUp, TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown, + TrackElemType::RightFlyerLargeHalfLoopUninvertedUp, + TrackElemType::RightFlyerLargeHalfLoopInvertedDown, TrackElemType::RightFlyerLargeHalfLoopInvertedUp, TrackElemType::RightFlyerLargeHalfLoopUninvertedDown, }; diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 9c4cce6e21..726615a0f9 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -43,7 +43,7 @@ // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "10" +#define NETWORK_STREAM_VERSION "11" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION diff --git a/src/openrct2/ride/Track.h b/src/openrct2/ride/Track.h index 10bf4452c7..4a2f945986 100644 --- a/src/openrct2/ride/Track.h +++ b/src/openrct2/ride/Track.h @@ -454,8 +454,8 @@ namespace TrackElemType constexpr track_type_t PoweredLift = 182; constexpr track_type_t LeftLargeHalfLoopUp = 183; constexpr track_type_t RightLargeHalfLoopUp = 184; - constexpr track_type_t RightLargeHalfLoopDown = 185; - constexpr track_type_t LeftLargeHalfLoopDown = 186; + constexpr track_type_t LeftLargeHalfLoopDown = 185; + constexpr track_type_t RightLargeHalfLoopDown = 186; constexpr track_type_t LeftFlyerTwistUp = 187; constexpr track_type_t RightFlyerTwistUp = 188; constexpr track_type_t LeftFlyerTwistDown = 189; @@ -574,12 +574,12 @@ namespace TrackElemType 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 LeftFlyerLargeHalfLoopInvertedDown = 285; + constexpr track_type_t RightFlyerLargeHalfLoopInvertedDown = 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 LeftFlyerLargeHalfLoopUninvertedDown = 289; + constexpr track_type_t RightFlyerLargeHalfLoopUninvertedDown = 290; constexpr track_type_t FlyerHalfLoopInvertedUp = 291; constexpr track_type_t FlyerHalfLoopUninvertedDown = 292; diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index e737522fec..a20e47d09e 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -291,24 +291,24 @@ static constexpr TrackCoordinates _trackCoordinates[] = { { 0, 1, 0, -112, -64, 64 }, // TrackElemType::RightCorkscrewDown { 0, 2, 0, 216, -32, -32 }, // TrackElemType::LeftMediumHalfLoopUp { 0, 2, 0, 216, -32, 32 }, // TrackElemType::RightMediumHalfLoopUp - { 0, 2, 0, -216, 32, -32 }, // TrackElemType::RightMediumHalfLoopDown - { 0, 2, 0, -216, 32, 32 }, // TrackElemType::LeftMediumHalfLoopDown + { 0, 2, 0, -216, 32, -32 }, // TrackElemType::LeftMediumHalfLoopDown + { 0, 2, 0, -216, 32, 32 }, // TrackElemType::RightMediumHalfLoopDown { 0, 0, 0, 56, -64, 0 }, // TrackElemType::LeftZeroGRollUp { 0, 0, 0, 56, -64, 0 }, // TrackElemType::RightZeroGRollUp - { 0, 0, 0, -56,-64, 0 }, // TrackElemType::RightZeroGRollDown { 0, 0, 0, -56,-64, 0 }, // TrackElemType::LeftZeroGRollDown + { 0, 0, 0, -56,-64, 0 }, // TrackElemType::RightZeroGRollDown { 0, 0, 0, 152, -96, 0 }, // TrackElemType::LeftLargeZeroGRollUp { 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, 0, 0, -152,-96, 0 }, // TrackElemType::RightLargeZeroGRollDown { 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, -248, 64, -32 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + { 0, 2, 0, -248, 64, 32 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown { 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, -280, 64, -32 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + { 0, 2, 0, -280, 64, 32 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown { 0, 2, 0, 152, -32, 0 }, // TrackElemType::FlyerHalfLoopInvertedUp { 0, 2, 0, -152, 32, 0 }, // TrackElemType::FlyerHalfLoopUninvertedDown { 0, 7, 0, 48, -64, -32 }, // TrackElemType::LeftEighthToDiagUp25 @@ -633,25 +633,25 @@ static constexpr uint8_t TrackSequenceProperties[][MaxSequencesPerPiece] = { { 0 }, // TrackElemType::RightCorkscrewDown { 0 }, // TrackElemType::LeftMediumHalfLoopUp { 0 }, // TrackElemType::RightMediumHalfLoopUp - { 0 }, // TrackElemType::RightMediumHalfLoopDown { 0 }, // TrackElemType::LeftMediumHalfLoopDown + { 0 }, // TrackElemType::RightMediumHalfLoopDown { 0 }, // TrackElemType::LeftZeroGRollUp { 0 }, // TrackElemType::RightZeroGRollUp - { 0 }, // TrackElemType::RightZeroGRollDown { 0 }, // TrackElemType::LeftZeroGRollDown + { 0 }, // TrackElemType::RightZeroGRollDown { 0 }, // TrackElemType::LeftLargeZeroGRollUp { 0 }, // TrackElemType::RightLargeZeroGRollUp - { 0 }, // TrackElemType::RightLargeZeroGRollDown { 0 }, // TrackElemType::LeftLargeZeroGRollDown + { 0 }, // TrackElemType::RightLargeZeroGRollDown /* LeftFlyerLargeHalfLoopUninvertedUp */ { 0 }, /* RightFlyerLargeHalfLoopUninvertedUp */ { 0 }, - /* RightFlyerLargeHalfLoopInvertedDown */ { 0 }, /* LeftFlyerLargeHalfLoopInvertedDown */ { 0 }, + /* RightFlyerLargeHalfLoopInvertedDown */ { 0 }, /* LeftFlyerLargeHalfLoopInvertedUp */ { 0 }, /* RightFlyerLargeHalfLoopInvertedUp */ { 0 }, - /* RightFlyerLargeHalfLoopUninvertedDown */ { 0 }, /* LeftFlyerLargeHalfLoopUninvertedDown */ { 0 }, + /* RightFlyerLargeHalfLoopUninvertedDown */ { 0 }, /* FlyerHalfLoopInvertedUp */ { 0 }, /* FlyerHalfLoopUninvertedUp */ { 0 }, { 0 }, // TrackElemType::LeftEighthToDiagUp25 @@ -2848,6 +2848,27 @@ static constexpr PreviewTrack TrackBlocksRightFlyerLargeHalfLoopUninvertedUp[] = TRACK_BLOCK_END }; +static constexpr PreviewTrack 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 PreviewTrack 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 PreviewTrack TrackBlocksLeftFlyerLargeHalfLoopInvertedUp[] = { { 0, 0, 0, 0, 24, { 0b1111, 0b1100 }, 0 }, @@ -2871,29 +2892,7 @@ static constexpr PreviewTrack TrackBlocksRightFlyerLargeHalfLoopInvertedUp[] = { TRACK_BLOCK_END }; -static constexpr PreviewTrack 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 PreviewTrack 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 PreviewTrack TrackBlocksRightFlyerLargeHalfLoopUninvertedDown[] = { +static constexpr PreviewTrack 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 }, @@ -2904,7 +2903,7 @@ static constexpr PreviewTrack TrackBlocksRightFlyerLargeHalfLoopUninvertedDown[] TRACK_BLOCK_END }; -static constexpr PreviewTrack TrackBlocksLeftFlyerLargeHalfLoopUninvertedDown[] = { +static constexpr PreviewTrack 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 }, @@ -3293,12 +3292,12 @@ static constexpr std::array TrackBloc TrackBlocksLeftFlyerLargeHalfLoopUninvertedUp, // LeftFlyerLargeHalfLoopUninvertedUp TrackBlocksRightFlyerLargeHalfLoopUninvertedUp, // RightFlyerLargeHalfLoopUninvertedUp - TrackBlocksRightFlyerLargeHalfLoopInvertedDown, // RightFlyerLargeHalfLoopInvertedDown TrackBlocksLeftFlyerLargeHalfLoopInvertedDown, // LeftFlyerLargeHalfLoopInvertedDown + TrackBlocksRightFlyerLargeHalfLoopInvertedDown, // RightFlyerLargeHalfLoopInvertedDown TrackBlocksLeftFlyerLargeHalfLoopInvertedUp, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp TrackBlocksRightFlyerLargeHalfLoopInvertedUp, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp - TrackBlocksRightFlyerLargeHalfLoopUninvertedDown, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown TrackBlocksLeftFlyerLargeHalfLoopUninvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + TrackBlocksRightFlyerLargeHalfLoopUninvertedDown, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown TrackBlocksFlyerHalfLoopUpInverted, // TrackElemType::FlyerHalfLoopInvertedUp TrackBlocksFlyerHalfLoopDownUpright, // TrackElemType::FlyerHalfLoopUninvertedDown TrackBlocksLeftEighthToDiagUp25, // TrackElemType::LeftEighthToDiagUp25 @@ -3533,8 +3532,8 @@ static constexpr uint8_t TrackPieceLengths[] = { 32, // TrackElemType::PoweredLift 100, // TrackElemType::LeftLargeHalfLoopUp 100, // TrackElemType::RightLargeHalfLoopUp - 100, // TrackElemType::RightLargeHalfLoopDown 100, // TrackElemType::LeftLargeHalfLoopDown + 100, // TrackElemType::RightLargeHalfLoopDown 96, // TrackElemType::LeftFlyerTwistUp 96, // TrackElemType::RightFlyerTwistUp 96, // TrackElemType::LeftFlyerTwistDown @@ -3621,24 +3620,24 @@ static constexpr uint8_t TrackPieceLengths[] = { 96, // TrackElemType::RightCorkscrewDown 80, // TrackElemType::LeftMediumHalfLoopUp 80, // TrackElemType::RightMediumHalfLoopUp - 80, // TrackElemType::RightMediumHalfLoopDown 80, // TrackElemType::LeftMediumHalfLoopDown + 80, // TrackElemType::RightMediumHalfLoopDown 96, // TrackElemType::LeftZeroGRollUp 96, // TrackElemType::RightZeroGRollUp - 96, // TrackElemType::RightZeroGRollDown 96, // TrackElemType::LeftZeroGRollDown + 96, // TrackElemType::RightZeroGRollDown 165, // TrackElemType::LeftLargeZeroGRollUp 165, // TrackElemType::RightLargeZeroGRollUp - 165, // TrackElemType::RightLargeZeroGRollDown 165, // TrackElemType::LeftLargeZeroGRollDown + 165, // TrackElemType::RightLargeZeroGRollDown 100, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp 100, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp - 100, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown 100, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + 100, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown 100, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp 100, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp - 100, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown 100, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + 100, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown 64, // TrackElemType::FlyerHalfLoopInvertedUp 64, // TrackElemType::FlyerHalfLoopUninvertedDown 64, // TrackElemType::LeftEighthToDiagUp25 @@ -3873,8 +3872,8 @@ static constexpr TrackCurveChain gTrackCurveChain[] = { { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, { RideConstructionSpecialPieceSelected | TrackElemType::PoweredLift, RideConstructionSpecialPieceSelected | TrackElemType::PoweredLift }, - { RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeHalfLoopDown, TRACK_CURVE_NONE }, { RideConstructionSpecialPieceSelected | TrackElemType::RightLargeHalfLoopDown, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeHalfLoopDown, TRACK_CURVE_NONE }, { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightLargeHalfLoopUp }, { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeHalfLoopUp }, { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, @@ -3963,8 +3962,8 @@ static constexpr TrackCurveChain gTrackCurveChain[] = { { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftLargeCorkscrewUp }, // TrackElemType::RightCorkscrewDown { RideConstructionSpecialPieceSelected | TrackElemType::RightMediumHalfLoopDown, TRACK_CURVE_NONE }, // TrackElemType::LeftMediumHalfLoopUp { RideConstructionSpecialPieceSelected | TrackElemType::LeftMediumHalfLoopDown, TRACK_CURVE_NONE }, // TrackElemType::RightMediumHalfLoopUp - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftMediumHalfLoopUp }, // TrackElemType::LeftMediumHalfLoopDown - { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightMediumHalfLoopUp }, // TrackElemType::RightMediumHalfLoopDown + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightMediumHalfLoopUp }, // TrackElemType::LeftMediumHalfLoopDown + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftMediumHalfLoopUp }, // TrackElemType::RightMediumHalfLoopDown { RideConstructionSpecialPieceSelected | TrackElemType::LeftZeroGRollDown, TRACK_CURVE_NONE }, // TrackElemType::LeftZeroGRollUp { RideConstructionSpecialPieceSelected | TrackElemType::RightZeroGRollDown, TRACK_CURVE_NONE }, // TrackElemType::RightZeroGRollUp { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftZeroGRollUp }, // TrackElemType::LeftZeroGRollDown @@ -3973,14 +3972,14 @@ static constexpr TrackCurveChain gTrackCurveChain[] = { { 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 + { RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopInvertedDown, TRACK_CURVE_NONE }, // LeftFlyerLargeHalfLoopUninvertedUp + { RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopInvertedDown, TRACK_CURVE_NONE }, // RightFlyerLargeHalfLoopUninvertedUp + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopUninvertedUp }, // LeftFlyerLargeHalfLoopInvertedDown + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp }, // RightFlyerLargeHalfLoopInvertedDown + { RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopUninvertedDown, TRACK_CURVE_NONE}, // LeftFlyerLargeHalfLoopInvertedUp + { RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown, TRACK_CURVE_NONE }, // RightFlyerLargeHalfLoopInvertedUp + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::RightFlyerLargeHalfLoopInvertedUp }, // LeftFlyerLargeHalfLoopUninvertedDown + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopInvertedUp }, // RightFlyerLargeHalfLoopUninvertedDown { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // FlyerHalfLoopInvertedUp { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // FlyerHalfLoopUninvertedUp { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthToDiagUp25 @@ -4510,8 +4509,8 @@ static constexpr track_type_t AlternativeTrackTypes[] = { TrackElemType::None, // TrackElemType::RightLargeZeroGRollDown TrackElemType::None, // LeftFlyerLargeHalfLoopUninvertedUp TrackElemType::None, // RightFlyerLargeHalfLoopUninvertedUp - TrackElemType::None, // RightFlyerLargeHalfLoopInvertedDown TrackElemType::None, // LeftFlyerLargeHalfLoopInvertedDown + TrackElemType::None, // RightFlyerLargeHalfLoopInvertedDown TrackElemType::None, // FlyerHalfLoopInvertedUp TrackElemType::None, // FlyerHalfLoopUninvertedDown TrackElemType::None, // TrackElemType::LeftEighthToDiagUp25 @@ -4748,8 +4747,8 @@ static constexpr money64 TrackPricing[] = { 96384, // TrackElemType::PoweredLift 884736, // TrackElemType::LeftLargeHalfLoopUp 884736, // TrackElemType::RightLargeHalfLoopUp - 884736, // TrackElemType::RightLargeHalfLoopDown 884736, // TrackElemType::LeftLargeHalfLoopDown + 884736, // TrackElemType::RightLargeHalfLoopDown 221184, // TrackElemType::LeftFlyerTwistUp 221184, // TrackElemType::RightFlyerTwistUp 221184, // TrackElemType::LeftFlyerTwistDown @@ -4848,12 +4847,12 @@ static constexpr money64 TrackPricing[] = { 425984, // TrackElemType::RightLargeZeroGRollDown 884736, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp 884736, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp - 884736, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown 884736, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + 884736, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown 884736, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp 884736, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp - 884736, // TrackElemType::RightFlyerLargeHalfLoopUnivertedDown 884736, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + 884736, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown 294912, // TrackElemType::FlyerHalfLoopInvertedUp 294912, // TrackElemType::FlyerHalfLoopUninvertedDown 294912, // TrackElemType::LeftEighthToDiagUp25 @@ -5090,8 +5089,8 @@ static constexpr track_type_t TrackElementMirrorMap[] = { TrackElemType::PoweredLift, TrackElemType::RightLargeHalfLoopUp, // TrackElemType::LeftLargeHalfLoopUp TrackElemType::LeftLargeHalfLoopUp, // TrackElemType::RightLargeHalfLoopUp - TrackElemType::LeftLargeHalfLoopDown, // TrackElemType::RightLargeHalfLoopDown TrackElemType::RightLargeHalfLoopDown, // TrackElemType::LeftLargeHalfLoopDown + TrackElemType::LeftLargeHalfLoopDown, // TrackElemType::RightLargeHalfLoopDown TrackElemType::RightFlyerTwistUp, // TrackElemType::LeftFlyerTwistUp TrackElemType::LeftFlyerTwistUp, // TrackElemType::RightFlyerTwistUp TrackElemType::RightFlyerTwistDown, // TrackElemType::LeftFlyerTwistDown @@ -5190,12 +5189,12 @@ static constexpr track_type_t TrackElementMirrorMap[] = { TrackElemType::LeftLargeZeroGRollDown, // TrackElemType::RightLargeZeroGRollDown TrackElemType::RightFlyerLargeHalfLoopUninvertedUp, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp, // TrackElemType::RightFlyerLargeHalfLoopUninvertedUp - TrackElemType::LeftFlyerLargeHalfLoopInvertedDown, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown TrackElemType::RightFlyerLargeHalfLoopInvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + TrackElemType::LeftFlyerLargeHalfLoopInvertedDown, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown TrackElemType::RightFlyerLargeHalfLoopInvertedUp, // TrackElemType::LeftFlyerLargeHalfLoopInvertedUp TrackElemType::LeftFlyerLargeHalfLoopInvertedUp, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp - TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown TrackElemType::RightFlyerLargeHalfLoopUninvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown TrackElemType::FlyerHalfLoopInvertedUp, TrackElemType::FlyerHalfLoopUninvertedDown, TrackElemType::RightEighthToDiagUp25, // TrackElemType::LeftEighthToDiagUp25 @@ -5432,8 +5431,8 @@ static constexpr uint32_t TrackHeightMarkerPositions[] = { (1 << 0), // TrackElemType::PoweredLift (1 << 0) | (1 << 6), // TrackElemType::LeftLargeHalfLoopUp (1 << 0) | (1 << 6), // TrackElemType::RightLargeHalfLoopUp - (1 << 0) | (1 << 6), // TrackElemType::RightLargeHalfLoopDown (1 << 0) | (1 << 6), // TrackElemType::LeftLargeHalfLoopDown + (1 << 0) | (1 << 6), // TrackElemType::RightLargeHalfLoopDown (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerTwistUp (1 << 0) | (1 << 2), // TrackElemType::RightFlyerTwistUp (1 << 0) | (1 << 2), // TrackElemType::LeftFlyerTwistDown @@ -5532,12 +5531,12 @@ static constexpr uint32_t TrackHeightMarkerPositions[] = { (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::RightFlyerLargeHalfLoopInvertedDown (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 << 6), // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopInvertedUp (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopUninvertedDown (1 << 0), // TrackElemType::LeftEighthToDiagUp25 @@ -5774,8 +5773,8 @@ static constexpr uint8_t TrackSequenceElementAllowedWallEdges[][MaxSequencesPerP { 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::PoweredLift { 0b1010, 0b1010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1000, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftLargeHalfLoopUp { 0b1010, 0b1010, 0b1000, 0b1001, 0b0011, 0b0010, 0b0010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightLargeHalfLoopUp - { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightLargeHalfLoopDown - { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftLargeHalfLoopDown + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftLargeHalfLoopDown + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightLargeHalfLoopDown { 0b1010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerTwistUp { 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 @@ -5875,12 +5874,12 @@ static constexpr uint8_t TrackSequenceElementAllowedWallEdges[][MaxSequencesPerP { 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 + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown { 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 + { 0b0010, 0b0010, 0b0011, 0b1001, 0b1000, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown + { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown { 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 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToDiagUp25 @@ -6117,8 +6116,8 @@ static constexpr uint16_t TrackFlags[] = { /* TrackElemType::PoweredLift */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, /* TrackElemType::LeftLargeHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightLargeHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TrackElemType::RightLargeHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftLargeHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightLargeHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftFlyerTwistUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightFlyerTwistUp */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftFlyerTwistDown */ TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, @@ -6205,24 +6204,24 @@ static constexpr uint16_t TrackFlags[] = { /* TrackElemType::RightLargeCorkscrewDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftMediumHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightMediumHalfLoopUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TrackElemType::RightMediumHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftMediumHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightMediumHalfLoopDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftZeroGRollUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::RightZeroGRollUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, - /* TrackElemType::RightZeroGRollDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftZeroGRollDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::RightZeroGRollDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* TrackElemType::LeftLargeZeroGRollUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, /* 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::RightLargeZeroGRollDown */ 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, + /* TrackElemType::RightFlyerLargeHalfLoopUninvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, /* 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::RightFlyerLargeHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL, + /* TrackElemType::LeftFlyerLargeHalfLoopInvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::RightFlyerLargeHalfLoopInvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION, + /* TrackElemType::RightFlyerLargeHalfLoopUninvertedDown */ 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, /* TrackElemType::LeftEighthToDiagUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, @@ -6563,12 +6562,12 @@ static constexpr TrackDefinition TrackDefinitions[] = { 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_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::LeftFlyerLargeHalfLoopInvertedDown + { 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_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_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown { 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 { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::LeftEighthToDiagUp25 @@ -7166,8 +7165,8 @@ static constexpr TrackComputeFunction GetLateralFunction(const uint16_t type) case TrackElemType::LeftLargeHalfLoopUp: case TrackElemType::RightLargeHalfLoopUp: return EvaluatorConst<0>; - case TrackElemType::RightLargeHalfLoopDown: case TrackElemType::LeftLargeHalfLoopDown: + case TrackElemType::RightLargeHalfLoopDown: return EvaluatorConst<0>; case TrackElemType::HeartLineTransferUp: return EvaluatorConst<0>; @@ -7558,11 +7557,11 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) case TrackElemType::RightLargeHalfLoopUp: case TrackElemType::LeftFlyerLargeHalfLoopUninvertedUp: case TrackElemType::RightFlyerLargeHalfLoopUninvertedUp: - case TrackElemType::RightFlyerLargeHalfLoopInvertedUp: case TrackElemType::LeftFlyerLargeHalfLoopInvertedUp: + case TrackElemType::RightFlyerLargeHalfLoopInvertedUp: return EvaluatorLargeHalfLoopUp; - case TrackElemType::RightLargeHalfLoopDown: case TrackElemType::LeftLargeHalfLoopDown: + case TrackElemType::RightLargeHalfLoopDown: case TrackElemType::LeftFlyerLargeHalfLoopInvertedDown: case TrackElemType::RightFlyerLargeHalfLoopInvertedDown: case TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown: @@ -7873,24 +7872,24 @@ static constexpr StringId RideConfigurationStringIds[] = { STR_LARGE_HALF_CORKSCREW_RIGHT, // TrackElemType::RightCorkscrewDown STR_MEDIUM_HALF_LOOP_LEFT, // TrackElemType::LeftMediumHalfLoopUp STR_MEDIUM_HALF_LOOP_RIGHT, // TrackElemType::RightMediumHalfLoopUp - STR_MEDIUM_HALF_LOOP_LEFT, // TrackElemType::RightMediumHalfLoopDown - STR_MEDIUM_HALF_LOOP_RIGHT, // TrackElemType::LeftMediumHalfLoopDown + STR_MEDIUM_HALF_LOOP_LEFT, // TrackElemType::LeftMediumHalfLoopDown + STR_MEDIUM_HALF_LOOP_RIGHT, // TrackElemType::RightMediumHalfLoopDown STR_ZERO_G_ROLL_LEFT, // TrackElemType::LeftZeroGRollUp STR_ZERO_G_ROLL_RIGHT, // TrackElemType::RightZeroGRollUp - STR_ZERO_G_ROLL_LEFT, // TrackElemType::RightZeroGRollDown - STR_ZERO_G_ROLL_RIGHT, // TrackElemType::LeftZeroGRollDown + STR_ZERO_G_ROLL_LEFT, // TrackElemType::LeftZeroGRollDown + STR_ZERO_G_ROLL_RIGHT, // TrackElemType::RightZeroGRollDown STR_LARGE_ZERO_G_ROLL_LEFT, // TrackElemType::LeftLargeZeroGRollUp 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_ZERO_G_ROLL_LEFT, // TrackElemType::LeftLargeZeroGRollDown + STR_LARGE_ZERO_G_ROLL_RIGHT, // TrackElemType::RightLargeZeroGRollDown 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_RIGHT, // TrackElemType::RightFlyerLargeHalfLoopInvertedDown 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_LARGE_HALF_LOOP_RIGHT, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown STR_HALF_LOOP, // TrackElemType::FlyerHalfLoopInvertedUp STR_HALF_LOOP, // TrackElemType::FlyerHalfLoopUninvertedDown STR_EMPTY, // TrackElemType::LeftEighthToDiagUp25 diff --git a/src/openrct2/ride/VehicleSubpositionData.cpp b/src/openrct2/ride/VehicleSubpositionData.cpp index c33cd116b5..4377f320aa 100644 --- a/src/openrct2/ride/VehicleSubpositionData.cpp +++ b/src/openrct2/ride/VehicleSubpositionData.cpp @@ -23816,7 +23816,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfoRightLargeZeroGRollDown3, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown0, { +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, 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 }, @@ -23884,7 +23884,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown0, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown1, { +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 }, { 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 }, @@ -23952,7 +23952,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown1, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown2, { +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, 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 }, @@ -24020,7 +24020,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown2, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown3, { +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 }, { 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 }, @@ -24088,7 +24088,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopDown3, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown0, { +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, 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 }, @@ -24156,7 +24156,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown0, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown1, { +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 }, { 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 }, @@ -24224,7 +24224,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown1, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown2, { +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, 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 }, @@ -24292,7 +24292,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown2, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown3, { +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 }, { 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 }, @@ -24360,7 +24360,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopDown3, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown0, { +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, 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 }, @@ -24428,7 +24428,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown0, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown1, { +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 }, { 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 }, @@ -24496,7 +24496,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown1, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown2, { +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, 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 }, @@ -24564,7 +24564,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown2, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown3, { +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 }, { 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 }, @@ -24632,7 +24632,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown3, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown0, { +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, 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 }, @@ -24700,7 +24700,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown0, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown1, { +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 }, { 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 }, @@ -24768,7 +24768,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown1, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown2, { +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, 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 }, @@ -24836,7 +24836,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown2, { -CREATE_VEHICLE_INFO(TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown3, { +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 }, { 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 }, @@ -29922,8 +29922,8 @@ static constexpr const VehicleInfoList *TrackVehicleInfoListDefault[] = { &TrackVehicleInfo_8C232A, &TrackVehicleInfo_8C244C, &TrackVehicleInfo_8C256E, &TrackVehicleInfo_8C2690, // PoweredLift &TrackVehicleInfo_9221B2, &TrackVehicleInfo_9237A6, &TrackVehicleInfo_924D9A, &TrackVehicleInfo_92638E, // LeftLargeHalfLoopUp &TrackVehicleInfo_922CAC, &TrackVehicleInfo_9242A0, &TrackVehicleInfo_925894, &TrackVehicleInfo_926E88, // RightLargeHalfLoopUp - &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, // RightLargeHalfLoopDown - &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, // LeftLargeHalfLoopDown + &TrackVehicleInfo_927982, &TrackVehicleInfo_928F76, &TrackVehicleInfo_92A56A, &TrackVehicleInfo_92BB5E, // LeftLargeHalfLoopDown + &TrackVehicleInfo_92847C, &TrackVehicleInfo_929A70, &TrackVehicleInfo_92B064, &TrackVehicleInfo_92C658, // RightLargeHalfLoopDown &TrackVehicleInfo_8D9BFE, &TrackVehicleInfo_8D9F60, &TrackVehicleInfo_8DA2C2, &TrackVehicleInfo_8DA624, // LeftFlyerTwistUp &TrackVehicleInfo_8DA986, &TrackVehicleInfo_8DACE8, &TrackVehicleInfo_8DB04A, &TrackVehicleInfo_8DB3AC, // RightFlyerTwistUp &TrackVehicleInfo_8DD21E, &TrackVehicleInfo_8DD580, &TrackVehicleInfo_8DD8E2, &TrackVehicleInfo_8DDC44, // LeftFlyerTwistDown @@ -30022,12 +30022,12 @@ static constexpr const VehicleInfoList *TrackVehicleInfoListDefault[] = { &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_RightFlyerLargeHalfLoopDown0, &TrackVehicleInfo_RightFlyerLargeHalfLoopDown1, &TrackVehicleInfo_RightFlyerLargeHalfLoopDown2, &TrackVehicleInfo_RightFlyerLargeHalfLoopDown3, // RightFlyerLargeHalfLoopInvertedDown &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_RightFlyerLargeHalfLoopUninvertedDown0, &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown1, &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown2, &TrackVehicleInfo_RightFlyerLargeHalfLoopUninvertedDown3, // RightFlyerLargeHalfLoopUninvertedDown &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, // FlyerHalfLoopInvertedUp &TrackVehicleInfo_FlyerHalfLoopUninvertedDown0, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown1, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown2, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown3, // FlyerHalfLoopUninvertedDown &TrackVehicleInfoLeftEighthToDiagUp250, &TrackVehicleInfoLeftEighthToDiagUp251, &TrackVehicleInfoLeftEighthToDiagUp252, &TrackVehicleInfoLeftEighthToDiagUp253, // TrackElemType::LeftEighthToDiagUp25 diff --git a/src/openrct2/ride/coaster/BolligerMabillardTrack.hpp b/src/openrct2/ride/coaster/BolligerMabillardTrack.hpp index 1f477e6d69..3eb7a96d0f 100644 --- a/src/openrct2/ride/coaster/BolligerMabillardTrack.hpp +++ b/src/openrct2/ride/coaster/BolligerMabillardTrack.hpp @@ -12356,7 +12356,7 @@ static void BolligerMabillardTrackRightLargeHalfLoopUp( } template -static void BolligerMabillardTrackRightLargeHalfLoopDown( +static void BolligerMabillardTrackLeftLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { @@ -12364,7 +12364,7 @@ static void BolligerMabillardTrackRightLargeHalfLoopDown( } template -static void BolligerMabillardTrackLeftLargeHalfLoopDown( +static void BolligerMabillardTrackRightLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { @@ -13334,10 +13334,10 @@ template TRACK_PAINT_FUNCTION GetTrackPaintFunctio return BolligerMabillardTrackLeftLargeHalfLoopUp; case TrackElemType::RightLargeHalfLoopUp: return BolligerMabillardTrackRightLargeHalfLoopUp; - case TrackElemType::RightLargeHalfLoopDown: - return BolligerMabillardTrackRightLargeHalfLoopDown; case TrackElemType::LeftLargeHalfLoopDown: return BolligerMabillardTrackLeftLargeHalfLoopDown; + case TrackElemType::RightLargeHalfLoopDown: + return BolligerMabillardTrackRightLargeHalfLoopDown; case TrackElemType::Up90ToInvertedFlatQuarterLoop: return BolligerMabillardTrack90DegToInvertedFlatQuarterLoopUp; case TrackElemType::InvertedFlatToDown90QuarterLoop: diff --git a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp index 5959d6eb69..6d57190aea 100644 --- a/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/FlyingRollerCoaster.cpp @@ -18695,14 +18695,14 @@ static void FlyingRCTrackLeftFlyingLargeHalfLoopUninvertedDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - FlyingRCTrackLeftFlyingLargeHalfLoopInvertedUp(session, ride, 6 - trackSequence, direction, height, trackElement); + FlyingRCTrackRightFlyingLargeHalfLoopInvertedUp(session, ride, 6 - trackSequence, direction, height, trackElement); } static void FlyingRCTrackRightFlyingLargeHalfLoopUninvertedDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - FlyingRCTrackRightFlyingLargeHalfLoopInvertedUp(session, ride, 6 - trackSequence, direction, height, trackElement); + FlyingRCTrackLeftFlyingLargeHalfLoopInvertedUp(session, ride, 6 - trackSequence, direction, height, trackElement); } TRACK_PAINT_FUNCTION GetTrackPaintFunctionFlyingRC(int32_t trackType) @@ -19027,10 +19027,10 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionFlyingRC(int32_t trackType) return BolligerMabillardTrackLeftLargeHalfLoopUp; case TrackElemType::RightFlyerLargeHalfLoopUninvertedUp: return BolligerMabillardTrackRightLargeHalfLoopUp; - case TrackElemType::RightFlyerLargeHalfLoopInvertedDown: - return BolligerMabillardTrackRightLargeHalfLoopDown; case TrackElemType::LeftFlyerLargeHalfLoopInvertedDown: return BolligerMabillardTrackLeftLargeHalfLoopDown; + case TrackElemType::RightFlyerLargeHalfLoopInvertedDown: + return BolligerMabillardTrackRightLargeHalfLoopDown; case TrackElemType::FlyerHalfLoopInvertedUp: return FlyingRCTrackHalfLoopInvertedUp; case TrackElemType::FlyerHalfLoopUninvertedDown: diff --git a/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp b/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp index 7bfcfff2ed..077312e15c 100644 --- a/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/InvertedRollerCoaster.cpp @@ -9020,7 +9020,7 @@ static void InvertedRCTrackRightLargeHalfLoopUp( } /** rct2: 0x008A9998 */ -static void InvertedRCTrackRightLargeHalfLoopDown( +static void InvertedRCTrackLeftLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { @@ -9028,7 +9028,7 @@ static void InvertedRCTrackRightLargeHalfLoopDown( } /** rct2: 0x008A99A8 */ -static void InvertedRCTrackLeftLargeHalfLoopDown( +static void InvertedRCTrackRightLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { @@ -10781,10 +10781,10 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionInvertedRC(int32_t trackType) return InvertedRCTrackLeftLargeHalfLoopUp; case TrackElemType::RightLargeHalfLoopUp: return InvertedRCTrackRightLargeHalfLoopUp; - case TrackElemType::RightLargeHalfLoopDown: - return InvertedRCTrackRightLargeHalfLoopDown; case TrackElemType::LeftLargeHalfLoopDown: return InvertedRCTrackLeftLargeHalfLoopDown; + case TrackElemType::RightLargeHalfLoopDown: + return InvertedRCTrackRightLargeHalfLoopDown; case TrackElemType::BlockBrakes: return InvertedRCTrackBlockBrakes; case TrackElemType::LeftBankedQuarterTurn3TileUp25: diff --git a/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp b/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp index 2db62b5472..e1f4b9b842 100644 --- a/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LimLaunchedRollerCoaster.cpp @@ -5207,14 +5207,14 @@ static void LimLaunchedRCTrackRightLargeHalfLoopUp( } } -static void LimLaunchedRCTrackRightLargeHalfLoopDown( +static void LimLaunchedRCTrackLeftLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { LimLaunchedRCTrackRightLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); } -static void LimLaunchedRCTrackLeftLargeHalfLoopDown( +static void LimLaunchedRCTrackRightLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { @@ -5938,10 +5938,10 @@ TRACK_PAINT_FUNCTION GetTrackPaintFunctionLimLaunchedRC(int32_t trackType) return LimLaunchedRCTrackLeftLargeHalfLoopUp; case TrackElemType::RightLargeHalfLoopUp: return LimLaunchedRCTrackRightLargeHalfLoopUp; - case TrackElemType::RightLargeHalfLoopDown: - return LimLaunchedRCTrackRightLargeHalfLoopDown; case TrackElemType::LeftLargeHalfLoopDown: return LimLaunchedRCTrackLeftLargeHalfLoopDown; + case TrackElemType::RightLargeHalfLoopDown: + return LimLaunchedRCTrackRightLargeHalfLoopDown; case TrackElemType::LeftLargeCorkscrewUp: return LimLaunchedRCTrackLeftLargeCorkscrewUp; case TrackElemType::RightLargeCorkscrewUp: diff --git a/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp b/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp index a52284ff43..0d524f7585 100644 --- a/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp @@ -13829,14 +13829,14 @@ namespace SingleRailRC } } - static void TrackRightLargeHalfLoopDown( + static void TrackLeftLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { TrackRightLargeHalfLoopUp(session, ride, 6 - trackSequence, direction, height, trackElement); } - static void TrackLeftLargeHalfLoopDown( + static void TrackRightLargeHalfLoopDown( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { @@ -17817,10 +17817,10 @@ namespace SingleRailRC return TrackLeftLargeHalfLoopUp; case TrackElemType::RightLargeHalfLoopUp: return TrackRightLargeHalfLoopUp; - case TrackElemType::RightLargeHalfLoopDown: - return TrackRightLargeHalfLoopDown; case TrackElemType::LeftLargeHalfLoopDown: return TrackLeftLargeHalfLoopDown; + case TrackElemType::RightLargeHalfLoopDown: + return TrackRightLargeHalfLoopDown; case TrackElemType::FlatToUp60: return TrackFlatTo60DegUp; case TrackElemType::Up60ToFlat: