OpenGL: fix cases of layers/sprites blending over the 3D layer

This commit is contained in:
Arisotura 2019-06-01 03:39:35 +02:00
parent 27d21e06df
commit 78208a9728
1 changed files with 3 additions and 2 deletions

View File

@ -1443,7 +1443,8 @@ void GPU2D::DrawScanline_BGOBJ(u32 line)
eva = flag1 & 0x1F;
evb = 16 - eva;
}
else if ((BlendCnt & target1) && (WindowMask[i] & 0x20))
else if (((BlendCnt & target1) && (WindowMask[i] & 0x20)) ||
((flag1 & 0xC0) == 0x80))
{
eva = EVA;
evb = EVB;
@ -1453,7 +1454,7 @@ void GPU2D::DrawScanline_BGOBJ(u32 line)
BGOBJLine[i] = val1;
BGOBJLine[256+i] = ColorComposite(i, val1, val3);
BGOBJLine[512+i] = (bldcnteffect << 24) | (EVB << 16) | (EVA << 8) | (val1 & 0xFF);
BGOBJLine[512+i] = (bldcnteffect << 24) | (EVB << 16) | (EVA << 8) | (val2 & 0xFF);
}
else
{