summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--video.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/video.c b/video.c
index b30ba19..9f34443 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_normal() \
+ for(i = 0; i < tile_run; i++) \
+ { \
+ single_tile_map(tile, base, 8bpp, normal); \
+ advance_dest_ptr_base(8); \
+ map_ptr++; \
+ } \
+
+#define multiple_tile_map_base_4bpp_normal() \
+ for(i = 0; i < tile_run; i++) \
+ { \
+ single_tile_map(tile, base, 4bpp, normal); \
+ advance_dest_ptr_base(8); \
+ map_ptr++; \
+ } \
+
// Draws a partial tile from a tilemap clipped against the left edge of the
// screen.
@@ -894,12 +910,12 @@ static void render_scanline_text_base_normal(u32 layer,
}
tile_run = (pixel_run - partial_tile_run) / 8;
- multiple_tile_map(base, 8bpp, normal);
+ multiple_tile_map_base_8bpp_normal();
map_ptr = second_ptr;
end -= pixel_run;
}
tile_run = end / 8;
- multiple_tile_map(base, 8bpp, normal);
+ multiple_tile_map_base_8bpp_normal();
partial_tile_run = end % 8;
if(partial_tile_run)
@@ -958,12 +974,12 @@ static void render_scanline_text_base_normal(u32 layer,
}
tile_run = (pixel_run - partial_tile_run) / 8;
- multiple_tile_map(base, 4bpp, normal);
+ multiple_tile_map_base_4bpp_normal();
map_ptr = second_ptr;
end -= pixel_run;
}
tile_run = end / 8;
- multiple_tile_map(base, 4bpp, normal);
+ multiple_tile_map_base_4bpp_normal();
partial_tile_run = end % 8;
if(partial_tile_run)