From 46806f19246ab8f17f246ada9caf019189319996 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Wed, 11 Oct 2017 19:35:58 -0700 Subject: [PATCH] GBA Video: Force align 256-color tiles --- CHANGES | 4 ++++ src/gba/renderers/software-obj.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 8b2589e70..9291a510c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +0.6.2: (Future) +Bugfixes: + - GBA Video: Force align 256-color tiles + 0.6.1: (2017-10-01) Bugfixes: - GB, GBA: Fix crashes when attempting to identify null VFiles diff --git a/src/gba/renderers/software-obj.c b/src/gba/renderers/software-obj.c index 6c2bb4287..a4bdcf228 100644 --- a/src/gba/renderers/software-obj.c +++ b/src/gba/renderers/software-obj.c @@ -148,7 +148,7 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re int32_t x = (uint32_t) GBAObjAttributesBGetX(sprite->b) << 23; x >>= 23; uint16_t* vramBase = &renderer->d.vram[BASE_TILE >> 1]; - unsigned charBase = GBAObjAttributesCGetTile(sprite->c) * 0x20; + unsigned charBase = (GBAObjAttributesCGetTile(sprite->c) & ~GBAObjAttributesAGet256Color(sprite->a)) * 0x20; if (GBARegisterDISPCNTGetMode(renderer->dispcnt) >= 3 && GBAObjAttributesCGetTile(sprite->c) < 512) { return 0; }