From 521fb25075660a541f72f540979b8e7cd978e8a5 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Fri, 31 Jul 2020 10:59:42 +0200 Subject: [PATCH] Fix titledb entry manual detection --- arm9/source/game/tie.c | 8 ++++---- arm9/source/utils/nandcmac.c | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/arm9/source/game/tie.c b/arm9/source/game/tie.c index c62f737..cf24d73 100644 --- a/arm9/source/game/tie.c +++ b/arm9/source/game/tie.c @@ -6,7 +6,7 @@ u32 BuildTitleInfoEntryTmd(TitleInfoEntry* tie, TitleMetaData* tmd, bool sd) { u64 title_id = getbe64(tmd->title_id); - u32 has_id1 = false; + u32 has_idx1 = false; // set basic values memset(tie, 0x00, sizeof(TitleInfoEntry)); @@ -25,14 +25,14 @@ u32 BuildTitleInfoEntryTmd(TitleInfoEntry* tie, TitleMetaData* tmd, bool sd) { tie->title_size = (align_size * 3) + // base folder + 'content' + 'cmd' align(TMD_SIZE_N(content_count), align_size) + // TMD - align_size; // CMD, placeholder + align_size; // CMD, placeholder (!!!) for (u32 i = 0; (i < content_count) && (i < TMD_MAX_CONTENTS); i++, chunk++) { - if (getbe32(chunk->id) == 1) has_id1 = true; // will be useful later + if (getbe16(chunk->index) == 1) has_idx1 = true; // will be useful later tie->title_size += align(getbe64(chunk->size), align_size); } // manual? (we need to properly check this later) - if (has_id1 && (((title_id >> 32) == 0x00040000) || ((title_id >> 32) == 0x00040010))) { + if (has_idx1 && (((title_id >> 32) == 0x00040000) || ((title_id >> 32) == 0x00040010))) { tie->flags_0[0] = 0x1; // this may have a manual } diff --git a/arm9/source/utils/nandcmac.c b/arm9/source/utils/nandcmac.c index d1f1ac5..6ef5ff5 100644 --- a/arm9/source/utils/nandcmac.c +++ b/arm9/source/utils/nandcmac.c @@ -379,7 +379,6 @@ u32 CheckFixCmdCmac(const char* path, bool fix, bool check_perms) { return 1; } - // we abuse the unknown u32 to mark custom, unfinished CMDs bool fix_missing = false; if (cmd->unknown == 0xFFFFFFFE) {