From 88758d9ea553fe7d78e2956053bc73ff7e35b037 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Fri, 8 Apr 2022 13:34:39 -0500 Subject: [PATCH] Fix always showing DS icon on first frame (#166) --- arm9/source/ndsInfo.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/arm9/source/ndsInfo.cpp b/arm9/source/ndsInfo.cpp index 02c05cc..fb7b07e 100644 --- a/arm9/source/ndsInfo.cpp +++ b/arm9/source/ndsInfo.cpp @@ -102,8 +102,14 @@ void ndsInfo(const char *path) { u16 *iconGfx = oamAllocateGfx(&oamSub, SpriteSize_32x32, SpriteColorFormat_16Color); oamSet(&oamSub, 0, 256 - 36, 4, 0, 0, SpriteSize_32x32, SpriteColorFormat_16Color, iconGfx, -1, false, false, false, false, false); - tonccpy(iconGfx, iconBitmap, 0x200); - tonccpy(SPRITE_PALETTE_SUB, iconPalette, 0x20); + if(version == 0x0103) { + tonccpy(iconGfx, iconBitmap + ((iconAnimation[0] >> 8) & 7) * 0x200, 0x200); + tonccpy(SPRITE_PALETTE_SUB, iconPalette + ((iconAnimation[0] >> 0xB) & 7) * 0x10, 0x20); + oamSetFlip(&oamSub, 0, iconAnimation[0] & BIT(14), iconAnimation[0] & BIT(15)); + } else { + tonccpy(iconGfx, iconBitmap, 0x200); + tonccpy(SPRITE_PALETTE_SUB, iconPalette, 0x20); + } oamUpdate(&oamSub);