From 5a3ebb65dec187a690bcf503fee16d4443c5a019 Mon Sep 17 00:00:00 2001 From: mix <167040362+mixiate@users.noreply.github.com> Date: Sun, 9 Feb 2025 14:57:22 +0000 Subject: [PATCH] Fix #23522: Steeplechase diagonal sloped support base glitched sprites --- distribution/changelog.txt | 1 + src/openrct2/paint/support/MetalSupports.cpp | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index b0b95c2746..61be6af371 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -2,6 +2,7 @@ ------------------------------------------------------------------------ - Improved: [#23677] Building new ride track now inherits the colour scheme from the previous piece. - Fix: [#22617] Sloped Wooden and Side-Friction supports draw out of order when built directly above diagonal track pieces. +- Fix: [#23522] Diagonal sloped Steeplechase supports have glitched sprites at the base. - Fix: [#23795] Looping Roller Coaster vertical loop supports are drawn incorrectly. 0.4.19.1 (2025-02-03) diff --git a/src/openrct2/paint/support/MetalSupports.cpp b/src/openrct2/paint/support/MetalSupports.cpp index 2ae717f398..80f2c99799 100644 --- a/src/openrct2/paint/support/MetalSupports.cpp +++ b/src/openrct2/paint/support/MetalSupports.cpp @@ -199,13 +199,13 @@ static constexpr MetalSupportsImages kSupportBasesAndBeams[] = { { 3279, 3262, 3262 }, // MetalSupportGraphic::Fork { 3298, 3262, 3262 }, // MetalSupportGraphic::ForkAlt { 3334, 3317, 3317 }, // MetalSupportGraphic::Boxed - { 0, 3658, 3658 }, // MetalSupportGraphic::Stick - { 0, 3658, 3658 }, // MetalSupportGraphic::StickAlt - { 0, 3141, 3141 }, // MetalSupportGraphic::ThickCentred - { 0, 3158, 3158 }, // MetalSupportGraphic::Thick - { 0, 3175, 3175 }, // MetalSupportGraphic::ThickAlt - { 0, 3192, 3192 }, // MetalSupportGraphic::ThickAltCentred - { 0, 3124, 3124 }, // MetalSupportGraphic::Truss + { kImageIndexUndefined, 3658, 3658 }, // MetalSupportGraphic::Stick + { kImageIndexUndefined, 3658, 3658 }, // MetalSupportGraphic::StickAlt + { kImageIndexUndefined, 3141, 3141 }, // MetalSupportGraphic::ThickCentred + { kImageIndexUndefined, 3158, 3158 }, // MetalSupportGraphic::Thick + { kImageIndexUndefined, 3175, 3175 }, // MetalSupportGraphic::ThickAlt + { kImageIndexUndefined, 3192, 3192 }, // MetalSupportGraphic::ThickAltCentred + { kImageIndexUndefined, 3124, 3124 }, // MetalSupportGraphic::Truss { 3243, 3209, 3226 }, // MetalSupportGraphic::TubesInverted { 3334, 3353, 3353 }, // MetalSupportGraphic::BoxedCoated }; @@ -366,7 +366,7 @@ static bool MetalASupportsPaintSetup( } int16_t si = height; if (supportSegments[segment].slope & kTileSlopeAboveTrackOrScenery || height - supportSegments[segment].height < 6 - || kSupportBasesAndBeams[supportType].base == 0) + || kSupportBasesAndBeams[supportType].base == kImageIndexUndefined) { height = supportSegments[segment].height; } @@ -583,7 +583,7 @@ static bool MetalBSupportsPaintSetup( int32_t si = baseHeight; if ((supportSegments[segment].slope & kTileSlopeAboveTrackOrScenery) || (baseHeight - supportSegments[segment].height < 6) - || (kSupportBasesAndBeams[supportType].beamA == 0)) + || (kSupportBasesAndBeams[supportType].base == kImageIndexUndefined)) { baseHeight = supportSegments[segment].height; }