Mercurial > repos > blastem
changeset 1358:3716b90d3470
Fix regression in Mode 4 sprite rendering
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 11 May 2017 20:33:31 -0700 |
parents | 5ee19c72fa95 |
children | 8c6d2ed3b959 |
files | vdp.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/vdp.c Thu May 11 08:01:10 2017 -0700 +++ b/vdp.c Thu May 11 20:33:31 2017 -0700 @@ -586,8 +586,7 @@ if (y <= line && line < (y + height)) { //printf("Sprite %d at y: %d with height %d is on line %d\n", context->sprite_index, y, height, line); context->sprite_info_list[context->slot_counter].size = context->sat_cache[address+2]; - context->sprite_info_list[context->slot_counter].index = context->sprite_index; - context->sprite_info_list[context->slot_counter++].y = y-ymin; + context->sprite_info_list[context->slot_counter++].index = context->sprite_index; } context->sprite_index = context->sat_cache[address+3] & 0x7F; if (context->sprite_index && ((uint8_t)context->slot_counter) < context->max_sprites_line) @@ -604,8 +603,7 @@ if (y <= line && line < (y + height)) { //printf("Sprite %d at y: %d with height %d is on line %d\n", context->sprite_index, y, height, line); context->sprite_info_list[context->slot_counter].size = context->sat_cache[address+2]; - context->sprite_info_list[context->slot_counter].index = context->sprite_index; - context->sprite_info_list[context->slot_counter++].y = y-ymin; + context->sprite_info_list[context->slot_counter++].index = context->sprite_index; } context->sprite_index = context->sat_cache[address+3] & 0x7F; } @@ -635,6 +633,7 @@ } context->sprite_info_list[--(context->slot_counter)].size = size; context->sprite_info_list[context->slot_counter].index = context->sprite_index; + context->sprite_info_list[context->slot_counter].y = y; } context->sprite_index++; } @@ -653,6 +652,7 @@ } context->sprite_info_list[--(context->slot_counter)].size = size; context->sprite_info_list[context->slot_counter].index = context->sprite_index; + context->sprite_info_list[context->slot_counter].y = y; } context->sprite_index++; }