diff --git a/video.c b/video.c index ced76f5..7250177 100644 --- a/video.c +++ b/video.c @@ -636,6 +636,22 @@ static void render_scanline_conditional_bitmap(u32 start, u32 end, u16 *scanline map_ptr++; \ } \ +#define multiple_tile_map_base_8bpp_color16() \ + for(i = 0; i < tile_run; i++) \ + { \ + single_tile_map(tile, base, 8bpp, color16); \ + advance_dest_ptr_base(8); \ + map_ptr++; \ + } \ + +#define multiple_tile_map_base_4bpp_color16() \ + for(i = 0; i < tile_run; i++) \ + { \ + single_tile_map(tile, base, 4bpp, color16); \ + advance_dest_ptr_base(8); \ + map_ptr++; \ + } \ + #define multiple_tile_map_transparent_8bpp_normal() \ for(i = 0; i < tile_run; i++) \ { \ @@ -1297,12 +1313,12 @@ static void render_scanline_text_base_color16(u32 layer, } tile_run = (pixel_run - partial_tile_run) / 8; - multiple_tile_map(base, 8bpp, color16); + multiple_tile_map_base_8bpp_color16(); map_ptr = second_ptr; end -= pixel_run; } tile_run = end / 8; - multiple_tile_map(base, 8bpp, color16); + multiple_tile_map_base_8bpp_color16(); partial_tile_run = end % 8; if(partial_tile_run) @@ -1360,12 +1376,12 @@ static void render_scanline_text_base_color16(u32 layer, } tile_run = (pixel_run - partial_tile_run) / 8; - multiple_tile_map(base, 4bpp, color16); + multiple_tile_map_base_4bpp_color16(); map_ptr = second_ptr; end -= pixel_run; } tile_run = end / 8; - multiple_tile_map(base, 4bpp, color16); + multiple_tile_map_base_4bpp_color16(); partial_tile_run = end % 8;