DS Video: Fix 2D/3D blending alpha values

This commit is contained in:
Vicki Pfau 2017-07-17 16:18:50 -07:00
parent 6054589b5b
commit 7d360d6cb8
2 changed files with 4 additions and 2 deletions

View File

@ -10,6 +10,7 @@ Bugfixes:
- DS GX: Properly center cross product in polygon normal calculations - DS GX: Properly center cross product in polygon normal calculations
- DS Video: Fix affine parameter advancing (fixes mgba.io/i/802) - DS Video: Fix affine parameter advancing (fixes mgba.io/i/802)
- DS GX: Fix incorrect W values - DS GX: Fix incorrect W values
- DS Video: Fix 2D/3D blending alpha values
Misc: Misc:
- DS GX: Clean up and unify texture mapping - DS GX: Clean up and unify texture mapping
- DS Core: Add symbol loading - DS Core: Add symbol loading

View File

@ -429,11 +429,12 @@ static void DSVideoSoftwareRendererDrawGBAScanline(struct GBAVideoRenderer* rend
} else { } else {
if (!(flags & FLAG_TARGET_2) || !(softwareRenderer->row[x] & FLAG_TARGET_1)) { if (!(flags & FLAG_TARGET_2) || !(softwareRenderer->row[x] & FLAG_TARGET_1)) {
_compositeNoBlendNoObjwin(softwareRenderer, x, (color & 0x00FFFFFF) | flags, softwareRenderer->row[x]); _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) { } else if (softwareRenderer->row[x] & FLAG_TARGET_1) {
softwareRenderer->alphaB[x] = 0x10;
_compositeBlendNoObjwin(softwareRenderer, x, (color & 0x00FFFFFF) | flags, softwareRenderer->row[x]); _compositeBlendNoObjwin(softwareRenderer, x, (color & 0x00FFFFFF) | flags, softwareRenderer->row[x]);
} }
softwareRenderer->alphaA[x] = 0x10;
softwareRenderer->alphaB[x] = 0;
} }
} }
} }