From d00b48643fb5a90a73b043cc71c6164661ad2849 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Sat, 8 Dec 2012 23:06:13 -0800 Subject: Small fix to overflow flag --- vdp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'vdp.c') diff --git a/vdp.c b/vdp.c index b502d89..76ddac1 100644 --- a/vdp.c +++ b/vdp.c @@ -128,13 +128,17 @@ void read_sprite_x(uint32_t line, vdp_context * context) dir = 8; } //printf("Sprite %d | x: %d, y: %d, width: %d, height: %d, pal_priority: %X, row: %d, tile addr: %X\n", context->sprite_info_list[context->cur_slot].index, x, context->sprite_info_list[context->cur_slot].y, width, height, pal_priority, row, address); - for (int16_t i=0; i < width && context->sprite_draws; i++, x += dir) { + int16_t i; + for (i=0; i < width && context->sprite_draws; i++, x += dir) { --context->sprite_draws; context->sprite_draw_list[context->sprite_draws].address = address + i * height * 4; context->sprite_draw_list[context->sprite_draws].x_pos = x; context->sprite_draw_list[context->sprite_draws].pal_priority = pal_priority; context->sprite_draw_list[context->sprite_draws].h_flip = (tileinfo & MAP_BIT_H_FLIP) ? 1 : 0; } + if (i < width) { + context->flags |= FLAG_DOT_OFLOW; + } context->cur_slot--; } else { //printf("Masking %d | line: %d, x: %d, flags: %X\n", context->sprite_info_list[context->cur_slot].index, line, x, context->flags); -- cgit v1.2.3