diff --git a/CHANGES b/CHANGES index a8b8e23b3..540ad89d1 100644 --- a/CHANGES +++ b/CHANGES @@ -64,7 +64,6 @@ 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 diff --git a/src/gba/renderers/software-obj.c b/src/gba/renderers/software-obj.c index 7c651f583..2d13b7340 100644 --- a/src/gba/renderers/software-obj.c +++ b/src/gba/renderers/software-obj.c @@ -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[(GBARegisterDISPCNTGetMode(renderer->dispcnt) < 3 || GBARegisterDISPCNTIsObjCharacterMapping(renderer->dispcnt) ? BASE_TILE : BASE_TILE_BITMAP) >> 1]; + uint16_t* vramBase = &renderer->d.vram[BASE_TILE >> 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) { diff --git a/src/gba/video.h b/src/gba/video.h index 13451ce51..6713a8f0b 100644 --- a/src/gba/video.h +++ b/src/gba/video.h @@ -40,8 +40,7 @@ enum { REG_DISPSTAT_MASK = 0xFF38, - BASE_TILE = 0x00010000, - BASE_TILE_BITMAP = 0x00014000 + BASE_TILE = 0x00010000 }; enum ObjMode {