mirror of https://github.com/mgba-emu/mgba.git
GBA Video: Fix sprites in modes 3 - 5 when character mapping is disabled
This commit is contained in:
parent
fa7660020f
commit
cd3b9cdc6b
1
CHANGES
1
CHANGES
|
@ -64,6 +64,7 @@ Bugfixes:
|
|||
- Qt: Fix a missing va_end call in the log handler lambda within the GameController constructor
|
||||
- GBA Cheats: Fix Pro Action Replay and GameShark issues when used together
|
||||
- Qt: Fix analog buttons not getting unmapped
|
||||
- GBA Video: Fix sprites in modes 3 - 5 when character mapping is disabled
|
||||
Misc:
|
||||
- Qt: Handle saving input settings better
|
||||
- Debugger: Free watchpoints in addition to breakpoints
|
||||
|
|
|
@ -114,7 +114,7 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re
|
|||
flags |= FLAG_OBJWIN * (GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_OBJWIN);
|
||||
int32_t x = GBAObjAttributesBGetX(sprite->b) << 23;
|
||||
x >>= 23;
|
||||
uint16_t* vramBase = &renderer->d.vram[BASE_TILE >> 1];
|
||||
uint16_t* vramBase = &renderer->d.vram[(GBARegisterDISPCNTGetMode(renderer->dispcnt) < 3 || GBARegisterDISPCNTIsObjCharacterMapping(renderer->dispcnt) ? BASE_TILE : BASE_TILE_BITMAP) >> 1];
|
||||
unsigned charBase = GBAObjAttributesCGetTile(sprite->c) * 0x20;
|
||||
int variant = renderer->target1Obj && GBAWindowControlIsBlendEnable(renderer->currentWindow.packed) && (renderer->blendEffect == BLEND_BRIGHTEN || renderer->blendEffect == BLEND_DARKEN);
|
||||
if (GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT) {
|
||||
|
|
|
@ -40,7 +40,8 @@ enum {
|
|||
|
||||
REG_DISPSTAT_MASK = 0xFF38,
|
||||
|
||||
BASE_TILE = 0x00010000
|
||||
BASE_TILE = 0x00010000,
|
||||
BASE_TILE_BITMAP = 0x00014000
|
||||
};
|
||||
|
||||
enum ObjMode {
|
||||
|
|
Loading…
Reference in New Issue