From 940754af8124642c93a6a127828f9a33b36598e2 Mon Sep 17 00:00:00 2001 From: Duncan Date: Sun, 8 Jun 2014 22:00:23 +0100 Subject: [PATCH] trying to fix zooming problems. --- src/gfx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gfx.c b/src/gfx.c index ed6fca1458..b081a8e861 100644 --- a/src/gfx.c +++ b/src/gfx.c @@ -749,7 +749,7 @@ rct_g1_element gfx_sprite_zoom_image(rct_g1_element* source, int zoom_level){ void gfx_rle_sprite_to_buffer(uint8* source_bits_pointer, uint8* dest_bits_pointer, uint8* palette_pointer, rct_drawpixelinfo *dpi, int image_type, int source_y_start, int height, int source_x_start, int width){ int zoom_level = dpi->zoom_level + 1; - uint16 offset_to_first_line = ((uint16*)source_bits_pointer)[source_y_start*zoom_level]; + uint16 offset_to_first_line = ((uint16*)source_bits_pointer)[source_y_start]; //This will now point to the first line uint8* next_source_pointer = source_bits_pointer + offset_to_first_line; uint8* next_dest_pointer = dest_bits_pointer; @@ -775,7 +775,7 @@ void gfx_rle_sprite_to_buffer(uint8* source_bits_pointer, uint8* dest_bits_point next_source_pointer = source_pointer + no_pixels; //Calculates the start point of the image - int x_start = gap_size - source_x_start*zoom_level; + int x_start = gap_size / zoom_level - source_x_start*zoom_level; if (x_start > 0){ //Since the start is positive