Scripting: install command for game images

This commit is contained in:
d0k3 2020-07-31 12:14:13 +02:00
parent d4d8c9a0ff
commit 596e7e499c

View File

@ -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,6 +184,7 @@ 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') },
@ -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)) {