From a271c6c6f12462f3719b18dc6112db22fce9718e Mon Sep 17 00:00:00 2001 From: Rik Smeets <30838294+rik-smeets@users.noreply.github.com> Date: Sun, 11 Sep 2022 17:56:21 +0200 Subject: [PATCH] Fix Steeplechase S-bends bounding boxes --- distribution/changelog.txt | 1 + src/openrct2/ride/coaster/Steeplechase.cpp | 64 +++++++++++----------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 2c9a13c701..29807e9039 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -64,6 +64,7 @@ - Fix: [#17866] [Plugin] Wrong Soft Guest Cap at start of new game - Fix: [#17959] Areas marked for dirty drawing are too large. - Fix: [#17966] Reversed steel trains do not properly import from S4. +- Fix: [#18008] Steeplechase S-bends has multiple gaps visible in the tracks. 0.4.1 (2022-07-04) ------------------------------------------------------------------------ diff --git a/src/openrct2/ride/coaster/Steeplechase.cpp b/src/openrct2/ride/coaster/Steeplechase.cpp index b9f2be4096..8f2b1682cb 100644 --- a/src/openrct2/ride/coaster/Steeplechase.cpp +++ b/src/openrct2/ride/coaster/Steeplechase.cpp @@ -543,25 +543,25 @@ static void steeplechase_track_s_bend_left( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28665, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28665, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28672, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28672, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28668, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28668, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28669, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28669, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -579,23 +579,23 @@ static void steeplechase_track_s_bend_left( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28666, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28666, { 0, 0, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 5, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28671, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28671, { 0, 0, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 6, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28667, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28667, { 0, 6, height }, { 33, 26, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28670, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28670, { 0, 6, height }, { 33, 26, 3 }); break; } paint_util_set_segment_support_height( @@ -610,21 +610,21 @@ static void steeplechase_track_s_bend_left( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28667, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28667, { 0, 6, height }, { 33, 26, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28670, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28670, { 0, 6, height }, { 33, 26, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28666, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28666, { 0, 0, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 5, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28671, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28671, { 0, 0, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 6, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -641,25 +641,25 @@ static void steeplechase_track_s_bend_left( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28668, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28668, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28669, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28669, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28665, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28665, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28672, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28672, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -692,25 +692,25 @@ static void steeplechase_track_s_bend_right( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28661, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28661, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28676, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28676, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28664, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28664, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28673, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28673, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -728,23 +728,23 @@ static void steeplechase_track_s_bend_right( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28662, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28662, { 0, 6, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 8, 0, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28675, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28675, { 0, 6, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 7, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28663, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28663, { 0, 0, height }, { 33, 26, 3 }); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28674, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28674, { 0, 0, height }, { 33, 26, 3 }); break; } paint_util_set_segment_support_height( @@ -759,21 +759,21 @@ static void steeplechase_track_s_bend_right( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28663, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28663, { 0, 0, height }, { 33, 26, 3 }); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28674, { 0, 0, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28674, { 0, 0, height }, { 33, 26, 3 }); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28662, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28662, { 0, 6, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 8, 0, height - 2, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28675, { 0, 6, height }, { 32, 26, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28675, { 0, 6, height }, { 33, 26, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 7, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; @@ -790,25 +790,25 @@ static void steeplechase_track_s_bend_right( { case 0: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28664, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28664, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28673, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28673, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28661, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28661, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( - session, direction, session.TrackColours[SCHEME_TRACK] | 28676, { 0, 6, height }, { 32, 20, 3 }); + session, direction, session.TrackColours[SCHEME_TRACK] | 28676, { 0, 6, height }, { 33, 20, 3 }); metal_a_supports_paint_setup( session, METAL_SUPPORTS_STICK_ALT, 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); break;