diff --git a/CHANGES b/CHANGES index f8aa5b761..5eadc5f68 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,7 @@ Bugfixes: - DS Video: Fix extended modes 1.x screen base range (fixes mgba.io/i/568) - DS GX: Fix T-repeat textures (fixes mgba.io/i/577) - DS Video: Capture with alpha bit set + - DS Video: Bitmap sprites use alpha bit for transparent Misc: - DS: Set boot complete bit in RAM on boot (fixes mgba.io/i/576, mgba.io/i/580, mgba.io/i/586) diff --git a/src/gba/renderers/software-obj.c b/src/gba/renderers/software-obj.c index a0885fc60..a8af89a81 100644 --- a/src/gba/renderers/software-obj.c +++ b/src/gba/renderers/software-obj.c @@ -197,7 +197,7 @@ LOAD_16(tileData, spriteBase & VRAM_BLOCK_MASK, vramBase); \ current = renderer->spriteLayer[outX]; \ if ((current & FLAG_ORDER_MASK) > flags) { \ - if (tileData) { \ + if (tileData & 0x8000) { \ uint32_t color; \ TILE_TO_COLOR(tileData); \ renderer->spriteLayer[outX] = color | flags; \ @@ -215,7 +215,7 @@ return 0; \ } \ LOAD_16(tileData, spriteBase & VRAM_BLOCK_MASK, vramBase); \ - if (tileData) { \ + if (tileData & 0x8000) { \ renderer->row[outX] |= FLAG_OBJWIN; \ }