diff --git a/src/drawing/sprite.c b/src/drawing/sprite.c index c343ee1ebf..0fc5ef7609 100644 --- a/src/drawing/sprite.c +++ b/src/drawing/sprite.c @@ -265,9 +265,11 @@ void gfx_rle_sprite_to_buffer(uint8* source_bits_pointer, uint8* dest_bits_point uint8* next_source_pointer; uint8* next_dest_pointer = dest_bits_pointer; + int lineWidth = (dpi->width / zoom_amount) + dpi->pitch; + if (source_y_start < 0){ source_y_start += zoom_amount; - next_dest_pointer += dpi->width / zoom_amount + dpi->pitch; + next_dest_pointer += lineWidth; height -= zoom_amount; } @@ -365,7 +367,7 @@ void gfx_rle_sprite_to_buffer(uint8* source_bits_pointer, uint8* dest_bits_point } //Add a line to the drawing surface pointer - next_dest_pointer += dpi->width / zoom_amount + dpi->pitch; + next_dest_pointer += lineWidth; } }