mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 09:32:29 +01:00
Merge pull request #2089 from Dandandan/optimize
Cache expression in gfx_rle_sprite_to_buffer
This commit is contained in:
@@ -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 line_width = (dpi->width >> zoom_level) + dpi->pitch;
|
||||
|
||||
if (source_y_start < 0){
|
||||
source_y_start += zoom_amount;
|
||||
next_dest_pointer += dpi->width / zoom_amount + dpi->pitch;
|
||||
next_dest_pointer += line_width;
|
||||
height -= zoom_amount;
|
||||
}
|
||||
|
||||
@@ -309,7 +311,7 @@ void gfx_rle_sprite_to_buffer(uint8* source_bits_pointer, uint8* dest_bits_point
|
||||
if (x_start > 0){
|
||||
//Since the start is positive
|
||||
//We need to move the drawing surface to the correct position
|
||||
dest_pointer += x_start / zoom_amount;
|
||||
dest_pointer += x_start >> zoom_level;
|
||||
}
|
||||
else{
|
||||
//If the start is negative we require to remove part of the image.
|
||||
@@ -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 += line_width;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user