all repos — mgba @ b6d189d88b48d7058b4cd004f64edb6114d32378

mGBA Game Boy Advance Emulator

GBA Video: Fix windows not disabling target 1 appropriately (fixes #161)
Jeffrey Pfau jeffrey@endrift.com
Wed, 24 Dec 2014 20:25:25 -0800
commit

b6d189d88b48d7058b4cd004f64edb6114d32378

parent

b8076be8604a3c6bf315d798c64328a4d5168301

2 files changed, 3 insertions(+), 2 deletions(-)

jump to
M CHANGESCHANGES

@@ -27,6 +27,7 @@ - GBA Audio: Audio buffer sizes are now correct sizes for both sample rates

- GBA Video: Fix blend issues with obscured middle layers - Video: Ensure FFmpeg encoder has audio frames - Video: Fix uncompressed PCM audio recording + - GBA Video: Fix windows not disabling target 1 appropriately (fixes #161) Misc: - Qt: Disable sync to video by default - GBA: Exit cleanly on FATAL if the port supports it
M src/gba/renderers/video-software.csrc/gba/renderers/video-software.c

@@ -1276,7 +1276,7 @@

unsigned xBase; int flags = (background->priority << OFFSET_PRIORITY) | (background->index << OFFSET_INDEX) | FLAG_IS_BACKGROUND; - flags |= FLAG_TARGET_1 * (background->target1 && renderer->blendEffect == BLEND_ALPHA); + flags |= FLAG_TARGET_1 * (background->target1 && renderer->blendEffect == BLEND_ALPHA && GBAWindowControlIsBlendEnable(renderer->currentWindow.packed)); flags |= FLAG_TARGET_2 * background->target2; if (renderer->blda == 0x10 && renderer->bldb == 0) { flags &= ~(FLAG_TARGET_1 | FLAG_TARGET_2);

@@ -1349,7 +1349,7 @@ int32_t localX; \

int32_t localY; \ \ int flags = (background->priority << OFFSET_PRIORITY) | (background->index << OFFSET_INDEX) | FLAG_IS_BACKGROUND; \ - flags |= FLAG_TARGET_1 * (background->target1 && renderer->blendEffect == BLEND_ALPHA); \ + flags |= FLAG_TARGET_1 * (background->target1 && renderer->blendEffect == BLEND_ALPHA && GBAWindowControlIsBlendEnable(renderer->currentWindow.packed)); \ flags |= FLAG_TARGET_2 * background->target2; \ if (renderer->blda == 0x10 && renderer->bldb == 0) { \ flags &= ~(FLAG_TARGET_1 | FLAG_TARGET_2); \