From 778a267c5a14f8d1c8e9357824f4e76f011d79fb Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Sun, 14 Feb 2016 14:12:51 +0100 Subject: [PATCH] Reset srand after calling function --- src/peep/peep.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/peep/peep.c b/src/peep/peep.c index 42561316e7..73556efa8c 100644 --- a/src/peep/peep.c +++ b/src/peep/peep.c @@ -9683,9 +9683,15 @@ static bool original_sub_690B99(rct_peep *peep, int edge, uint8 *rideToView, uin * rct2: 0x00690B99 */ static bool sub_690B99(rct_peep *peep, uint8 edge, uint8 *rideToView, uint8 *rideSeatToView) { + uint32 srand_0 = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_SRAND_0, uint32); + uint32 srand_1 = RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_SRAND_1, uint32); + uint8 originalRideToView, originalRideSeatToView; bool originalOut = original_sub_690B99(peep, edge, &originalRideToView, &originalRideSeatToView); + RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_SRAND_0, uint32) = srand_0; + RCT2_GLOBAL(RCT2_ADDRESS_SCENARIO_SRAND_1, uint32) = srand_1; + uint8 newRideToView, newRideSeatToView; bool newOut = new_sub_690B99(peep, edge, &newRideToView, &newRideSeatToView);