DS Video: Fix 2D/3D blending alpha values
Vicki Pfau vi@endrift.com
Mon, 17 Jul 2017 16:18:50 -0700
2 files changed,
4 insertions(+),
2 deletions(-)
M
CHANGES
→
CHANGES
@@ -10,6 +10,7 @@ - DS Video: Fix display capture blending value 16 (fixes mgba.io/i/757)
- DS GX: Properly center cross product in polygon normal calculations - DS Video: Fix affine parameter advancing (fixes mgba.io/i/802) - DS GX: Fix incorrect W values + - DS Video: Fix 2D/3D blending alpha values Misc: - DS GX: Clean up and unify texture mapping - DS Core: Add symbol loading
M
src/ds/renderers/software.c
→
src/ds/renderers/software.c
@@ -429,11 +429,12 @@ _compositeBlendNoObjwin(softwareRenderer, x, (color & 0x00FFFFFF) | flags | FLAG_TARGET_1, softwareRenderer->row[x]);
} else { if (!(flags & FLAG_TARGET_2) || !(softwareRenderer->row[x] & FLAG_TARGET_1)) { _compositeNoBlendNoObjwin(softwareRenderer, x, (color & 0x00FFFFFF) | flags, softwareRenderer->row[x]); - softwareRenderer->alphaA[x] = 0x10; - softwareRenderer->alphaB[x] = 0; } else if (softwareRenderer->row[x] & FLAG_TARGET_1) { + softwareRenderer->alphaB[x] = 0x10; _compositeBlendNoObjwin(softwareRenderer, x, (color & 0x00FFFFFF) | flags, softwareRenderer->row[x]); } + softwareRenderer->alphaA[x] = 0x10; + softwareRenderer->alphaB[x] = 0; } } }