From 073e4b0ccc3039d25fcfbb3d8927bc07bae3e020 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Sun, 4 Aug 2019 17:19:40 +0200 Subject: [PATCH] Fix #7690: Problem with guests freezing on certain tiles of path (#9723) --- distribution/changelog.txt | 3 ++- src/openrct2/network/Network.cpp | 2 +- src/openrct2/ride/Vehicle.cpp | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 831d91febe..fe7e27a598 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,12 +1,13 @@ 0.2.3+ (in development) ------------------------------------------------------------------------ +- Fix: [#7690] Problem with guests freezing on certain tiles of path. - Fix: [#7883] Headless server log is stored incorrectly if server name contains CJK in Ubuntu -- Improved: [#9466] Add the rain weather effect to the OpenGL renderer. - Fix: [#8136] Excessive lateral G penalty is too excessive. - Fix: [#9574] Text overflow in scenario objective window when using CJK languages. - Fix: [#9625] Show correct cost in scenery selection. - Fix: [#9669] The tile inspector shortcut key does not work with debugging tools disabled. - Fix: [#9717] Scroll bars do not render correctly when using OpenGL renderer. +- Improved: [#9466] Add the rain weather effect to the OpenGL renderer. 0.2.3 (2019-07-10) ------------------------------------------------------------------------ diff --git a/src/openrct2/network/Network.cpp b/src/openrct2/network/Network.cpp index 6073eb6cf2..1f6dfa359f 100644 --- a/src/openrct2/network/Network.cpp +++ b/src/openrct2/network/Network.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 "1" +#define NETWORK_STREAM_VERSION "2" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 92f83c5c81..858ce44a45 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -9826,8 +9826,11 @@ void vehicle_update_crossings(const rct_vehicle* vehicle) { TileElement* tileElement = map_get_path_element_at( xyElement.x / 32, xyElement.y / 32, xyElement.element->base_height); + auto ride = get_ride(vehicle->ride); - if (tileElement) + // Many New Element parks have invisible rides hacked into the path. + // Limit path blocking to Miniature Railway to prevent peeps getting stuck everywhere. + if (tileElement && ride != nullptr && ride->type == RIDE_TYPE_MINIATURE_RAILWAY) { if (!playedClaxon && !tileElement->AsPath()->IsBlockedByVehicle()) {