From 4bd35550455e74a870a52c611d8e39d4dde20015 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Tue, 16 Jun 2015 22:02:19 -0700 Subject: [PATCH] GBA Video: Fix windows not affecting sprites --- CHANGES | 1 + src/gba/renderers/video-software.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b522ce84d..c962d140e 100644 --- a/CHANGES +++ b/CHANGES @@ -44,6 +44,7 @@ Bugfixes: - SDL: Fix SDL build when OpenGL is missing - ARM7: Fix timing of multiplies to use N cycles - GBA: Fix calls to endian-independent loadstores + - GBA Video: Fix windows not affecting sprites Misc: - Qt: Handle saving input settings better - Debugger: Free watchpoints in addition to breakpoints diff --git a/src/gba/renderers/video-software.c b/src/gba/renderers/video-software.c index 06fe436c0..eaa7e1bb7 100644 --- a/src/gba/renderers/video-software.c +++ b/src/gba/renderers/video-software.c @@ -736,7 +736,7 @@ static void _drawScanline(struct GBAVideoSoftwareRenderer* renderer, int y) { renderer->start = renderer->end; renderer->end = renderer->windows[w].endX; renderer->currentWindow = renderer->windows[w].control; - if (spriteLayers & (1 << priority)) { + if (GBAWindowControlIsObjEnable(renderer->currentWindow.packed) && spriteLayers & (1 << priority)) { _postprocessSprite(renderer, priority); } if (TEST_LAYER_ENABLED(0) && GBARegisterDISPCNTGetMode(renderer->dispcnt) < 2) {