diff --git a/CMakeLists.txt b/CMakeLists.txt index 95b962a9fc..7cfd7496d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,9 +76,9 @@ set(OPENMSX_VERSION "1.0.1") set(OPENMSX_URL "https://github.com/OpenRCT2/OpenMusic/releases/download/v${OPENMSX_VERSION}/openmusic.zip") set(OPENMSX_SHA1 "8ff94490180e2fbfdd13a4130eb300da726ca406") -set(REPLAYS_VERSION "0.0.70") +set(REPLAYS_VERSION "0.0.72") set(REPLAYS_URL "https://github.com/OpenRCT2/replays/releases/download/v${REPLAYS_VERSION}/replays.zip") -set(REPLAYS_SHA1 "09B339E86AAE81580C5AC3E23AC4BC9E030DA076") +set(REPLAYS_SHA1 "93744627E3F1FE5ED6317D5A292D15B63AA71765") option(FORCE32 "Force 32-bit build. It will add `-m32` to compiler flags.") option(WITH_TESTS "Build tests") diff --git a/distribution/changelog.txt b/distribution/changelog.txt index a9162ffbdc..ca1b07e23b 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -21,6 +21,7 @@ - Fix: [#18971] New Game does not prompt for save before quitting. - Fix: [#19025] Park loan behaves inconsistently with non-round and out-of-bounds values. - Fix: [#19026] Park loan is clamped to a 32-bit integer. +- Fix: [#19068] Guests may not join queues correctly. - Fix: [#19091] [Plugin] Remote plugins in multiplayer servers do not unload properly. - Fix: [#19112] Clearing the last character in the Object Selection filter does not properly reset it. - Fix: [#19112] Text boxes not updated with empty strings in Track List, Server List, and Start Server windows. diff --git a/openrct2.proj b/openrct2.proj index 7c512c6f98..ee458c3d91 100644 --- a/openrct2.proj +++ b/openrct2.proj @@ -51,8 +51,8 @@ 8f04aea33f8034131c3069f6accacce0d94f80c1 https://github.com/OpenRCT2/OpenMusic/releases/download/v1.0.1/openmusic.zip 8ff94490180e2fbfdd13a4130eb300da726ca406 - https://github.com/OpenRCT2/replays/releases/download/v0.0.70/replays.zip - 09B339E86AAE81580C5AC3E23AC4BC9E030DA076 + https://github.com/OpenRCT2/replays/releases/download/v0.0.72/replays.zip + 93744627E3F1FE5ED6317D5A292D15B63AA71765 diff --git a/src/openrct2/entity/Guest.cpp b/src/openrct2/entity/Guest.cpp index 345ff9aadb..2d34a84e08 100644 --- a/src/openrct2/entity/Guest.cpp +++ b/src/openrct2/entity/Guest.cpp @@ -7318,10 +7318,10 @@ bool Guest::UpdateQueuePosition(PeepActionType previous_action) return false; } - if (sprite_direction != guestNext->sprite_direction) + if (PeepDirection != guestNext->PeepDirection) return false; - switch (guestNext->sprite_direction / 8) + switch (guestNext->PeepDirection) { case 0: if (x >= guestNext->x) diff --git a/src/openrct2/entity/Peep.cpp b/src/openrct2/entity/Peep.cpp index 575fe00214..235064f357 100644 --- a/src/openrct2/entity/Peep.cpp +++ b/src/openrct2/entity/Peep.cpp @@ -2237,6 +2237,11 @@ static void PeepInteractWithPath(Peep* peep, const CoordsXYE& coords) } } + // Force set centre of tile to prevent issues with guests accidentally skipping the queue + auto queueTileCentre = CoordsXY{ CoordsXY{ guest->NextLoc } + CoordsDirectionDelta[guest->PeepDirection] } + .ToTileCentre(); + guest->SetDestination(queueTileCentre); + PeepFootpathMoveForward(guest, { coords, tile_element }, vandalism_present); } else diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 8a49708fec..0038aa7cb9 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -43,7 +43,7 @@ // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "2" +#define NETWORK_STREAM_VERSION "3" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION