From d325703d09f480578aeb7dcb9ddeb7f2a8a513a2 Mon Sep 17 00:00:00 2001 From: mix <167040362+mixiate@users.noreply.github.com> Date: Sat, 18 Oct 2025 16:20:07 +0100 Subject: [PATCH] Fix Wooden RC small banked turns blocking more supports than RCT2 --- distribution/changelog.txt | 1 + src/openrct2/paint/tile_element/Segment.h | 1 + src/openrct2/paint/track/coaster/ClassicWoodenRollerCoaster.cpp | 2 +- src/openrct2/paint/track/coaster/WoodenRollerCoaster.hpp | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 921b69f228..327d19c283 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -14,6 +14,7 @@ - Fix: [#25363] The Mine Train Coaster flat-to-steep track pieces do not block all metal supports. - Fix: [#25369] The Go-Karts medium turns and small flat and sloped turns do not block metal supports correctly. - Fix: [#25370] The Hybrid Coaster diagonal brakes and block brakes do not block metal supports consistently. +- Fix: [#25371] The Wooden Roller Coaster small banked turns block too many metal supports. 0.4.27 (2025-10-04) ------------------------------------------------------------------------ diff --git a/src/openrct2/paint/tile_element/Segment.h b/src/openrct2/paint/tile_element/Segment.h index 1d7c9b8a2e..37b0a41603 100644 --- a/src/openrct2/paint/tile_element/Segment.h +++ b/src/openrct2/paint/tile_element/Segment.h @@ -27,6 +27,7 @@ enum class PaintSegment : uint16_t topLeft = 7, centre = 8, }; +constexpr uint16_t kSegmentsNone = 0; constexpr int32_t kSegmentsAll = EnumsToFlags( PaintSegment::top, PaintSegment::left, PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, PaintSegment::bottomLeft, PaintSegment::bottomRight); diff --git a/src/openrct2/paint/track/coaster/ClassicWoodenRollerCoaster.cpp b/src/openrct2/paint/track/coaster/ClassicWoodenRollerCoaster.cpp index 4c5b0d8e07..c1ee58fa8a 100644 --- a/src/openrct2/paint/track/coaster/ClassicWoodenRollerCoaster.cpp +++ b/src/openrct2/paint/track/coaster/ClassicWoodenRollerCoaster.cpp @@ -1070,7 +1070,7 @@ static void ClassicWoodenRCTrackRightQuarterTurn3Bank( static constexpr int blockedSegments[4] = { kSegmentsAll, - kSegmentsAll, + kSegmentsNone, EnumsToFlags(PaintSegment::bottom, PaintSegment::centre, PaintSegment::bottomLeft, PaintSegment::bottomRight), kSegmentsAll, }; diff --git a/src/openrct2/paint/track/coaster/WoodenRollerCoaster.hpp b/src/openrct2/paint/track/coaster/WoodenRollerCoaster.hpp index b89609d0ac..60ed53fa25 100644 --- a/src/openrct2/paint/track/coaster/WoodenRollerCoaster.hpp +++ b/src/openrct2/paint/track/coaster/WoodenRollerCoaster.hpp @@ -298,7 +298,7 @@ static void WoodenRCTrackLeftQuarterTurn3Bank( static constexpr int blockedSegments[4] = { kSegmentsAll, - kSegmentsAll, + kSegmentsNone, EnumsToFlags(PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft), kSegmentsAll, };