addcont: add user add-ons with --addcont and a launcher list

This commit is contained in:
nmzik committed 2026-10-25 02:20:44 +02:00
1 parent 87e49282b8
commit 66e21a6245
15 files changed
+242 -45

No files matched your search

+11
View File
@@ -48,6 +48,9 @@ static void PrintUsage() {
::printf(" --game <dir|elf|zar> Game directory, ELF, or ZArchive to load.\n");
::printf(" --game-patch <json> ETAHen cheat file.\n");
::printf(" --addcont-dir <dir> Add-ons (DLC) folder (default: none).\n");
::printf(
" --addcont <label>[=<dir>] Add-on (DLC) by entitlement label with its data in\n"
" <dir>, or license only without <dir>. Repeatable.\n");
::printf(" --screen-width <num> Window width. Default: 1280.\n");
::printf(" --screen-height <num> Window height. Default: 720.\n");
::printf(
@@ -303,6 +306,14 @@ static bool ParseArgs(int argc, char* argv[], RunOptions& options, bool& show_he
return false;
}
options.addcont_dir = Common::PathFromUtf8(Common::FixFilenameSlash(value));
} else if (arg == "--addcont") {
auto entry = Common::ParseAddContent(value);
if (!entry) {
::printf("--addcont needs <16-character A-Z/0-9 label>[=<existing folder>]: %s\n",
value.c_str());
return false;
}
options.addcont.push_back(std::move(*entry));
} else if (arg == "--screen-width") {
if (!ParseUint32(value, options.config.screen_width) ||
options.config.screen_width == 0) {