GBA Video: Fix sprite/backdrop blending regression
1
CHANGES
@ -29,6 +29,7 @@ Emulation fixes:
|
|||||||
- GBA Video: Fix double-size OBJ wrapping in GL renderer (fixes mgba.io/i/1712)
|
- GBA Video: Fix double-size OBJ wrapping in GL renderer (fixes mgba.io/i/1712)
|
||||||
- GBA Video: Simplify sprite cycle counting (fixes mgba.io/i/1279)
|
- GBA Video: Simplify sprite cycle counting (fixes mgba.io/i/1279)
|
||||||
- GBA Video: Add sprite cycle counting to GL (fixes mgba.io/i/1635)
|
- GBA Video: Add sprite cycle counting to GL (fixes mgba.io/i/1635)
|
||||||
|
- GBA Video: Fix sprite/backdrop blending regression
|
||||||
- SM83: Emulate HALT bug
|
- SM83: Emulate HALT bug
|
||||||
Other fixes:
|
Other fixes:
|
||||||
- 3DS: Fix framelimiter on newer citro3d (fixes mgba.io/i/1771)
|
- 3DS: Fix framelimiter on newer citro3d (fixes mgba.io/i/1771)
|
||||||
|
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0000.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0001.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0002.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0003.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0004.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0005.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/baseline_0006.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
cinema/gba/blend/bof-obj-backdrop-blend/test.mvl
Normal file
@ -165,7 +165,7 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re
|
|||||||
int variant = (renderer->target1Obj || GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT) &&
|
int variant = (renderer->target1Obj || GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT) &&
|
||||||
GBAWindowControlIsBlendEnable(renderer->currentWindow.packed) &&
|
GBAWindowControlIsBlendEnable(renderer->currentWindow.packed) &&
|
||||||
(renderer->blendEffect == BLEND_BRIGHTEN || renderer->blendEffect == BLEND_DARKEN);
|
(renderer->blendEffect == BLEND_BRIGHTEN || renderer->blendEffect == BLEND_DARKEN);
|
||||||
if (GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT || objwinSlowPath) {
|
if (GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT || (renderer->target1Obj && renderer->blendEffect == BLEND_ALPHA) || objwinSlowPath) {
|
||||||
int target2 = renderer->target2Bd;
|
int target2 = renderer->target2Bd;
|
||||||
target2 |= renderer->bg[0].target2;
|
target2 |= renderer->bg[0].target2;
|
||||||
target2 |= renderer->bg[1].target2;
|
target2 |= renderer->bg[1].target2;
|
||||||
|