Refactor more code to correctly handle sprite count

This commit is contained in:
Michał Janiszewski 2016-07-17 23:24:16 +02:00
parent 381545aa2b
commit 313230a9a4
2 changed files with 5 additions and 4 deletions

View File

@ -817,8 +817,8 @@ void ride_get_status(int rideIndex, int *formatSecondary, int *argument)
*formatSecondary = STR_TEST_RUN;
return;
}
rct_peep *peep = GET_PEEP(ride->race_winner);
if (ride->mode == RIDE_MODE_RACE && !(ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) && ride->race_winner != 0xFFFF && peep->sprite_identifier == SPRITE_IDENTIFIER_PEEP) {
if (ride->mode == RIDE_MODE_RACE && !(ride->lifecycle_flags & RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING) && ride->race_winner != 0xFFFF && (GET_PEEP(ride->race_winner))->sprite_identifier == SPRITE_IDENTIFIER_PEEP) {
rct_peep *peep = GET_PEEP(ride->race_winner);
if (peep->name_string_idx == STR_GUEST_X) {
*argument = peep->id;
*formatSecondary = STR_RACE_WON_BY_GUEST;

View File

@ -5473,8 +5473,9 @@ bool vehicle_update_bumper_car_collision(rct_vehicle *vehicle, sint16 x, sint16
uint8 rideIndex = vehicle->ride;
for (sint32* ebp = RCT2_ADDRESS(0x009A37C4, sint32); ebp <= RCT2_ADDRESS(0x009A37E4, sint32); ebp++) {
uint16 spriteIdx = gSpriteSpatialIndex[location];
for (rct_vehicle* vehicle2 = GET_VEHICLE(spriteIdx); spriteIdx != 0xFFFF; spriteIdx = vehicle2->next_in_quadrant) {
vehicle2 = GET_VEHICLE(spriteIdx);
while (spriteIdx != 0xFFFF) {
rct_vehicle* vehicle2 = GET_VEHICLE(spriteIdx);
spriteIdx = vehicle2->next_in_quadrant;
if (vehicle2 == vehicle)
continue;