From 91afda265e7504b4fec1a4ec410723c782bf7dc1 Mon Sep 17 00:00:00 2001 From: mix <167040362+mixiate@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:40:55 +0000 Subject: [PATCH] Fix corner path fences drawing over adjacent sloped land --- distribution/changelog.txt | 1 + src/openrct2/paint/tile_element/Paint.Path.cpp | 12 ++++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 9e149688be..57ca0c9bbe 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -17,6 +17,7 @@ - Fix: [#23939] Incorrect assertion when trying to load heightmap. - Fix: [#23941] Underflow in “Repay loan and achieve a certain park value” objective when using Japanese. - Fix: [#23949] Walls draw over sloped rear water edges and those edge sprites are misaligned (original bug). +- Fix: [#23960] Corner path fences can draw over adjacent sloped land (original bug). 0.4.20 (2025-02-25) ------------------------------------------------------------------------ diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index f262c1db9d..240cd31c3d 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -254,8 +254,7 @@ static void PathPaintFencesAndQueueBannersQueue( PaintAddImageAsParent( session, imageId.WithIndexOffset(17), { 0, 4, height }, { { 0, 4, height + 2 }, { 28, 1, 7 } }); PaintAddImageAsParent( - session, imageId.WithIndexOffset(18), { 28, 0, height }, - { { 28, 4, height + 2 }, { 1, 28, 7 } }); // bound_box_offset_y seems to be a bug + session, imageId.WithIndexOffset(18), { 28, 0, height }, { { 28, 0, height + 2 }, { 1, 28, 7 } }); PaintAddImageAsParent( session, imageId.WithIndexOffset(25), { 0, 0, height }, { { 0, 28, height + 2 }, { 4, 4, 7 } }); break; @@ -325,8 +324,7 @@ static void PathPaintFencesAndQueueBannersQueue( PaintAddImageAsParent( session, imageId.WithIndexOffset(16), { 4, 0, height }, { { 4, 0, height + 2 }, { 1, 28, 7 } }); PaintAddImageAsParent( - session, imageId.WithIndexOffset(19), { 0, 28, height }, - { { 4, 28, height + 2 }, { 28, 1, 7 } }); // bound_box_offset_x seems to be a bug + session, imageId.WithIndexOffset(19), { 0, 28, height }, { { 0, 28, height + 2 }, { 28, 1, 7 } }); PaintAddImageAsParent( session, imageId.WithIndexOffset(27), { 0, 0, height }, { { 28, 0, height + 2 }, { 4, 4, 7 } }); break; @@ -445,8 +443,7 @@ static void PathPaintFencesAndQueueBannersNonQueue( PaintAddImageAsParent( session, imageId.WithIndexOffset(3), { 0, 4, height }, { { 0, 4, height + 2 }, { 28, 1, 7 } }); PaintAddImageAsParent( - session, imageId.WithIndexOffset(4), { 28, 0, height }, - { { 28, 4, height + 2 }, { 1, 28, 7 } }); // bound_box_offset_y seems to be a bug + session, imageId.WithIndexOffset(4), { 28, 0, height }, { { 28, 0, height + 2 }, { 1, 28, 7 } }); if (!(drawnCorners & FOOTPATH_CORNER_0)) { PaintAddImageAsParent( @@ -479,8 +476,7 @@ static void PathPaintFencesAndQueueBannersNonQueue( PaintAddImageAsParent( session, imageId.WithIndexOffset(2), { 4, 0, height }, { { 4, 0, height + 2 }, { 1, 28, 7 } }); PaintAddImageAsParent( - session, imageId.WithIndexOffset(5), { 0, 28, height }, - { { 4, 28, height + 2 }, { 28, 1, 7 } }); // bound_box_offset_x seems to be a bug + session, imageId.WithIndexOffset(5), { 0, 28, height }, { { 0, 28, height + 2 }, { 28, 1, 7 } }); if (!(drawnCorners & FOOTPATH_CORNER_2)) { PaintAddImageAsParent(