all repos — mgba @ 7d360d6cb893f916ecdcece999303cd6a35e952c

mGBA Game Boy Advance Emulator

DS Video: Fix 2D/3D blending alpha values
Vicki Pfau vi@endrift.com
Mon, 17 Jul 2017 16:18:50 -0700
commit

7d360d6cb893f916ecdcece999303cd6a35e952c

parent

6054589b5bce8684fa2369454c8a393e488a01d4

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

jump to
M CHANGESCHANGES

@@ -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.csrc/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; } } }