all repos — mgba @ f1d6470fdbdf9ee90d99a319e2193ed048789ccc

mGBA Game Boy Advance Emulator

GBA Video: Remove broken sprite blending hack (fixes #532)
Vicki Pfau vi@endrift.com
Wed, 20 Sep 2017 00:52:31 -0700
commit

f1d6470fdbdf9ee90d99a319e2193ed048789ccc

parent

1bc6c13e6bbf341953530f49ec2bc9ce3428bca5

M CHANGESCHANGES

@@ -40,6 +40,7 @@ - GBA BIOS: Use core's VRAM variable instead of renderer's

- 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)
M src/gba/renderers/software-obj.csrc/gba/renderers/software-obj.c

@@ -167,8 +167,11 @@ target2 |= renderer->bg[2].target2 << (renderer->bg[2].priority);

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);