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++;
 			}