diff --git a/CHANGES b/CHANGES index 7cbcf633f..a56e068ef 100644 --- a/CHANGES +++ b/CHANGES @@ -40,6 +40,7 @@ Bugfixes: - GBA Savedata: Fix 512 byte EEPROM saving as 8kB (fixes mgba.io/i/877) - SDL: Fix potential race condition when pressing keys (fixes mgba.io/i/872) - GBA: Fix keypad IRQs not firing when extra buttons are pressed + - GBA Video: Remove broken sprite blending hack (fixes mgba.io/i/532) Misc: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722) diff --git a/src/gba/renderers/software-obj.c b/src/gba/renderers/software-obj.c index 71a409f04..3fb7836a3 100644 --- a/src/gba/renderers/software-obj.c +++ b/src/gba/renderers/software-obj.c @@ -167,8 +167,11 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re target2 |= renderer->bg[3].target2 << (renderer->bg[3].priority); if ((1 << GBAObjAttributesCGetPriority(sprite->c)) <= target2) { variant = 0; + } else { + flags &= ~FLAG_TARGET_1; } } + color_t* palette = &renderer->normalPalette[0x100]; color_t* objwinPalette = palette; int objwinSlowPath = GBARegisterDISPCNTIsObjwinEnable(renderer->dispcnt) && GBAWindowControlGetBlendEnable(renderer->objwin.packed) != GBAWindowControlIsBlendEnable(renderer->currentWindow.packed); diff --git a/src/platform/python/tests/cinema/.gitignore b/src/platform/python/tests/cinema/.gitignore new file mode 100644 index 000000000..ba0080f32 --- /dev/null +++ b/src/platform/python/tests/cinema/.gitignore @@ -0,0 +1 @@ +*.sav diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0000.png b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0000.png new file mode 100644 index 000000000..aea1b7608 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0000.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0001.png b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0001.png new file mode 100644 index 000000000..b26facdff Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0001.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0002.png b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0002.png new file mode 100644 index 000000000..1cd68a9b9 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0002.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0003.png b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0003.png new file mode 100644 index 000000000..7571a66a3 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0003.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0004.png b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0004.png new file mode 100644 index 000000000..0f05e6295 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0004.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0005.png b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0005.png new file mode 100644 index 000000000..3007a98c9 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/baseline_0005.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/test.mvl b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/test.mvl new file mode 100644 index 000000000..a36112b6d Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/gs-obj-modes/test.mvl differ diff --git a/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0000.png b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0000.png new file mode 100644 index 000000000..f42797b63 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0000.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0001.png b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0001.png new file mode 100644 index 000000000..911eaf973 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0001.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0002.png b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0002.png new file mode 100644 index 000000000..429d6a22e Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0002.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0003.png b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0003.png new file mode 100644 index 000000000..1d7b8c310 Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/kam-knockout/baseline_0003.png differ diff --git a/src/platform/python/tests/cinema/gba/blend/kam-knockout/test.mvl b/src/platform/python/tests/cinema/gba/blend/kam-knockout/test.mvl new file mode 100644 index 000000000..828cc4c3d Binary files /dev/null and b/src/platform/python/tests/cinema/gba/blend/kam-knockout/test.mvl differ