mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix: A queuing guest can ignore the next guest in the queue in certain circumstances (RCT2 bug) (#19068)
* Use PeepDirection instead of sprite_direction to update queue position * Align guests to the centre of the first queue tile. * Bump network version * Update changelog * Update replays Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
This commit is contained in:
parent
be5b7b7f74
commit
538b87e94c
|
@ -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")
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -51,8 +51,8 @@
|
|||
<OpenSFXSha1>8f04aea33f8034131c3069f6accacce0d94f80c1</OpenSFXSha1>
|
||||
<OpenMSXUrl>https://github.com/OpenRCT2/OpenMusic/releases/download/v1.0.1/openmusic.zip</OpenMSXUrl>
|
||||
<OpenMSXSha1>8ff94490180e2fbfdd13a4130eb300da726ca406</OpenMSXSha1>
|
||||
<ReplaysUrl>https://github.com/OpenRCT2/replays/releases/download/v0.0.70/replays.zip</ReplaysUrl>
|
||||
<ReplaysSha1>09B339E86AAE81580C5AC3E23AC4BC9E030DA076</ReplaysSha1>
|
||||
<ReplaysUrl>https://github.com/OpenRCT2/replays/releases/download/v0.0.72/replays.zip</ReplaysUrl>
|
||||
<ReplaysSha1>93744627E3F1FE5ED6317D5A292D15B63AA71765</ReplaysSha1>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue