diff --git a/CHANGES b/CHANGES index 3a7b590f8..0db36e95a 100644 --- a/CHANGES +++ b/CHANGES @@ -20,6 +20,7 @@ Emulation fixes: - GB Memory: Initialize HRAM when skipping BIOS in GBC mode (fixes mgba.io/i/3420) - GB Serialize: Add missing Pocket Cam state to savestates - GB Video: Implement DMG-style sprite ordering + - GB Video: Fix window enable edge case (fixes mgba.io/i/2640) - GBA: Unhandled bkpt should be treated as an undefined exception - GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations - GBA Serialize: Fix some minor save state edge cases diff --git a/cinema/gb/window/smurfs-score/baseline_0000.png b/cinema/gb/window/smurfs-score/baseline_0000.png new file mode 100644 index 000000000..28e647945 Binary files /dev/null and b/cinema/gb/window/smurfs-score/baseline_0000.png differ diff --git a/cinema/gb/window/smurfs-score/baseline_0001.png b/cinema/gb/window/smurfs-score/baseline_0001.png new file mode 100644 index 000000000..4f65732ea Binary files /dev/null and b/cinema/gb/window/smurfs-score/baseline_0001.png differ diff --git a/cinema/gb/window/smurfs-score/baseline_0002.png b/cinema/gb/window/smurfs-score/baseline_0002.png new file mode 100644 index 000000000..4d39f3c21 Binary files /dev/null and b/cinema/gb/window/smurfs-score/baseline_0002.png differ diff --git a/cinema/gb/window/smurfs-score/baseline_0003.png b/cinema/gb/window/smurfs-score/baseline_0003.png new file mode 100644 index 000000000..a746b2efd Binary files /dev/null and b/cinema/gb/window/smurfs-score/baseline_0003.png differ diff --git a/cinema/gb/window/smurfs-score/test.mvl b/cinema/gb/window/smurfs-score/test.mvl new file mode 100644 index 000000000..7e30d877e Binary files /dev/null and b/cinema/gb/window/smurfs-score/test.mvl differ diff --git a/src/gb/renderers/software.c b/src/gb/renderers/software.c index 76a0c55da..08e703b19 100644 --- a/src/gb/renderers/software.c +++ b/src/gb/renderers/software.c @@ -268,7 +268,7 @@ static void GBVideoSoftwareRendererUpdateWindow(struct GBVideoSoftwareRenderer* if (renderer->lastY >= GB_VIDEO_VERTICAL_PIXELS || !(after || before)) { return; } - if (!renderer->hasWindow && renderer->lastX == GB_VIDEO_HORIZONTAL_PIXELS) { + if (!renderer->hasWindow && renderer->lastX == GB_VIDEO_HORIZONTAL_PIXELS && renderer->lastY != oldWy) { return; } if (renderer->lastY >= oldWy) {