all repos — mgba @ ee8dedeea144be20640640a34162c1df7faa1eb7

mGBA Game Boy Advance Emulator

GBA Video: Fix blend issues with obscured middle layers
Jeffrey Pfau jeffrey@endrift.com
Tue, 23 Dec 2014 00:10:08 -0800
commit

ee8dedeea144be20640640a34162c1df7faa1eb7

parent

6cc889022666683f20f9614fd65392ab8e5af4c1

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

jump to
M CHANGESCHANGES

@@ -24,6 +24,7 @@ - GBA Memory: Properly initialize 1 Mb flash, and add debug logging

- Qt: Properly set default video recording settings - GBA Audio: Make larger buffer sizes than 2048 actually work properly - GBA Audio: Audio buffer sizes are now correct sizes for both sample rates + - GBA Video: Fix blend issues with obscured middle layers 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

@@ -1303,7 +1303,7 @@ int tileEnd = ((length + inX) >> 3) - (inX >> 3);

uint16_t* vram = renderer->d.vram; if (!objwinSlowPath) { - if (!(flags & FLAG_TARGET_2)) { + if (!(flags & FLAG_TARGET_2) && renderer->blendEffect != BLEND_ALPHA) { if (!background->multipalette) { DRAW_BACKGROUND_MODE_0(16, NoBlend, NO_OBJWIN); } else {

@@ -1317,7 +1317,7 @@ DRAW_BACKGROUND_MODE_0(256, Blend, NO_OBJWIN);

} } } else { - if (!(flags & FLAG_TARGET_2)) { + if (!(flags & FLAG_TARGET_2) && renderer->blendEffect != BLEND_ALPHA) { if (!background->multipalette) { DRAW_BACKGROUND_MODE_0(16, NoBlend, OBJWIN); } else {