From dcaef0fff3a1de5687a983f336cd00f3a673aaba Mon Sep 17 00:00:00 2001 From: mix <167040362+mixiate@users.noreply.github.com> Date: Sun, 17 Aug 2025 13:20:57 +0100 Subject: [PATCH] Fix #19137: Non inverted left corkscrew supports wrong at one angle (#24988) --- distribution/changelog.txt | 1 + src/openrct2/ride/TrackPaint.cpp | 31 ++++++++----------------------- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 1e1c920e09..43306a047d 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -11,6 +11,7 @@ - Change: [#24974] Raise the Go-Karts maximum support height to allow 2 large sloped turns to be built on flat ground. - Fix: [#16988] AppImage version does not show changelog. - Fix: [#18048] Play music from all ride's stations. +- Fix: [#19137] Non-inverted left corkscrew supports are incorrect at one angle (original bug). - Fix: [#23440] Quarter loops do not block metal supports correctly (original bug). - Fix: [#24001] Sloped diagonal metal supports that are offset with a crossbeam draw incorrectly. - Fix: [#24151] Sprites are cut off by 1 row of pixels when using OpenGL on Intel Macs. diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 67e8b92591..353bd2ae18 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -1916,31 +1916,16 @@ void TrackPaintUtilRightVerticalLoopSegments(PaintSession& session, Direction di void TrackPaintUtilLeftCorkscrewUpSupports(PaintSession& session, Direction direction, uint16_t height) { - // TODO: Figure out which of these looks best, and use one to keep a consistent world - if (direction == 2) - { - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - EnumsToFlags( - PaintSegment::top, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, - PaintSegment::bottomLeft), - direction), - 0xFFFF, 0); - } MetalASupportsPaintSetupRotated( session, MetalSupportType::tubes, MetalSupportPlace::centre, direction, 0, height, session.SupportColours); - if (direction != 2) - { - PaintUtilSetSegmentSupportHeight( - session, - PaintUtilRotateSegments( - EnumsToFlags( - PaintSegment::top, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, - PaintSegment::bottomLeft), - direction), - 0xFFFF, 0); - } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + EnumsToFlags( + PaintSegment::top, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, + PaintSegment::bottomLeft), + direction), + 0xFFFF, 0); } ImageId GetStationColourScheme(PaintSession& session, const TrackElement& trackElement)