mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-26 19:21:49 +01:00
[Core/VDP] disabled sprite rendering during border when borders are not disabled (fixes wrong sprite collision detection in Racer homebrew game when borders are disabled)
This commit is contained in:
parent
d819b4bccd
commit
373b4ff214
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
Binary file not shown.
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
@ -1285,17 +1285,22 @@ void system_frame_sms(int do_skip)
|
||||
/* update VCounter */
|
||||
v_counter = line;
|
||||
|
||||
/* Master System & Game Gear VDP specific */
|
||||
if ((system_hw < SYSTEM_MD) && (line > (lines_per_frame - 16)))
|
||||
{
|
||||
/* Sprites are still processed during top border */
|
||||
render_obj((line - lines_per_frame) & 1);
|
||||
parse_satb(line - lines_per_frame);
|
||||
}
|
||||
|
||||
/* render overscan */
|
||||
if ((line < end) || (line >= start))
|
||||
{
|
||||
/* Master System & Game Gear VDP specific */
|
||||
if ((system_hw < SYSTEM_MD) && (line > (lines_per_frame - 16)))
|
||||
{
|
||||
/* Sprites are still processed during top border */
|
||||
if (reg[1] & 0x40)
|
||||
{
|
||||
render_obj((line - lines_per_frame) & 1);
|
||||
}
|
||||
|
||||
/* Sprites pre-processing occurs even when display is disabled */
|
||||
parse_satb(line - lines_per_frame);
|
||||
}
|
||||
|
||||
blank_line(line, -bitmap.viewport.x, bitmap.viewport.w + 2*bitmap.viewport.x);
|
||||
}
|
||||
|
||||
@ -1316,6 +1321,16 @@ void system_frame_sms(int do_skip)
|
||||
/* last line of overscan */
|
||||
if (bitmap.viewport.y > 0)
|
||||
{
|
||||
/* Master System & Game Gear VDP specific */
|
||||
if (system_hw < SYSTEM_MD)
|
||||
{
|
||||
/* Sprites are still processed during top border */
|
||||
if (reg[1] & 0x40)
|
||||
{
|
||||
render_obj(1);
|
||||
}
|
||||
}
|
||||
|
||||
blank_line(line, -bitmap.viewport.x, bitmap.viewport.w + 2*bitmap.viewport.x);
|
||||
}
|
||||
|
||||
@ -1365,13 +1380,7 @@ void system_frame_sms(int do_skip)
|
||||
|
||||
/* Master System & Game Gear VDP specific */
|
||||
else
|
||||
{
|
||||
/* Sprites are still processed during top border */
|
||||
if (reg[1] & 0x40)
|
||||
{
|
||||
render_obj(1);
|
||||
}
|
||||
|
||||
{
|
||||
/* Sprites pre-processing occurs even when display is disabled */
|
||||
parse_satb(-1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user