all repos — mgba @ 7e2e4be2e3eb72287ea641121253397dc9e9f7f9

mGBA Game Boy Advance Emulator

GBA Video: Fix blend issues with obscured middle layers

Conflicts:
	CHANGES
Jeffrey Pfau jeffrey@endrift.com
Tue, 23 Dec 2014 00:10:08 -0800
commit

7e2e4be2e3eb72287ea641121253397dc9e9f7f9

parent

cd6a7c559e866399b4d9f063ba3de9afe2bbbbe3

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

jump to
M CHANGESCHANGES

@@ -12,6 +12,7 @@ - Qt: Fix window focus issues

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