changeset 35:233c7737c152

Small fix to overflow flag
author Mike Pavone <pavone@retrodev.com>
date Sat, 08 Dec 2012 23:06:13 -0800
parents 0e7df84158b1
children 04672c060062
files vdp.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/vdp.c	Sat Dec 08 22:50:14 2012 -0800
+++ b/vdp.c	Sat Dec 08 23:06:13 2012 -0800
@@ -128,13 +128,17 @@
 					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);