From 596e7e499cca6d13d026f1ea4a48d7477fac85ff Mon Sep 17 00:00:00 2001 From: d0k3 Date: Fri, 31 Jul 2020 12:14:13 +0200 Subject: [PATCH] Scripting: install command for game images --- arm9/source/utils/scripting.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arm9/source/utils/scripting.c b/arm9/source/utils/scripting.c index 8c30fcc..2d24d3f 100644 --- a/arm9/source/utils/scripting.c +++ b/arm9/source/utils/scripting.c @@ -110,6 +110,7 @@ typedef enum { CMD_ID_DECRYPT, CMD_ID_ENCRYPT, CMD_ID_BUILDCIA, + CMD_ID_INSTALL, CMD_ID_EXTRCODE, CMD_ID_CMPRCODE, CMD_ID_SDUMP, @@ -183,9 +184,10 @@ static const Gm9ScriptCmd cmd_list[] = { { CMD_ID_DECRYPT , "decrypt" , 1, 0 }, { CMD_ID_ENCRYPT , "encrypt" , 1, 0 }, { CMD_ID_BUILDCIA, "buildcia", 1, _FLG('l') }, + { CMD_ID_INSTALL , "install" , 1, _FLG('e') }, { CMD_ID_EXTRCODE, "extrcode", 2, 0 }, { CMD_ID_CMPRCODE, "cmprcode", 2, 0 }, - { CMD_ID_SDUMP , "sdump", 1, _FLG('w') }, + { CMD_ID_SDUMP , "sdump" , 1, _FLG('w') }, { CMD_ID_APPLYIPS, "applyips", 3, 0 }, { CMD_ID_APPLYBPS, "applybps", 3, 0 }, { CMD_ID_APPLYBPM, "applybpm", 3, 0 }, @@ -561,6 +563,7 @@ u32 get_flag(char* str, u32 len, char* err_str) { else if (strncmp(str, "--before", len) == 0) flag_char = 'b'; else if (strncmp(str, "--include_dirs", len) == 0) flag_char = 'd'; else if (strncmp(str, "--flip_endian", len) == 0) flag_char = 'e'; + else if (strncmp(str, "--to_emunand", len) == 0) flag_char = 'e'; else if (strncmp(str, "--first", len) == 0) flag_char = 'f'; else if (strncmp(str, "--hash", len) == 0) flag_char = 'h'; else if (strncmp(str, "--keysel", len) == 0) flag_char = 'k'; @@ -1326,6 +1329,10 @@ bool run_cmd(cmd_id id, u32 flags, char** argv, char* err_str) { ret = (BuildCiaFromGameFile(argv[0], (flags & _FLG('l'))) == 0); if (err_str) snprintf(err_str, _ERR_STR_LEN, "build CIA failed"); } + else if (id == CMD_ID_INSTALL) { + ret = (InstallGameFile(argv[0], (flags & _FLG('e'))) == 0); + if (err_str) snprintf(err_str, _ERR_STR_LEN, "install game failed"); + } else if (id == CMD_ID_EXTRCODE) { u64 filetype = IdentifyFileType(argv[0]); if (!FTYPE_HASCODE(filetype)) {