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) {