From 109a06663d8ea01b3e9439c927baac76ee94a6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= Date: Fri, 29 Jan 2021 17:19:07 +0200 Subject: [PATCH] Fix entrance or exit stacked on top considered a duplicate --- distribution/changelog.txt | 1 + src/openrct2/network/NetworkBase.cpp | 2 +- src/openrct2/ride/Ride.cpp | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index d96be4316f..3c055cb132 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -38,6 +38,7 @@ - Fix: [#13510] [Plugin] list view scroll resets when items is set. - Fix: [#13574] Crash when a JSON object does not set `originalId`. - Fix: [#13832] Players last action position is invalid on opening/closing a ride in multiplayer. +- Fix: [#13937] Pathfinding gets confused when two entrances/exits from the same ride are on top of each other. - Improved: [#6022] Allow up to 128 ride objects to be selected in track designer. - Improved: [#12917] Changed peep movement so that they stay more spread out over the full width of single tile paths. - Improved: [#13386] A GUI error message is now displayed if the language files are missing. diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 70fe6f43f3..a673254e51 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -34,7 +34,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "15" +#define NETWORK_STREAM_VERSION "16" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 5ec4b111e5..65c65314d8 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -6710,7 +6710,8 @@ void sub_6CB945(Ride* ride) while (locationList != locations.cend()) { const TileCoordsXYZD& locationCoords2 = *locationList++; - if (locationCoords.x == locationCoords2.x && locationCoords.y == locationCoords2.y) + if (locationCoords.x == locationCoords2.x && locationCoords.y == locationCoords2.y + && locationCoords.z == locationCoords2.z) { duplicateLocation = true; break;