I can reproduce this.
peep->days_in_queue seems to contain reasonable values, like from 0-10.
peep->time_in_queue however usually contains huge values in the range of 62000 ~ 65000 that seem quite like an underflow is happening somewhere. But in the decompiled code I can see nothing suspicious. This also happens with fresh guests after clearing all guests from the park.
Changing peep->time_in_queue from an uint16 to an sint16 works around this problem, but I'm still not sure why there are negative values there.
Edit: It seems like some uncompiled code is adding -200 (or subtracting 200) from the time_in_queue value more or less randomly. But I'm not sure since I don't have a working disassembler.
This is an original bug and it is caused by having entertainers.
To fix this bug we need to do some more implemenation of the peep code. Specifically 0x006BF926->0x006c05ae->0x006c086d
@duncanspumpkin is this fixed yet?
I think it was but I can't remember
Doesn't look like it's fixed. But should be easy now as the code is decompiled.
Just need to make sure there is no underflow here:
https://github.com/OpenRCT2/OpenRCT2/blob/develop/src/peep/staff.c#L1243
I'm at work now, but if nobody want to fix this quickly i can create a pull request in a few hours.
RIP this bug.
Most helpful comment
Doesn't look like it's fixed. But should be easy now as the code is decompiled.
Just need to make sure there is no underflow here:
https://github.com/OpenRCT2/OpenRCT2/blob/develop/src/peep/staff.c#L1243
I'm at work now, but if nobody want to fix this quickly i can create a pull request in a few hours.