Dump banner.sav for DSiWare too (#151)

This commit is contained in:
Pk11 2022-01-09 18:16:10 -06:00 committed by GitHub
parent 6669a5ebb3
commit 94f5fd73c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 2 deletions

View File

@ -142,6 +142,7 @@ STRING(DUMP_SAVE, "Save")
STRING(DUMP_DS_SAVE, "DS save")
STRING(DUMP_PUBLIC_SAVE, "Public save")
STRING(DUMP_PRIVATE_SAVE, "Private save")
STRING(DUMP_BANNER_SAVE, "Banner save")
STRING(DUMP_TMD, "TMD")
STRING(DUMP_METADATA, "Metadata")
STRING(DO_NOT_REMOVE_CARD, "Do not remove the NDS card.")

View File

@ -31,8 +31,9 @@ enum TitleDumpOption {
rom = 1,
publicSave = 4,
privateSave = 8,
tmd = 16,
all = rom | publicSave | privateSave | tmd
bannerSave = 16,
tmd = 32,
all = rom | publicSave | privateSave | bannerSave | tmd
};
void dumpTitle(TitleInfo &title) {
@ -49,6 +50,10 @@ void dumpTitle(TitleInfo &title) {
allowedOptions.push_back(TitleDumpOption::privateSave);
allowedBitfield |= TitleDumpOption::privateSave;
}
if(access((title.path + "/data/banner.sav").c_str(), F_OK) == 0) {
allowedOptions.push_back(TitleDumpOption::bannerSave);
allowedBitfield |= TitleDumpOption::bannerSave;
}
allowedOptions.push_back(TitleDumpOption::tmd);
char dumpName[32];
@ -79,6 +84,9 @@ void dumpTitle(TitleInfo &title) {
case TitleDumpOption::privateSave:
font->print(3, row++, false, STR_DUMP_PRIVATE_SAVE);
break;
case TitleDumpOption::bannerSave:
font->print(3, row++, false, STR_DUMP_BANNER_SAVE);
break;
case TitleDumpOption::tmd:
font->print(3, row++, false, STR_DUMP_TMD);
break;
@ -158,6 +166,12 @@ void dumpTitle(TitleInfo &title) {
fcopy(inpath, outpath);
}
if((selectedOption & TitleDumpOption::bannerSave) && (allowedBitfield & TitleDumpOption::bannerSave)) {
snprintf(inpath, sizeof(inpath), "%s/data/banner.sav", title.path.c_str());
snprintf(outpath, sizeof(outpath), "%s:/gm9i/out/%s.bnr", sdMounted ? "sd" : "fat", dumpName);
fcopy(inpath, outpath);
}
if((selectedOption & TitleDumpOption::tmd) && (allowedBitfield & TitleDumpOption::tmd)) {
snprintf(inpath, sizeof(inpath), "%s/content/title.tmd", title.path.c_str());
snprintf(outpath, sizeof(outpath), "%s:/gm9i/out/%s.tmd", sdMounted ? "sd" : "fat", dumpName);

View File

@ -134,6 +134,7 @@ DUMP_SAVE=Save
DUMP_DS_SAVE=DS save
DUMP_PUBLIC_SAVE=Public save
DUMP_PRIVATE_SAVE=Private save
DUMP_BANNER_SAVE=Banner save
DUMP_TMD=TMD
DUMP_METADATA=Metadata
DO_NOT_REMOVE_CARD=Do not remove the NDS card.