mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #1203 from trigger-death/MOM-saftey-checks
Added some M.O.M. safety checks.
This commit is contained in:
commit
3e9e17e679
|
@ -1201,7 +1201,7 @@ void peep_update_ride_sub_state_1(rct_peep* peep){
|
|||
|
||||
map_element = ride_get_station_start_track_element(ride, peep->current_ride_station);
|
||||
|
||||
uint8 direction_track = map_element->type & MAP_ELEMENT_DIRECTION_MASK;
|
||||
uint8 direction_track = (!map_element ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK);
|
||||
|
||||
peep->var_37 = (direction_entrance << 2) | (direction_track << 4);
|
||||
|
||||
|
@ -1246,7 +1246,7 @@ void peep_update_ride_sub_state_1(rct_peep* peep){
|
|||
|
||||
map_element = ride_get_station_start_track_element(ride, peep->current_ride_station);
|
||||
|
||||
uint8 direction_track = map_element->type & MAP_ELEMENT_DIRECTION_MASK;
|
||||
uint8 direction_track = (!map_element ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK);
|
||||
|
||||
vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]);
|
||||
ride_entry = GET_RIDE_ENTRY(vehicle->ride_subtype);
|
||||
|
@ -1726,7 +1726,7 @@ static void peep_update_ride_sub_state_7(rct_peep* peep){
|
|||
|
||||
map_element = ride_get_station_start_track_element(ride, peep->current_ride_station);
|
||||
|
||||
uint8 station_direction = map_element->type & MAP_ELEMENT_DIRECTION_MASK;
|
||||
uint8 station_direction = (!map_element ? 0 : map_element->type & MAP_ELEMENT_DIRECTION_MASK);
|
||||
|
||||
vehicle = GET_VEHICLE(ride->vehicles[peep->current_train]);
|
||||
|
||||
|
|
|
@ -1707,9 +1707,17 @@ static void ride_prepare_breakdown(int rideIndex, int breakdownReason)
|
|||
|
||||
// Set flag on broken car
|
||||
vehicle = &(g_sprite_list[ride->vehicles[ride->broken_vehicle]].vehicle);
|
||||
for (i = ride->broken_car; i > 0; i--)
|
||||
vehicle = &(g_sprite_list[vehicle->next_vehicle_on_train].vehicle);
|
||||
vehicle->var_48 |= 0x100;
|
||||
for (i = ride->broken_car; i > 0; i--) {
|
||||
if (vehicle->next_vehicle_on_train == (uint16)0xFFFFFFFF) {
|
||||
vehicle = NULL;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
vehicle = &(g_sprite_list[vehicle->next_vehicle_on_train].vehicle);
|
||||
}
|
||||
}
|
||||
if (vehicle != NULL)
|
||||
vehicle->var_48 |= 0x100;
|
||||
break;
|
||||
case BREAKDOWN_VEHICLE_MALFUNCTION:
|
||||
// Choose a random train
|
||||
|
|
Loading…
Reference in New Issue