GBA Video: Fix mosaic objects drawing past the end (fixes #1702)

This commit is contained in:
Vicki Pfau 2020-05-13 23:31:44 -07:00
parent dbef26759c
commit 34c694c9a6
2 changed files with 2 additions and 1 deletions

View File

@ -20,6 +20,7 @@ Emulation fixes:
- GBA Timers: Fix deserializing count-up timers
- GBA Video: Latch scanline at end of Hblank (fixes mgba.io/i/1319)
- GBA Video: Fix Hblank timing
- GBA Video: Fix mosaic objects drawing past the end (fixes mgba.io/i/1702)
Other fixes:
- Core: Ensure ELF regions can be written before trying
- Core: Fix ELF loading regression (fixes mgba.io/i/1669)

View File

@ -224,7 +224,7 @@ int GBAVideoSoftwareRendererPreprocessSprite(struct GBAVideoSoftwareRenderer* re
int mosaicH = 1;
if (GBAObjAttributesAIsMosaic(sprite->a)) {
mosaicH = GBAMosaicControlGetObjH(renderer->mosaic) + 1;
if (condition % mosaicH) {
if (condition != end && condition % mosaicH) {
condition += mosaicH - (condition % mosaicH);
}
}