From c3df09df7e3d23707ffa5d0d5bbf93569a7d514a Mon Sep 17 00:00:00 2001 From: mix <167040362+mixiate@users.noreply.github.com> Date: Sun, 17 Aug 2025 15:48:22 +0100 Subject: [PATCH] Fix lim launched rc inline twists block supports on wrong side (#24986) --- distribution/changelog.txt | 1 + .../coaster/LimLaunchedRollerCoaster.cpp | 48 +++++++++---------- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 43306a047d..6e23b888b0 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -24,6 +24,7 @@ - Fix: [#24958] Android: fix crash when device is offline. - Fix: [#24961] Queues with corner connections set with the tile inspector draw incorrect sprites. - Fix: [#24972] Fix crash when closing windows would open other windows. +- Fix: [#24986] LIM Launched Roller Coaster inline twists block metal supports on the wrong side (original bug). - Fix: [#24989] Classic Wooden Roller Coaster small banked turns do not block metal supports correctly. 0.4.25 (2025-08-03) diff --git a/src/openrct2/paint/track/coaster/LimLaunchedRollerCoaster.cpp b/src/openrct2/paint/track/coaster/LimLaunchedRollerCoaster.cpp index 656a7a3a51..989c4fea48 100644 --- a/src/openrct2/paint/track/coaster/LimLaunchedRollerCoaster.cpp +++ b/src/openrct2/paint/track/coaster/LimLaunchedRollerCoaster.cpp @@ -635,8 +635,8 @@ static void LimLaunchedRCTrackLeftTwistDownToUp( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::right, PaintSegment::centre, PaintSegment::topRight, PaintSegment::bottomLeft, - PaintSegment::bottomRight), + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); @@ -681,8 +681,8 @@ static void LimLaunchedRCTrackLeftTwistDownToUp( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, - PaintSegment::bottomLeft, PaintSegment::bottomRight), + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); @@ -736,8 +736,8 @@ static void LimLaunchedRCTrackLeftTwistDownToUp( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, PaintSegment::bottomLeft, - PaintSegment::bottomRight), + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height); @@ -797,8 +797,8 @@ static void LimLaunchedRCTrackRightTwistDownToUp( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::top, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, - PaintSegment::bottomLeft), + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, + PaintSegment::bottomLeft, PaintSegment::bottomRight), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); @@ -843,8 +843,8 @@ static void LimLaunchedRCTrackRightTwistDownToUp( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, - PaintSegment::topRight, PaintSegment::bottomLeft), + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, + PaintSegment::bottomLeft, PaintSegment::bottomRight), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); @@ -898,8 +898,8 @@ static void LimLaunchedRCTrackRightTwistDownToUp( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, - PaintSegment::bottomLeft), + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, + PaintSegment::bottomLeft, PaintSegment::bottomRight), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height); @@ -958,8 +958,8 @@ static void LimLaunchedRCTrackLeftTwistUpToDown( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::top, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, - PaintSegment::bottomLeft), + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, + PaintSegment::bottomLeft, PaintSegment::bottomRight), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height); @@ -1004,8 +1004,8 @@ static void LimLaunchedRCTrackLeftTwistUpToDown( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, - PaintSegment::topRight, PaintSegment::bottomLeft), + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, + PaintSegment::bottomLeft, PaintSegment::bottomRight), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); @@ -1060,8 +1060,8 @@ static void LimLaunchedRCTrackLeftTwistUpToDown( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, - PaintSegment::bottomLeft), + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, + PaintSegment::bottomLeft, PaintSegment::bottomRight), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight); @@ -1120,8 +1120,8 @@ static void LimLaunchedRCTrackRightTwistUpToDown( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::right, PaintSegment::centre, PaintSegment::topRight, PaintSegment::bottomLeft, - PaintSegment::bottomRight), + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 64); @@ -1166,8 +1166,8 @@ static void LimLaunchedRCTrackRightTwistUpToDown( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, - PaintSegment::bottomLeft, PaintSegment::bottomRight), + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + 48); @@ -1222,8 +1222,8 @@ static void LimLaunchedRCTrackRightTwistUpToDown( session, PaintUtilRotateSegments( EnumsToFlags( - PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::bottomLeft, - PaintSegment::bottomRight), + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft), direction), 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight);