From 79c13d00215504dd929d893ecd265a16d3e73836 Mon Sep 17 00:00:00 2001 From: purplemarshmallow Date: Thu, 17 Nov 2016 17:31:33 +0100 Subject: [PATCH] [Glide64] correct Winback hack --- Source/Glide64/rdp.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Source/Glide64/rdp.cpp b/Source/Glide64/rdp.cpp index 3934a76c6..ea70a343c 100644 --- a/Source/Glide64/rdp.cpp +++ b/Source/Glide64/rdp.cpp @@ -929,16 +929,17 @@ static void rdp_texrect() else { //gDPTextureRectangle - if (g_settings->hacks&hack_ASB || g_settings->hacks&hack_Winback) + if (g_settings->hacks&hack_Winback) { + rdp.pc[rdp.pc_i] += 8; + return; + } + + if (g_settings->hacks&hack_ASB) rdp.cmd2 = 0; else rdp.cmd2 = ((uint32_t*)gfx.RDRAM)[a + 0]; - if (g_settings->hacks&hack_Winback) - rdp.cmd3 = 0; - else - rdp.cmd3 = ((uint32_t*)gfx.RDRAM)[a + 1]; - + rdp.cmd3 = ((uint32_t*)gfx.RDRAM)[a + 1]; rdp.pc[rdp.pc_i] += 8; } } @@ -948,7 +949,7 @@ static void rdp_texrect() return; } - if (rdp.skip_drawing || (!fb_emulation_enabled && (rdp.cimg == rdp.zimg)) || rdp.cmd3 == 0) + if (rdp.skip_drawing || (!fb_emulation_enabled && (rdp.cimg == rdp.zimg))) { if ((g_settings->hacks&hack_PMario) && rdp.ci_status == ci_useless) {