mirror of https://github.com/OpenRCT2/OpenRCT2.git
Resolved leaving guests searching for invalid entrance
This commit is contained in:
parent
e94b7d5338
commit
63ddfa53cd
|
@ -11,6 +11,7 @@
|
||||||
- Fix: [#2449] Turning off Day/Night Circle while it is night doesn't reset back to day
|
- Fix: [#2449] Turning off Day/Night Circle while it is night doesn't reset back to day
|
||||||
- Fix: [#2650] Server did not validate actions send from clients (caused error box and desynchronisation)
|
- Fix: [#2650] Server did not validate actions send from clients (caused error box and desynchronisation)
|
||||||
- Fix: [#2651] Ride was not removed when multiplayer client aborted ride construction.
|
- Fix: [#2651] Ride was not removed when multiplayer client aborted ride construction.
|
||||||
|
- Fix: [#2654] Free transport rides can prevent guests from properly leaving the park
|
||||||
|
|
||||||
0.0.3.1-beta (2015-12-04)
|
0.0.3.1-beta (2015-12-04)
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
|
@ -7280,6 +7280,12 @@ static int guest_path_find_leaving_park(rct_peep *peep, rct_map_element *map_ele
|
||||||
static int guest_path_find_park_entrance(rct_peep* peep, rct_map_element *map_element, uint8 edges){
|
static int guest_path_find_park_entrance(rct_peep* peep, rct_map_element *map_element, uint8 edges){
|
||||||
uint8 entranceNum;
|
uint8 entranceNum;
|
||||||
|
|
||||||
|
// Resolves already-corrupt guests (e.g. loaded from save)
|
||||||
|
if (peep->flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN &&
|
||||||
|
(peep->current_ride >= 4 ||
|
||||||
|
RCT2_ADDRESS(RCT2_ADDRESS_PARK_ENTRANCE_X, sint16)[peep->current_ride] == (sint16)0x8000)
|
||||||
|
) peep->flags &= ~(PEEP_FLAGS_PARK_ENTRANCE_CHOSEN);
|
||||||
|
|
||||||
if (!(peep->flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN)){
|
if (!(peep->flags & PEEP_FLAGS_PARK_ENTRANCE_CHOSEN)){
|
||||||
uint8 chosenEntrance = 0xFF;
|
uint8 chosenEntrance = 0xFF;
|
||||||
uint16 nearestDist = 0xFFFF;
|
uint16 nearestDist = 0xFFFF;
|
||||||
|
@ -8066,6 +8072,9 @@ static void peep_on_exit_ride(rct_peep *peep, int rideIndex)
|
||||||
peep->nausea = peep->nausea_growth_rate;
|
peep->nausea = peep->nausea_growth_rate;
|
||||||
peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_STATS;
|
peep->window_invalidate_flags |= PEEP_INVALIDATE_PEEP_STATS;
|
||||||
|
|
||||||
|
if (peep->flags & PEEP_FLAGS_LEAVING_PARK)
|
||||||
|
peep->flags &= ~(PEEP_FLAGS_PARK_ENTRANCE_CHOSEN);
|
||||||
|
|
||||||
if (peep_should_go_on_ride_again(peep, ride)) {
|
if (peep_should_go_on_ride_again(peep, ride)) {
|
||||||
peep->guest_heading_to_ride_id = rideIndex;
|
peep->guest_heading_to_ride_id = rideIndex;
|
||||||
peep->peep_is_lost_countdown = 200;
|
peep->peep_is_lost_countdown = 200;
|
||||||
|
|
Loading…
Reference in New Issue