From 87bdd4d079be9927f28c1c24e2bbc1f25ac8ed7a Mon Sep 17 00:00:00 2001 From: deurklink Date: Thu, 8 Mar 2018 09:20:32 +0100 Subject: [PATCH] Fix #7239: Remove all guests cheat crashes with ferris wheel --- src/openrct2/Cheats.cpp | 9 ++++++--- src/openrct2/network/Network.cpp | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/openrct2/Cheats.cpp b/src/openrct2/Cheats.cpp index db61bdef79..f6078f05f3 100644 --- a/src/openrct2/Cheats.cpp +++ b/src/openrct2/Cheats.cpp @@ -374,10 +374,13 @@ static void cheat_remove_all_guests() while (spriteIndex != SPRITE_INDEX_NULL) { vehicle = GET_VEHICLE(spriteIndex); - - for (size_t i = 0; i < vehicle->num_peeps; i++) + for (size_t i = 0, offset = 0; i < vehicle->num_peeps; i++) { - peep = GET_PEEP(vehicle->peep[i]); + while (vehicle->peep[i + offset] == SPRITE_INDEX_NULL) + { + offset++; + } + peep = GET_PEEP(vehicle->peep[i + offset]); vehicle->mass -= peep->mass; } diff --git a/src/openrct2/network/Network.cpp b/src/openrct2/network/Network.cpp index f4eb2135a0..15713d9f5f 100644 --- a/src/openrct2/network/Network.cpp +++ b/src/openrct2/network/Network.cpp @@ -33,7 +33,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 "37" +#define NETWORK_STREAM_VERSION "38" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static rct_peep* _pickup_peep = nullptr;