diff --git a/contributors.md b/contributors.md index b3f164ecb1..191d7d13b8 100644 --- a/contributors.md +++ b/contributors.md @@ -219,6 +219,7 @@ The following people are not part of the development team, but have been contrib * Joel H. (HtotheTML) * John Mulcahy (jayjay300) * Chase Percy (Chase-Percy) +* Wenzhao Qiu (qwzhaox) ## Toolchain * (Balletie) - macOS diff --git a/distribution/changelog.txt b/distribution/changelog.txt index a572ee1294..68362a769e 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -15,6 +15,7 @@ - Improved: [#19953] Add keyboard shortcut to Keyboard Shortcuts window. - Fix: [#12598] Number of holes is not set correctly when saving track designs. - Fix: [#13130] Android always defaulting to UK locale for language, currency and temperature. +- Fix: [#16791] Rotodrop top piece replicates when walls are placed around it and clearance checks are disabled (original bug). - Fix: [#18895] Responding mechanic blocked at level crossing. - Fix: [#19231] Crash due to null pointer to previously deleted banner in tile copy/paste functionality - Fix: [#19296] Crash due to a race condition for parallel object loading. diff --git a/src/openrct2/ride/thrill/RotoDrop.cpp b/src/openrct2/ride/thrill/RotoDrop.cpp index 21a554ab72..ec0ed6e608 100644 --- a/src/openrct2/ride/thrill/RotoDrop.cpp +++ b/src/openrct2/ride/thrill/RotoDrop.cpp @@ -186,6 +186,12 @@ static void PaintRotoDropTowerSection( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { { 8, 8, height }, { 2, 2, 30 } }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; + + while (nextTileElement->GetType() != TileElementType::Track && !nextTileElement->IsLastForTile()) + { + nextTileElement++; + } + if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) { imageId = session.TrackColours[SCHEME_TRACK].WithIndex(SPR_ROTO_DROP_TOWER_SEGMENT_TOP);