mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-22 06:23:04 +01:00
Fix bug in sprite_move, add sprite null check
This commit is contained in:
@@ -557,10 +557,12 @@ void sprite_move(sint16 x, sint16 y, sint16 z, rct_sprite *sprite)
|
||||
size_t currentIndex = GetSpatialIndexOffset(sprite->unknown.x, sprite->unknown.y);
|
||||
if (newIndex != currentIndex) {
|
||||
uint16 *spriteIndex = &gSpriteSpatialIndex[currentIndex];
|
||||
rct_sprite *sprite2 = get_sprite(*spriteIndex);
|
||||
while (sprite != sprite2) {
|
||||
spriteIndex = &sprite2->unknown.next_in_quadrant;
|
||||
sprite2 = get_sprite(*spriteIndex);
|
||||
if (*spriteIndex != SPRITE_INDEX_NULL) {
|
||||
rct_sprite *sprite2 = get_sprite(*spriteIndex);
|
||||
while (sprite != sprite2) {
|
||||
spriteIndex = &sprite2->unknown.next_in_quadrant;
|
||||
sprite2 = get_sprite(*spriteIndex);
|
||||
}
|
||||
}
|
||||
*spriteIndex = sprite->unknown.next_in_quadrant;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user