mirror of https://github.com/mgba-emu/mgba.git
GBA Video: Fix bg mode 3 - 5 tiles properly this time
This commit is contained in:
parent
36047f4c44
commit
5c1140c34e
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
|
- 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
|
- GBA Cheats: Fix Pro Action Replay and GameShark issues when used together
|
||||||
- Qt: Fix analog buttons not getting unmapped
|
- Qt: Fix analog buttons not getting unmapped
|
||||||
|
- GBA Video: Prevent tiles < 512 from being used in modes 3 - 5
|
||||||
Misc:
|
Misc:
|
||||||
- Qt: Handle saving input settings better
|
- Qt: Handle saving input settings better
|
||||||
- Debugger: Free watchpoints in addition to breakpoints
|
- Debugger: Free watchpoints in addition to breakpoints
|
||||||
|
|
|
@ -116,6 +116,9 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re
|
||||||
x >>= 23;
|
x >>= 23;
|
||||||
uint16_t* vramBase = &renderer->d.vram[BASE_TILE >> 1];
|
uint16_t* vramBase = &renderer->d.vram[BASE_TILE >> 1];
|
||||||
unsigned charBase = GBAObjAttributesCGetTile(sprite->c) * 0x20;
|
unsigned charBase = GBAObjAttributesCGetTile(sprite->c) * 0x20;
|
||||||
|
if (GBARegisterDISPCNTGetMode(renderer->dispcnt) >= 3 && GBAObjAttributesCGetTile(sprite->c) < 512) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
int variant = renderer->target1Obj && GBAWindowControlIsBlendEnable(renderer->currentWindow.packed) && (renderer->blendEffect == BLEND_BRIGHTEN || renderer->blendEffect == BLEND_DARKEN);
|
int variant = renderer->target1Obj && GBAWindowControlIsBlendEnable(renderer->currentWindow.packed) && (renderer->blendEffect == BLEND_BRIGHTEN || renderer->blendEffect == BLEND_DARKEN);
|
||||||
if (GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT) {
|
if (GBAObjAttributesAGetMode(sprite->a) == OBJ_MODE_SEMITRANSPARENT) {
|
||||||
int target2 = renderer->target2Bd << 4;
|
int target2 = renderer->target2Bd << 4;
|
||||||
|
|
Loading…
Reference in New Issue