diff options
| author | Wiimm <wiimm@wiimm.de> | 2024-02-17 11:45:01 +0100 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2024-02-17 11:45:01 +0100 |
| commit | 685554b2c272fdefc23bb1d237c059b52ab5fc58 (patch) | |
| tree | 9e0e7ff41f688bdc07fdb7869fc0258725197bcf /project/src/ui | |
| parent | ac9a0b25eaffaa05e5431a8527dab8649ef6504f (diff) | |
SZS v2.41a
Diffstat (limited to '')
31 files changed, 1434 insertions, 1117 deletions
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc index 67c6034..98ba29a 100644 --- a/project/src/ui/tab-wbmgt.inc +++ b/project/src/ui/tab-wbmgt.inc @@ -263,6 +263,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc index 6d17101..c6ea2a0 100644 --- a/project/src/ui/tab-wctct.inc +++ b/project/src/ui/tab-wctct.inc @@ -247,6 +247,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_G, "OLD_SPINY", "old-spiny|oldspiny", 0, "Disable the new feature to hold a Spiny Shell at the tail." diff --git a/project/src/ui/tab-wimgt.inc b/project/src/ui/tab-wimgt.inc index e00e325..17e3c87 100644 --- a/project/src/ui/tab-wimgt.inc +++ b/project/src/ui/tab-wimgt.inc @@ -223,6 +223,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wkclt.inc b/project/src/ui/tab-wkclt.inc index 9716271..a8e6d07 100644 --- a/project/src/ui/tab-wkclt.inc +++ b/project/src/ui/tab-wkclt.inc @@ -338,6 +338,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wkmpt.inc b/project/src/ui/tab-wkmpt.inc index 2c7b466..d8148cc 100644 --- a/project/src/ui/tab-wkmpt.inc +++ b/project/src/ui/tab-wkmpt.inc @@ -316,6 +316,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc index 95a1735..b61e53a 100644 --- a/project/src/ui/tab-wlect.inc +++ b/project/src/ui/tab-wlect.inc @@ -293,6 +293,9 @@ "This option is completely ignored by wlect." " It only exists due to compatibility with the other tools." }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GP, "LOAD_PREFIX", "load-prefix|loadprefix", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wmdlt.inc b/project/src/ui/tab-wmdlt.inc index fb62bb6..033bce5 100644 --- a/project/src/ui/tab-wmdlt.inc +++ b/project/src/ui/tab-wmdlt.inc @@ -241,6 +241,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wpatt.inc b/project/src/ui/tab-wpatt.inc index 49cb8f6..26dbb1e 100644 --- a/project/src/ui/tab-wpatt.inc +++ b/project/src/ui/tab-wpatt.inc @@ -206,6 +206,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc index fb182bd..783ef45 100644 --- a/project/src/ui/tab-wstrt.inc +++ b/project/src/ui/tab-wstrt.inc @@ -201,7 +201,7 @@ { T_DEF_CMD, "PATCH", "PATCH", "wstrt PATCH [file]...", - "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii." + "Patch 'main.dol' and 'StaticR.rel' files of Mario Kart Wii." " " WILDCARDS_PIPE " No backup is made." }, @@ -275,6 +275,9 @@ { T_OPT_GO, "LE_CODE", "le-code|lecode", 0, 0 /* copy of wszst */ }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, 0 /* copy of wszst */ }, + { T_OPT_GMP, "CHDIR", "chdir", 0, 0 /* copy of wszst */ }, @@ -536,6 +539,10 @@ 0, "Add newest LE-CODE starter from 2023-12 to main.dol." }, + { H_OPT_C, "ADDS_LECODE", "adds-lecode|addslecode", + 0, + "Add newest LE-CODE starter from 2023-12 to main.dol like --add-section does it." }, + { T_OPT_C, "ADD_OLD_LECODE", "add-old-lecode|addoldlecode", 0, "Add old LE-CODE starter from 2019-01 to main.dol." }, @@ -566,7 +573,7 @@ { T_OPT_CP, "ADD_SECTION", "add-section|addsection", "file", "Each option call adds the filename to an internal list." - " Each file must be of type GCT, GCH or WCH." + " Each file must be of type GCT, GCT-TXT, GCH or WCH." " All GCT files together are combined with an internal code handler" " to one section (like a GCH file)." " GCH and WCH define sections and patches. The defined sections" @@ -623,13 +630,14 @@ " Parameter MODE is optional." " If set, OFF disables and ON enables this feature." " For mode AUTO (default) this feature is enabled," - " if the cheat codes are too large or for internal reasons." }, + " if the cheat codes are too large (@end>0x80003000@)" + " or for internal conflicts." }, { T_OPT_CP, "GCT_ADDR", "gct-addr|gctaddr", "address", "If {--gct-move} is active, a text section is created" " to manage the code handler. This section is only needed at start" - " and is placed by default at address 0c802c0000" + " and is placed by default at address 0x802c0000" " (part of BSS, good address for all 4 regions)." " This option changes the start address of the section." " If address is @0@ or invalid, then unused BSS space is searched." }, @@ -648,7 +656,7 @@ " It is dedicated to custom distribution creators for test purposes." " If enabled, a user can load an own instance of Gecko Code Handler" " and cheat codes and can use them online." - " If disabled, pachcing for online modus is disabled if an" + " If disabled, patching for online modus is disabled if an" " alternative Gecko Code Handler is detected." "\n " " Parameter MODE is optional." @@ -1185,6 +1193,7 @@ { T_COPT, "CLEAN_DOL", 0,0,0 }, { T_COPY_GRP, "PATCH", 0,0,0 }, { T_COPT, "ADD_LECODE", 0,0,0 }, + { H_COPT, "ADDS_LECODE", 0,0,0 }, { T_COPT, "ADD_OLD_LECODE",0,0,0 }, { T_COPT, "ADD_CTCODE", 0,0,0 }, { T_COPT, "CT_DIR", 0,0,0 }, diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc index 3a719f7..25bed25 100644 --- a/project/src/ui/tab-wszst.inc +++ b/project/src/ui/tab-wszst.inc @@ -798,15 +798,15 @@ { T_OPT_GM, "QUIET", "q|quiet", 0, "Be quiet and print only error messages." - " Multiple usage is possible." + " Multiple use is possible. Previous use of --verbose is reverted." " The impact is command dependent." - " In general: If set three times," - " different file format warnings are suppressed." }, + " If set at least three times," + " almost all error messages will be suppressed." }, { T_OPT_GM, "VERBOSE", "v|verbose", 0, "Be verbose and print more progress information." - " Multiple usage is possible." + " Multiple use is possible. Previous use of --quiet is reverted." " The impact is command dependent." }, { T_OPT_GM, "LOGGING", "L|logging|log", @@ -878,6 +878,11 @@ " The optional parameter is deprecated and ignored." "\1 See https://szs.wiimm.de/opt/lecode for details." }, + { T_OPT_G, "LE_04X", "le-04x|le04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots" + " to enable uniform slot numbers if slots >4095 are used." }, + { T_OPT_GP, "LOAD_PREFIX", "load-prefix|loadprefix", "file", "Read in a PREFIX file and replace the internal prefix database with the content." @@ -1483,7 +1488,7 @@ { T_OPT_GP, "MDL", "mdl", "list", "Set global options for MDL processing." - " To enable MDL patching, use option {--patch-file}" + " To enable MDL patching, use option {--patch-files}" " and select BRRES files for patching." "\n " " Parameter @'list'@ is a comma separated list of keywords." @@ -1515,7 +1520,7 @@ " @AUTO, SIMPLE, COMPLEX, BOTH, SILENT@ and @LOG@." "\1 See https://szs.wiimm.de/opt/pat for details." }, - { T_OPT_GP, "PATCH_FILE", "patch-file|patchfile|pfile", + { T_OPT_GP, "PATCH_FILES", "patch-files|patchfiles|pfiles", "list", "Define, which kind of KMP, KCL and BRRES/MDL files are objects" " for patching. @--pfile@ is a short cut." @@ -1526,7 +1531,7 @@ " and all other settings are untouched." "\n " " Keyword @DEFAULT@ resets the default settings (@TRACK,LOG@)" - " and @CLEAR@ disables all." + " and @NONE@ disables all." " The other allowed keywords are:" " @KMP, KCL, OTHER-KCL, ALL-KCL, MODEL, MAP, VRCORN," " OTHER-BRRES, ALL-BRRES, TRACK (=KMP,KCL,MODEL,MAP,VRCORN)," @@ -2223,6 +2228,10 @@ "\1 Read https://szs.wiimm.de/opt/source for more details." }, + { H_OPT_CP, "ID_LIST", "id-list|idlist", + "file", + "Set filename of a SHA1ID file." }, + { T_OPT_CP, "REFERENCE", "ref|reference", "path", "Define a reference SZS." }, @@ -2689,7 +2698,7 @@ { T_COPT, "MDL", 0,0,0 }, { T_COPT, "MINIMAP", 0,0,0 }, { T_COPT, "PAT", 0,0,0 }, - { T_COPT, "PATCH_FILE", 0,0,0 }, + { T_COPT, "PATCH_FILES", 0,0,0 }, { T_COPT, "LT_CLEAR", 0,0,0 }, { T_COPT, "LT_ONLINE", 0,0,0 }, { T_COPT, "LT_N_PLAYERS", 0,0,0 }, @@ -2966,6 +2975,12 @@ { T_COPT, "NO_WILDCARDS", 0,0,0 }, { T_COPT, "IN_ORDER", 0,0,0 }, { T_COPT, "IGNORE", 0,0,0 }, + { T_COPT, "SH", 0,0, + "Quote filenames for sh using '...'." }, + { T_COPT, "BASH", 0,0, + "Ignore --sh and quote filenames for bash using $$'...'." + " Use »eval var=($$(wszst wildcards --bash ...))«" + " to assign the result to a bash array."}, //---------- COMMAND wszst TEST ---------- @@ -3379,6 +3394,7 @@ { T_SEP_OPT, 0,0,0,0 }, { T_COPY_GRP, "SCRIPT", 0,0,0 }, { T_SEP_OPT, 0,0,0,0 }, + { T_COPT, "ID_LIST", 0,0,0 }, { T_COPT, "REFERENCE", 0,0,0 }, { T_COPT, "DEST", 0,0,0 }, { T_COPT, "DEST2", 0,0,0 }, diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c index c3461f6..30fad5f 100644 --- a/project/src/ui/ui-wbmgt.c +++ b/project/src/ui/ui-wbmgt.c @@ -371,15 +371,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -447,6 +449,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " details." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -570,7 +578,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 69 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 70 }; @@ -732,6 +740,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "long", 0, 0, 'l' }, @@ -888,36 +898,37 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_NO_WILDCARDS, - /* 0x08f */ OPT_IN_ORDER, - /* 0x090 */ OPT_POINTS, - /* 0x091 */ OPT_UTF_8, - /* 0x092 */ OPT_NO_UTF_8, - /* 0x093 */ OPT_FORCE, - /* 0x094 */ OPT_REPAIR_MAGICS, - /* 0x095 */ OPT_OLD, - /* 0x096 */ OPT_STD, - /* 0x097 */ OPT_NEW, - /* 0x098 */ OPT_EXTRACT, - /* 0x099 */ OPT_NUMBER, - /* 0x09a */ OPT_ALIGN, - /* 0x09b */ OPT_MACRO_BMG, - /* 0x09c */ OPT_FILTER_BMG, - /* 0x09d */ OPT_BMG_ENDIAN, - /* 0x09e */ OPT_BMG_ENCODING, - /* 0x09f */ OPT_BMG_INF_SIZE, - /* 0x0a0 */ OPT_BMG_MID, - /* 0x0a1 */ OPT_FORCE_ATTRIB, - /* 0x0a2 */ OPT_DEF_ATTRIB, - /* 0x0a3 */ OPT_NO_ATTRIB, - /* 0x0a4 */ OPT_X_ESCAPES, - /* 0x0a5 */ OPT_OLD_ESCAPES, - /* 0x0a6 */ OPT_NO_BMG_COLORS, - /* 0x0a7 */ OPT_BMG_COLORS, - /* 0x0a8 */ OPT_NO_BMG_INLINE, - /* 0x0a9 */ OPT_SECTIONS, - /* 0x0aa */ 0,0,0,0, 0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_NO_WILDCARDS, + /* 0x090 */ OPT_IN_ORDER, + /* 0x091 */ OPT_POINTS, + /* 0x092 */ OPT_UTF_8, + /* 0x093 */ OPT_NO_UTF_8, + /* 0x094 */ OPT_FORCE, + /* 0x095 */ OPT_REPAIR_MAGICS, + /* 0x096 */ OPT_OLD, + /* 0x097 */ OPT_STD, + /* 0x098 */ OPT_NEW, + /* 0x099 */ OPT_EXTRACT, + /* 0x09a */ OPT_NUMBER, + /* 0x09b */ OPT_ALIGN, + /* 0x09c */ OPT_MACRO_BMG, + /* 0x09d */ OPT_FILTER_BMG, + /* 0x09e */ OPT_BMG_ENDIAN, + /* 0x09f */ OPT_BMG_ENCODING, + /* 0x0a0 */ OPT_BMG_INF_SIZE, + /* 0x0a1 */ OPT_BMG_MID, + /* 0x0a2 */ OPT_FORCE_ATTRIB, + /* 0x0a3 */ OPT_DEF_ATTRIB, + /* 0x0a4 */ OPT_NO_ATTRIB, + /* 0x0a5 */ OPT_X_ESCAPES, + /* 0x0a6 */ OPT_OLD_ESCAPES, + /* 0x0a7 */ OPT_NO_BMG_COLORS, + /* 0x0a8 */ OPT_BMG_COLORS, + /* 0x0a9 */ OPT_NO_BMG_INLINE, + /* 0x0aa */ OPT_SECTIONS, + /* 0x0ab */ 0,0,0,0, 0, /* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1101,6 +1112,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_MAX_FILE_SIZE, @@ -1522,7 +1534,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "wbmgt [option]... command [option|parameter|file]...", "Wiimms BMG Tool : Convert and patch raw and text BMG (message) files.", 0, - 29, + 30, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wbmgt.h b/project/src/ui/ui-wbmgt.h index c5b884a..c75aecf 100644 --- a/project/src/ui/ui-wbmgt.h +++ b/project/src/ui/ui-wbmgt.h @@ -114,6 +114,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_MAX_FILE_SIZE, @@ -130,7 +131,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 69 + OPT__N_TOTAL // == 70 } enumOptions; @@ -407,6 +408,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_NO_WILDCARDS, GO_IN_ORDER, diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c index 12db700..01f3053 100644 --- a/project/src/ui/ui-wctct.c +++ b/project/src/ui/ui-wctct.c @@ -471,15 +471,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -547,6 +549,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " details." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_OLD_SPINY, false, false, false, false, false, 0, "old-spiny", 0, "Disable the new feature to hold a Spiny Shell at the tail." @@ -707,7 +715,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " 0x3b:0x41 and 0x44:0xfe." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 89 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 90 }; @@ -929,6 +937,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "old-spiny", 0, 0, GO_OLD_SPINY }, { "oldspiny", 0, 0, GO_OLD_SPINY }, { "crs1", 1, 0, GO_CRS1 }, @@ -1114,55 +1124,56 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_OLD_SPINY, - /* 0x08e */ OPT_CRS1, - /* 0x08f */ OPT_CHDIR, - /* 0x090 */ OPT_ROUND, - /* 0x091 */ OPT_NO_WILDCARDS, - /* 0x092 */ OPT_IN_ORDER, - /* 0x093 */ OPT_RAW, - /* 0x094 */ OPT_BMG_ENDIAN, - /* 0x095 */ OPT_BMG_ENCODING, - /* 0x096 */ OPT_BMG_INF_SIZE, - /* 0x097 */ OPT_BMG_MID, - /* 0x098 */ OPT_FORCE_ATTRIB, - /* 0x099 */ OPT_DEF_ATTRIB, - /* 0x09a */ OPT_NO_ATTRIB, - /* 0x09b */ OPT_X_ESCAPES, - /* 0x09c */ OPT_OLD_ESCAPES, - /* 0x09d */ OPT_NO_BMG_COLORS, - /* 0x09e */ OPT_BMG_COLORS, - /* 0x09f */ OPT_NO_BMG_INLINE, - /* 0x0a0 */ OPT_NO_ECHO, - /* 0x0a1 */ OPT_UTF_8, - /* 0x0a2 */ OPT_NO_UTF_8, - /* 0x0a3 */ OPT_FORCE, - /* 0x0a4 */ OPT_REPAIR_MAGICS, - /* 0x0a5 */ OPT_CREATE_DISTRIB, - /* 0x0a6 */ OPT_OLD, - /* 0x0a7 */ OPT_STD, - /* 0x0a8 */ OPT_NEW, - /* 0x0a9 */ OPT_EXTRACT, - /* 0x0aa */ OPT_LIST, - /* 0x0ab */ OPT_REF, - /* 0x0ac */ OPT_FULL, - /* 0x0ad */ OPT_HEX, - /* 0x0ae */ OPT_CT_DIR, - /* 0x0af */ OPT_CT_LOG, - /* 0x0b0 */ OPT_ALLOW_SLOTS, - /* 0x0b1 */ OPT_IMAGES, - /* 0x0b2 */ OPT_LOAD_BMG, - /* 0x0b3 */ OPT_PATCH_BMG, - /* 0x0b4 */ OPT_MACRO_BMG, - /* 0x0b5 */ OPT_FILTER_BMG, - /* 0x0b6 */ OPT_PATCH_NAMES, - /* 0x0b7 */ OPT_ORDER_BY, - /* 0x0b8 */ OPT_ORDER_ALL, - /* 0x0b9 */ OPT_DYNAMIC, - /* 0x0ba */ OPT_WRITE_TRACKS, - /* 0x0bb */ OPT_NUMBER, - /* 0x0bc */ OPT_SECTIONS, - /* 0x0bd */ 0,0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_OLD_SPINY, + /* 0x08f */ OPT_CRS1, + /* 0x090 */ OPT_CHDIR, + /* 0x091 */ OPT_ROUND, + /* 0x092 */ OPT_NO_WILDCARDS, + /* 0x093 */ OPT_IN_ORDER, + /* 0x094 */ OPT_RAW, + /* 0x095 */ OPT_BMG_ENDIAN, + /* 0x096 */ OPT_BMG_ENCODING, + /* 0x097 */ OPT_BMG_INF_SIZE, + /* 0x098 */ OPT_BMG_MID, + /* 0x099 */ OPT_FORCE_ATTRIB, + /* 0x09a */ OPT_DEF_ATTRIB, + /* 0x09b */ OPT_NO_ATTRIB, + /* 0x09c */ OPT_X_ESCAPES, + /* 0x09d */ OPT_OLD_ESCAPES, + /* 0x09e */ OPT_NO_BMG_COLORS, + /* 0x09f */ OPT_BMG_COLORS, + /* 0x0a0 */ OPT_NO_BMG_INLINE, + /* 0x0a1 */ OPT_NO_ECHO, + /* 0x0a2 */ OPT_UTF_8, + /* 0x0a3 */ OPT_NO_UTF_8, + /* 0x0a4 */ OPT_FORCE, + /* 0x0a5 */ OPT_REPAIR_MAGICS, + /* 0x0a6 */ OPT_CREATE_DISTRIB, + /* 0x0a7 */ OPT_OLD, + /* 0x0a8 */ OPT_STD, + /* 0x0a9 */ OPT_NEW, + /* 0x0aa */ OPT_EXTRACT, + /* 0x0ab */ OPT_LIST, + /* 0x0ac */ OPT_REF, + /* 0x0ad */ OPT_FULL, + /* 0x0ae */ OPT_HEX, + /* 0x0af */ OPT_CT_DIR, + /* 0x0b0 */ OPT_CT_LOG, + /* 0x0b1 */ OPT_ALLOW_SLOTS, + /* 0x0b2 */ OPT_IMAGES, + /* 0x0b3 */ OPT_LOAD_BMG, + /* 0x0b4 */ OPT_PATCH_BMG, + /* 0x0b5 */ OPT_MACRO_BMG, + /* 0x0b6 */ OPT_FILTER_BMG, + /* 0x0b7 */ OPT_PATCH_NAMES, + /* 0x0b8 */ OPT_ORDER_BY, + /* 0x0b9 */ OPT_ORDER_ALL, + /* 0x0ba */ OPT_DYNAMIC, + /* 0x0bb */ OPT_WRITE_TRACKS, + /* 0x0bc */ OPT_NUMBER, + /* 0x0bd */ OPT_SECTIONS, + /* 0x0be */ 0,0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1345,6 +1356,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_OLD_SPINY, OptionInfo + OPT_CRS1, OptionInfo + OPT_CHDIR, @@ -1753,7 +1765,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms CT-CODE Tool : Manage the CT-CODE extension. BRRES, TEX0," " CT-CODE, CT-TEXT and LE-BIN files are accepted as input.", 0, - 32, + 33, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h index 0c3470d..90c24d1 100644 --- a/project/src/ui/ui-wctct.h +++ b/project/src/ui/ui-wctct.h @@ -129,6 +129,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_OLD_SPINY, OPT_CRS1, OPT_CHDIR, @@ -150,7 +151,7 @@ typedef enum enumOptions OPT_CT_LOG, OPT_ALLOW_SLOTS, - OPT__N_TOTAL // == 89 + OPT__N_TOTAL // == 90 } enumOptions; @@ -475,6 +476,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_OLD_SPINY, GO_CRS1, GO_CHDIR, diff --git a/project/src/ui/ui-wimgt.c b/project/src/ui/ui-wimgt.c index 76ff24e..f762a1d 100644 --- a/project/src/ui/ui-wimgt.c +++ b/project/src/ui/ui-wimgt.c @@ -337,15 +337,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -413,6 +415,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " details." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -524,7 +532,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 62 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 63 }; @@ -676,6 +684,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "long", 0, 0, 'l' }, @@ -818,29 +828,30 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_NO_WILDCARDS, - /* 0x08f */ OPT_IN_ORDER, - /* 0x090 */ OPT_UTF_8, - /* 0x091 */ OPT_NO_UTF_8, - /* 0x092 */ OPT_FORCE, - /* 0x093 */ OPT_REPAIR_MAGICS, - /* 0x094 */ OPT_OLD, - /* 0x095 */ OPT_STD, - /* 0x096 */ OPT_NEW, - /* 0x097 */ OPT_EXTRACT, - /* 0x098 */ OPT_NUMBER, - /* 0x099 */ OPT_MIPMAPS, - /* 0x09a */ OPT_NO_MIPMAPS, - /* 0x09b */ OPT_N_MIPMAPS, - /* 0x09c */ OPT_MAX_MIPMAPS, - /* 0x09d */ OPT_MIPMAP_SIZE, - /* 0x09e */ OPT_FAST_MIPMAPS, - /* 0x09f */ OPT_CMPR_DEFAULT, - /* 0x0a0 */ OPT_PRE_CONVERT, - /* 0x0a1 */ OPT_STRIP, - /* 0x0a2 */ OPT_SECTIONS, - /* 0x0a3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_NO_WILDCARDS, + /* 0x090 */ OPT_IN_ORDER, + /* 0x091 */ OPT_UTF_8, + /* 0x092 */ OPT_NO_UTF_8, + /* 0x093 */ OPT_FORCE, + /* 0x094 */ OPT_REPAIR_MAGICS, + /* 0x095 */ OPT_OLD, + /* 0x096 */ OPT_STD, + /* 0x097 */ OPT_NEW, + /* 0x098 */ OPT_EXTRACT, + /* 0x099 */ OPT_NUMBER, + /* 0x09a */ OPT_MIPMAPS, + /* 0x09b */ OPT_NO_MIPMAPS, + /* 0x09c */ OPT_N_MIPMAPS, + /* 0x09d */ OPT_MAX_MIPMAPS, + /* 0x09e */ OPT_MIPMAP_SIZE, + /* 0x09f */ OPT_FAST_MIPMAPS, + /* 0x0a0 */ OPT_CMPR_DEFAULT, + /* 0x0a1 */ OPT_PRE_CONVERT, + /* 0x0a2 */ OPT_STRIP, + /* 0x0a3 */ OPT_SECTIONS, + /* 0x0a4 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -971,6 +982,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_MAX_FILE_SIZE, @@ -1288,7 +1300,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms Image Tool : Extract and convert graphic images. The file" " formats TPL, TEX, BTI, BREFT and PNG are supported.", 0, - 26, + 27, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wimgt.h b/project/src/ui/ui-wimgt.h index df4f26a..a8312be 100644 --- a/project/src/ui/ui-wimgt.h +++ b/project/src/ui/ui-wimgt.h @@ -108,6 +108,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_MAX_FILE_SIZE, @@ -123,7 +124,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 62 + OPT__N_TOTAL // == 63 } enumOptions; @@ -332,6 +333,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_NO_WILDCARDS, GO_IN_ORDER, diff --git a/project/src/ui/ui-wkclt.c b/project/src/ui/ui-wkclt.c index 93c369e..a537f04 100644 --- a/project/src/ui/ui-wkclt.c +++ b/project/src/ui/ui-wkclt.c @@ -471,15 +471,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -547,6 +549,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " details." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -709,7 +717,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 82 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 83 }; @@ -1013,6 +1021,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "scale", 1, 0, GO_SCALE }, @@ -1171,50 +1181,51 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_SCALE, - /* 0x08f */ OPT_SHIFT, - /* 0x090 */ OPT_XSS, - /* 0x091 */ OPT_YSS, - /* 0x092 */ OPT_ZSS, - /* 0x093 */ OPT_ROT, - /* 0x094 */ OPT_XROT, - /* 0x095 */ OPT_YROT, - /* 0x096 */ OPT_ZROT, - /* 0x097 */ OPT_TRANSLATE, - /* 0x098 */ OPT_NULL, - /* 0x099 */ OPT_NEXT, - /* 0x09a */ OPT_ASCALE, - /* 0x09b */ OPT_AROT, - /* 0x09c */ OPT_TFORM_SCRIPT, - /* 0x09d */ OPT_KCL, - /* 0x09e */ OPT_KCL_FLAG, - /* 0x09f */ OPT_KCL_SCRIPT, - /* 0x0a0 */ OPT_TRI_AREA, - /* 0x0a1 */ OPT_TRI_HEIGHT, - /* 0x0a2 */ OPT_FLAG_FILE, - /* 0x0a3 */ OPT_XTRIDATA, - /* 0x0a4 */ OPT_SLOT, - /* 0x0a5 */ OPT_ID, - /* 0x0a6 */ OPT_BASE64, - /* 0x0a7 */ OPT_DB64, - /* 0x0a8 */ OPT_CODING, - /* 0x0a9 */ OPT_ROUND, - /* 0x0aa */ OPT_NO_WILDCARDS, - /* 0x0ab */ OPT_IN_ORDER, - /* 0x0ac */ OPT_NO_ECHO, - /* 0x0ad */ OPT_UTF_8, - /* 0x0ae */ OPT_NO_UTF_8, - /* 0x0af */ OPT_FORCE, - /* 0x0b0 */ OPT_REPAIR_MAGICS, - /* 0x0b1 */ OPT_TINY, - /* 0x0b2 */ OPT_OLD, - /* 0x0b3 */ OPT_STD, - /* 0x0b4 */ OPT_NEW, - /* 0x0b5 */ OPT_EXTRACT, - /* 0x0b6 */ OPT_NUMBER, - /* 0x0b7 */ OPT_SECTIONS, - /* 0x0b8 */ 0,0,0,0, 0,0,0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_SCALE, + /* 0x090 */ OPT_SHIFT, + /* 0x091 */ OPT_XSS, + /* 0x092 */ OPT_YSS, + /* 0x093 */ OPT_ZSS, + /* 0x094 */ OPT_ROT, + /* 0x095 */ OPT_XROT, + /* 0x096 */ OPT_YROT, + /* 0x097 */ OPT_ZROT, + /* 0x098 */ OPT_TRANSLATE, + /* 0x099 */ OPT_NULL, + /* 0x09a */ OPT_NEXT, + /* 0x09b */ OPT_ASCALE, + /* 0x09c */ OPT_AROT, + /* 0x09d */ OPT_TFORM_SCRIPT, + /* 0x09e */ OPT_KCL, + /* 0x09f */ OPT_KCL_FLAG, + /* 0x0a0 */ OPT_KCL_SCRIPT, + /* 0x0a1 */ OPT_TRI_AREA, + /* 0x0a2 */ OPT_TRI_HEIGHT, + /* 0x0a3 */ OPT_FLAG_FILE, + /* 0x0a4 */ OPT_XTRIDATA, + /* 0x0a5 */ OPT_SLOT, + /* 0x0a6 */ OPT_ID, + /* 0x0a7 */ OPT_BASE64, + /* 0x0a8 */ OPT_DB64, + /* 0x0a9 */ OPT_CODING, + /* 0x0aa */ OPT_ROUND, + /* 0x0ab */ OPT_NO_WILDCARDS, + /* 0x0ac */ OPT_IN_ORDER, + /* 0x0ad */ OPT_NO_ECHO, + /* 0x0ae */ OPT_UTF_8, + /* 0x0af */ OPT_NO_UTF_8, + /* 0x0b0 */ OPT_FORCE, + /* 0x0b1 */ OPT_REPAIR_MAGICS, + /* 0x0b2 */ OPT_TINY, + /* 0x0b3 */ OPT_OLD, + /* 0x0b4 */ OPT_STD, + /* 0x0b5 */ OPT_NEW, + /* 0x0b6 */ OPT_EXTRACT, + /* 0x0b7 */ OPT_NUMBER, + /* 0x0b8 */ OPT_SECTIONS, + /* 0x0b9 */ 0,0,0,0, 0,0,0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1457,6 +1468,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_KCL, @@ -2259,7 +2271,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms KCL Tool : Analyze, modify, export and create KCL and OBJ" " files.", 0, - 30, + 31, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wkclt.h b/project/src/ui/ui-wkclt.h index 7c27d16..e7caae7 100644 --- a/project/src/ui/ui-wkclt.h +++ b/project/src/ui/ui-wkclt.h @@ -123,6 +123,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_KCL, @@ -143,7 +144,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 82 + OPT__N_TOTAL // == 83 } enumOptions; @@ -485,6 +486,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_SCALE, GO_SHIFT, diff --git a/project/src/ui/ui-wkmpt.c b/project/src/ui/ui-wkmpt.c index f05cdfc..1732e0f 100644 --- a/project/src/ui/ui-wkmpt.c +++ b/project/src/ui/ui-wkmpt.c @@ -563,15 +563,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -639,6 +641,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " details." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -913,7 +921,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 100 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 101 }; @@ -1230,6 +1238,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "scale", 1, 0, GO_SCALE }, @@ -1423,65 +1433,66 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_SCALE, - /* 0x08f */ OPT_SHIFT, - /* 0x090 */ OPT_XSS, - /* 0x091 */ OPT_YSS, - /* 0x092 */ OPT_ZSS, - /* 0x093 */ OPT_ROT, - /* 0x094 */ OPT_XROT, - /* 0x095 */ OPT_YROT, - /* 0x096 */ OPT_ZROT, - /* 0x097 */ OPT_YPOS, - /* 0x098 */ OPT_TRANSLATE, - /* 0x099 */ OPT_NULL, - /* 0x09a */ OPT_NEXT, - /* 0x09b */ OPT_ASCALE, - /* 0x09c */ OPT_AROT, - /* 0x09d */ OPT_TFORM_SCRIPT, - /* 0x09e */ OPT_RM_GOBJ, - /* 0x09f */ OPT_BATTLE, - /* 0x0a0 */ OPT_EXPORT_FLAGS, - /* 0x0a1 */ OPT_ROUTE_OPTIONS, - /* 0x0a2 */ OPT_WIM0, - /* 0x0a3 */ OPT_SLOT, - /* 0x0a4 */ OPT_POS_MODE, - /* 0x0a5 */ OPT_POS_FILE, - /* 0x0a6 */ OPT_PNG, - /* 0x0a7 */ OPT_LOAD_KCL, - /* 0x0a8 */ OPT_KCL, - /* 0x0a9 */ OPT_KCL_FLAG, - /* 0x0aa */ OPT_KCL_SCRIPT, - /* 0x0ab */ OPT_TRI_AREA, - /* 0x0ac */ OPT_TRI_HEIGHT, - /* 0x0ad */ OPT_FLAG_FILE, - /* 0x0ae */ OPT_XTRIDATA, - /* 0x0af */ OPT_KMP, - /* 0x0b0 */ OPT_N_LAPS, - /* 0x0b1 */ OPT_SPEED_MOD, - /* 0x0b2 */ OPT_KTPT2, - /* 0x0b3 */ OPT_TFORM_KMP, - /* 0x0b4 */ OPT_REPAIR_XPF, - /* 0x0b5 */ OPT_GAMEMODES, - /* 0x0b6 */ OPT_ROUND, - /* 0x0b7 */ OPT_NO_WILDCARDS, - /* 0x0b8 */ OPT_IN_ORDER, - /* 0x0b9 */ OPT_EPSILON, - /* 0x0ba */ OPT_DIFF, - /* 0x0bb */ OPT_NO_ECHO, - /* 0x0bc */ OPT_UTF_8, - /* 0x0bd */ OPT_NO_UTF_8, - /* 0x0be */ OPT_FORCE, - /* 0x0bf */ OPT_REPAIR_MAGICS, - /* 0x0c0 */ OPT_TINY, - /* 0x0c1 */ OPT_OLD, - /* 0x0c2 */ OPT_STD, - /* 0x0c3 */ OPT_NEW, - /* 0x0c4 */ OPT_EXTRACT, - /* 0x0c5 */ OPT_NUMBER, - /* 0x0c6 */ OPT_SECTIONS, - /* 0x0c7 */ 0,0,0,0, 0,0,0,0, 0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_SCALE, + /* 0x090 */ OPT_SHIFT, + /* 0x091 */ OPT_XSS, + /* 0x092 */ OPT_YSS, + /* 0x093 */ OPT_ZSS, + /* 0x094 */ OPT_ROT, + /* 0x095 */ OPT_XROT, + /* 0x096 */ OPT_YROT, + /* 0x097 */ OPT_ZROT, + /* 0x098 */ OPT_YPOS, + /* 0x099 */ OPT_TRANSLATE, + /* 0x09a */ OPT_NULL, + /* 0x09b */ OPT_NEXT, + /* 0x09c */ OPT_ASCALE, + /* 0x09d */ OPT_AROT, + /* 0x09e */ OPT_TFORM_SCRIPT, + /* 0x09f */ OPT_RM_GOBJ, + /* 0x0a0 */ OPT_BATTLE, + /* 0x0a1 */ OPT_EXPORT_FLAGS, + /* 0x0a2 */ OPT_ROUTE_OPTIONS, + /* 0x0a3 */ OPT_WIM0, + /* 0x0a4 */ OPT_SLOT, + /* 0x0a5 */ OPT_POS_MODE, + /* 0x0a6 */ OPT_POS_FILE, + /* 0x0a7 */ OPT_PNG, + /* 0x0a8 */ OPT_LOAD_KCL, + /* 0x0a9 */ OPT_KCL, + /* 0x0aa */ OPT_KCL_FLAG, + /* 0x0ab */ OPT_KCL_SCRIPT, + /* 0x0ac */ OPT_TRI_AREA, + /* 0x0ad */ OPT_TRI_HEIGHT, + /* 0x0ae */ OPT_FLAG_FILE, + /* 0x0af */ OPT_XTRIDATA, + /* 0x0b0 */ OPT_KMP, + /* 0x0b1 */ OPT_N_LAPS, + /* 0x0b2 */ OPT_SPEED_MOD, + /* 0x0b3 */ OPT_KTPT2, + /* 0x0b4 */ OPT_TFORM_KMP, + /* 0x0b5 */ OPT_REPAIR_XPF, + /* 0x0b6 */ OPT_GAMEMODES, + /* 0x0b7 */ OPT_ROUND, + /* 0x0b8 */ OPT_NO_WILDCARDS, + /* 0x0b9 */ OPT_IN_ORDER, + /* 0x0ba */ OPT_EPSILON, + /* 0x0bb */ OPT_DIFF, + /* 0x0bc */ OPT_NO_ECHO, + /* 0x0bd */ OPT_UTF_8, + /* 0x0be */ OPT_NO_UTF_8, + /* 0x0bf */ OPT_FORCE, + /* 0x0c0 */ OPT_REPAIR_MAGICS, + /* 0x0c1 */ OPT_TINY, + /* 0x0c2 */ OPT_OLD, + /* 0x0c3 */ OPT_STD, + /* 0x0c4 */ OPT_NEW, + /* 0x0c5 */ OPT_EXTRACT, + /* 0x0c6 */ OPT_NUMBER, + /* 0x0c7 */ OPT_SECTIONS, + /* 0x0c8 */ 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1711,6 +1722,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_BATTLE, @@ -2322,7 +2334,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms KMP Tool : Analyze, modify, export and create (compile) KMP" " files.", 0, - 39, + 40, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wkmpt.h b/project/src/ui/ui-wkmpt.h index f3ec012..b5c0e5e 100644 --- a/project/src/ui/ui-wkmpt.h +++ b/project/src/ui/ui-wkmpt.h @@ -131,6 +131,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_BATTLE, @@ -161,7 +162,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 100 + OPT__N_TOTAL // == 101 } enumOptions; @@ -503,6 +504,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_SCALE, GO_SHIFT, diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c index b7093fb..29f4faf 100644 --- a/project/src/ui/ui-wlect.c +++ b/project/src/ui/ui-wlect.c @@ -465,15 +465,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -540,6 +542,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " compatibility with the other tools." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_LOAD_PREFIX, false, false, false, false, false, 0, "load-prefix", "file", "Read in a PREFIX file and replace the internal prefix database with" @@ -699,7 +707,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 91 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 92 }; @@ -905,6 +913,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "load-prefix", 1, 0, GO_LOAD_PREFIX }, { "loadprefix", 1, 0, GO_LOAD_PREFIX }, { "load-category", 1, 0, GO_LOAD_CATEGORY }, @@ -1092,60 +1102,61 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_LOAD_PREFIX, - /* 0x08e */ OPT_LOAD_CATEGORY, - /* 0x08f */ OPT_PLUS, - /* 0x090 */ OPT_CHDIR, - /* 0x091 */ OPT_ROUND, - /* 0x092 */ OPT_NO_WILDCARDS, - /* 0x093 */ OPT_IN_ORDER, - /* 0x094 */ OPT_NO_ECHO, - /* 0x095 */ OPT_UTF_8, - /* 0x096 */ OPT_NO_UTF_8, - /* 0x097 */ OPT_CACHE, - /* 0x098 */ OPT_LOG_CACHE, - /* 0x099 */ OPT_LT_CLEAR, - /* 0x09a */ OPT_LT_ONLINE, - /* 0x09b */ OPT_LT_N_PLAYERS, - /* 0x09c */ OPT_LT_COND_BIT, - /* 0x09d */ OPT_LT_GAME_MODE, - /* 0x09e */ OPT_LT_ENGINE, - /* 0x09f */ OPT_LT_RANDOM, - /* 0x0a0 */ OPT_LEX_PURGE, - /* 0x0a1 */ OPT_LEX_RM_FEAT, - /* 0x0a2 */ OPT_FORCE, - /* 0x0a3 */ OPT_REPAIR_MAGICS, - /* 0x0a4 */ OPT_CREATE_DISTRIB, - /* 0x0a5 */ OPT_OLD, - /* 0x0a6 */ OPT_STD, - /* 0x0a7 */ OPT_NEW, - /* 0x0a8 */ OPT_EXTRACT, - /* 0x0a9 */ OPT_LE_DEFINE, - /* 0x0aa */ OPT_LE_ARENA, - /* 0x0ab */ OPT_LPAR, - /* 0x0ac */ OPT_ALIAS, - /* 0x0ad */ OPT_ENGINE, - /* 0x0ae */ OPT_200CC, - /* 0x0af */ OPT_PERFMON, - /* 0x0b0 */ OPT_CUSTOM_TT, - /* 0x0b1 */ OPT_XPFLAGS, - /* 0x0b2 */ OPT_SPEEDOMETER, - /* 0x0b3 */ OPT_DEBUG, - /* 0x0b4 */ OPT_TRACK_DIR, - /* 0x0b5 */ OPT_COPY_TRACKS, - /* 0x0b6 */ OPT_MOVE_TRACKS, - /* 0x0b7 */ OPT_MOVE1_TRACKS, - /* 0x0b8 */ OPT_LINK_TRACKS, - /* 0x0b9 */ OPT_SZS_MODE, - /* 0x0ba */ OPT_LOAD_BMG, - /* 0x0bb */ OPT_PATCH_BMG, - /* 0x0bc */ OPT_MACRO_BMG, - /* 0x0bd */ OPT_PATCH_NAMES, - /* 0x0be */ OPT_ORDER_BY, - /* 0x0bf */ OPT_ORDER_ALL, - /* 0x0c0 */ OPT_NUMBER, - /* 0x0c1 */ OPT_SECTIONS, - /* 0x0c2 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_LOAD_PREFIX, + /* 0x08f */ OPT_LOAD_CATEGORY, + /* 0x090 */ OPT_PLUS, + /* 0x091 */ OPT_CHDIR, + /* 0x092 */ OPT_ROUND, + /* 0x093 */ OPT_NO_WILDCARDS, + /* 0x094 */ OPT_IN_ORDER, + /* 0x095 */ OPT_NO_ECHO, + /* 0x096 */ OPT_UTF_8, + /* 0x097 */ OPT_NO_UTF_8, + /* 0x098 */ OPT_CACHE, + /* 0x099 */ OPT_LOG_CACHE, + /* 0x09a */ OPT_LT_CLEAR, + /* 0x09b */ OPT_LT_ONLINE, + /* 0x09c */ OPT_LT_N_PLAYERS, + /* 0x09d */ OPT_LT_COND_BIT, + /* 0x09e */ OPT_LT_GAME_MODE, + /* 0x09f */ OPT_LT_ENGINE, + /* 0x0a0 */ OPT_LT_RANDOM, + /* 0x0a1 */ OPT_LEX_PURGE, + /* 0x0a2 */ OPT_LEX_RM_FEAT, + /* 0x0a3 */ OPT_FORCE, + /* 0x0a4 */ OPT_REPAIR_MAGICS, + /* 0x0a5 */ OPT_CREATE_DISTRIB, + /* 0x0a6 */ OPT_OLD, + /* 0x0a7 */ OPT_STD, + /* 0x0a8 */ OPT_NEW, + /* 0x0a9 */ OPT_EXTRACT, + /* 0x0aa */ OPT_LE_DEFINE, + /* 0x0ab */ OPT_LE_ARENA, + /* 0x0ac */ OPT_LPAR, + /* 0x0ad */ OPT_ALIAS, + /* 0x0ae */ OPT_ENGINE, + /* 0x0af */ OPT_200CC, + /* 0x0b0 */ OPT_PERFMON, + /* 0x0b1 */ OPT_CUSTOM_TT, + /* 0x0b2 */ OPT_XPFLAGS, + /* 0x0b3 */ OPT_SPEEDOMETER, + /* 0x0b4 */ OPT_DEBUG, + /* 0x0b5 */ OPT_TRACK_DIR, + /* 0x0b6 */ OPT_COPY_TRACKS, + /* 0x0b7 */ OPT_MOVE_TRACKS, + /* 0x0b8 */ OPT_MOVE1_TRACKS, + /* 0x0b9 */ OPT_LINK_TRACKS, + /* 0x0ba */ OPT_SZS_MODE, + /* 0x0bb */ OPT_LOAD_BMG, + /* 0x0bc */ OPT_PATCH_BMG, + /* 0x0bd */ OPT_MACRO_BMG, + /* 0x0be */ OPT_PATCH_NAMES, + /* 0x0bf */ OPT_ORDER_BY, + /* 0x0c0 */ OPT_ORDER_ALL, + /* 0x0c1 */ OPT_NUMBER, + /* 0x0c2 */ OPT_SECTIONS, + /* 0x0c3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1369,6 +1380,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_LOAD_PREFIX, OptionInfo + OPT_LOAD_CATEGORY, OptionInfo + OPT_CHDIR, @@ -1950,7 +1962,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "wlect [option]... command [option|parameter|file]...", "Wiimms LE-CODE Tool : Manage the LE-CODE and LEX extensions.", 0, - 36, + 37, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h index 5b3c6b4..5c46558 100644 --- a/project/src/ui/ui-wlect.h +++ b/project/src/ui/ui-wlect.h @@ -129,6 +129,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_LOAD_PREFIX, OPT_LOAD_CATEGORY, OPT_CHDIR, @@ -152,7 +153,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 91 + OPT__N_TOTAL // == 92 } enumOptions; @@ -474,6 +475,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_LOAD_PREFIX, GO_LOAD_CATEGORY, GO_PLUS, diff --git a/project/src/ui/ui-wmdlt.c b/project/src/ui/ui-wmdlt.c index fe6a6e2..e2361c8 100644 --- a/project/src/ui/ui-wmdlt.c +++ b/project/src/ui/ui-wmdlt.c @@ -393,15 +393,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -468,6 +470,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " compatibility with the other tools." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -490,7 +498,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_MDL, false, false, false, false, false, 0, "mdl", "list", "Set global options for MDL processing. To enable MDL patching, use" - " option --patch-file and select BRRES files for patching.\n" + " option --patch-files and select BRRES files for patching.\n" " Parameter 'list' is a comma separated list of keywords. A minus" " sign before a keyword disables a setting. Each occurrence of the" " option will only change entered settings and all other settings are" @@ -601,7 +609,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 71 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 72 }; @@ -791,6 +799,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "mdl", 1, 0, GO_MDL }, @@ -928,39 +938,40 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_MDL, - /* 0x08f */ OPT_SCALE, - /* 0x090 */ OPT_SHIFT, - /* 0x091 */ OPT_XSS, - /* 0x092 */ OPT_YSS, - /* 0x093 */ OPT_ZSS, - /* 0x094 */ OPT_ROT, - /* 0x095 */ OPT_XROT, - /* 0x096 */ OPT_YROT, - /* 0x097 */ OPT_ZROT, - /* 0x098 */ OPT_TRANSLATE, - /* 0x099 */ OPT_NULL, - /* 0x09a */ OPT_NEXT, - /* 0x09b */ OPT_ASCALE, - /* 0x09c */ OPT_AROT, - /* 0x09d */ OPT_TFORM_SCRIPT, - /* 0x09e */ OPT_ROUND, - /* 0x09f */ OPT_NO_WILDCARDS, - /* 0x0a0 */ OPT_IN_ORDER, - /* 0x0a1 */ OPT_NO_ECHO, - /* 0x0a2 */ OPT_UTF_8, - /* 0x0a3 */ OPT_NO_UTF_8, - /* 0x0a4 */ OPT_FORCE, - /* 0x0a5 */ OPT_REPAIR_MAGICS, - /* 0x0a6 */ OPT_TINY, - /* 0x0a7 */ OPT_OLD, - /* 0x0a8 */ OPT_STD, - /* 0x0a9 */ OPT_NEW, - /* 0x0aa */ OPT_EXTRACT, - /* 0x0ab */ OPT_NUMBER, - /* 0x0ac */ OPT_SECTIONS, - /* 0x0ad */ 0,0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_MDL, + /* 0x090 */ OPT_SCALE, + /* 0x091 */ OPT_SHIFT, + /* 0x092 */ OPT_XSS, + /* 0x093 */ OPT_YSS, + /* 0x094 */ OPT_ZSS, + /* 0x095 */ OPT_ROT, + /* 0x096 */ OPT_XROT, + /* 0x097 */ OPT_YROT, + /* 0x098 */ OPT_ZROT, + /* 0x099 */ OPT_TRANSLATE, + /* 0x09a */ OPT_NULL, + /* 0x09b */ OPT_NEXT, + /* 0x09c */ OPT_ASCALE, + /* 0x09d */ OPT_AROT, + /* 0x09e */ OPT_TFORM_SCRIPT, + /* 0x09f */ OPT_ROUND, + /* 0x0a0 */ OPT_NO_WILDCARDS, + /* 0x0a1 */ OPT_IN_ORDER, + /* 0x0a2 */ OPT_NO_ECHO, + /* 0x0a3 */ OPT_UTF_8, + /* 0x0a4 */ OPT_NO_UTF_8, + /* 0x0a5 */ OPT_FORCE, + /* 0x0a6 */ OPT_REPAIR_MAGICS, + /* 0x0a7 */ OPT_TINY, + /* 0x0a8 */ OPT_OLD, + /* 0x0a9 */ OPT_STD, + /* 0x0aa */ OPT_NEW, + /* 0x0ab */ OPT_EXTRACT, + /* 0x0ac */ OPT_NUMBER, + /* 0x0ad */ OPT_SECTIONS, + /* 0x0ae */ 0,0, /* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1138,6 +1149,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_MDL, @@ -1546,7 +1558,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "wmdlt [option]... command [option|parameter|file]...", "Wiimms MDL Tool : Decode raw MDL and encode text MDL files.", 0, - 28, + 29, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wmdlt.h b/project/src/ui/ui-wmdlt.h index fc46944..28e7af6 100644 --- a/project/src/ui/ui-wmdlt.h +++ b/project/src/ui/ui-wmdlt.h @@ -115,6 +115,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_MDL, @@ -132,7 +133,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 71 + OPT__N_TOTAL // == 72 } enumOptions; @@ -397,6 +398,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_MDL, GO_SCALE, diff --git a/project/src/ui/ui-wpatt.c b/project/src/ui/ui-wpatt.c index b76739a..a7f0f69 100644 --- a/project/src/ui/ui-wpatt.c +++ b/project/src/ui/ui-wpatt.c @@ -235,15 +235,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -310,6 +312,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " compatibility with the other tools." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -432,7 +440,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 55 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 56 }; @@ -588,6 +596,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "round", 0, 0, GO_ROUND }, @@ -707,23 +717,24 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_ROUND, - /* 0x08f */ OPT_NO_WILDCARDS, - /* 0x090 */ OPT_IN_ORDER, - /* 0x091 */ OPT_NO_ECHO, - /* 0x092 */ OPT_PAT, - /* 0x093 */ OPT_UTF_8, - /* 0x094 */ OPT_NO_UTF_8, - /* 0x095 */ OPT_FORCE, - /* 0x096 */ OPT_REPAIR_MAGICS, - /* 0x097 */ OPT_OLD, - /* 0x098 */ OPT_STD, - /* 0x099 */ OPT_NEW, - /* 0x09a */ OPT_EXTRACT, - /* 0x09b */ OPT_NUMBER, - /* 0x09c */ OPT_SECTIONS, - /* 0x09d */ 0,0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_ROUND, + /* 0x090 */ OPT_NO_WILDCARDS, + /* 0x091 */ OPT_IN_ORDER, + /* 0x092 */ OPT_NO_ECHO, + /* 0x093 */ OPT_PAT, + /* 0x094 */ OPT_UTF_8, + /* 0x095 */ OPT_NO_UTF_8, + /* 0x096 */ OPT_FORCE, + /* 0x097 */ OPT_REPAIR_MAGICS, + /* 0x098 */ OPT_OLD, + /* 0x099 */ OPT_STD, + /* 0x09a */ OPT_NEW, + /* 0x09b */ OPT_EXTRACT, + /* 0x09c */ OPT_NUMBER, + /* 0x09d */ OPT_SECTIONS, + /* 0x09e */ 0,0, /* 0x0a0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -860,6 +871,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_MAX_FILE_SIZE, @@ -1078,7 +1090,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "wpatt [option]... command [option|parameter|file]...", "Wiimms PAT Tool : Decode raw PAT and encode text PAT files.", 0, - 27, + 28, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wpatt.h b/project/src/ui/ui-wpatt.h index b8ad8b1..ca89e6b 100644 --- a/project/src/ui/ui-wpatt.h +++ b/project/src/ui/ui-wpatt.h @@ -100,6 +100,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_MAX_FILE_SIZE, @@ -116,7 +117,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 55 + OPT__N_TOTAL // == 56 } enumOptions; @@ -314,6 +315,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_ROUND, GO_NO_WILDCARDS, diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c index 2462f8e..2d6cd05 100644 --- a/project/src/ui/ui-wstrt.c +++ b/project/src/ui/ui-wstrt.c @@ -166,6 +166,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = "Add newest LE-CODE starter from 2023-12 to main.dol." }, + { OPT_ADDS_LECODE, false, true, false, false, false, 0, "adds-lecode", + 0, + "Add newest LE-CODE starter from 2023-12 to main.dol like" + " --add-section does it." + }, + { OPT_ADD_OLD_LECODE, false, false, false, false, false, 0, "add-old-lecode", 0, "Add old LE-CODE starter from 2019-01 to main.dol." @@ -192,12 +198,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_ADD_SECTION, false, false, false, false, false, 0, "add-section", "file", "Each option call adds the filename to an internal list. Each file" - " must be of type GCT, GCH or WCH. All GCT files together are combined" - " with an internal code handler to one section (like a GCH file). GCH" - " and WCH define sections and patches. The defined sections are added" - " and VBI hooks are optionally initialized. Use option --force to" - " allow overlapped sections. Use option --verbose up to 2 times for a" - " log.\n" + " must be of type GCT, GCT-TXT, GCH or WCH. All GCT files together are" + " combined with an internal code handler to one section (like a GCH" + " file). GCH and WCH define sections and patches. The defined sections" + " are added and VBI hooks are optionally initialized. Use option" + " --force to allow overlapped sections. Use option --verbose up to 2" + " times for a log.\n" " If parameter FILE contains at least one wildcard (e.g. \"*.GCT\")," " then FILE is used as search pattern and all found files are added." " Quote FILE for this purpose. \n" @@ -248,14 +254,15 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " the heap smaller and move the cheat codes before the FST section.\n" " Parameter MODE is optional. If set, OFF disables and ON enables" " this feature. For mode AUTO (default) this feature is enabled, if" - " the cheat codes are too large or for internal reasons." + " the cheat codes are too large (end>0x80003000) or for internal" + " conflicts." }, { OPT_GCT_ADDR, false, false, false, false, false, 0, "gct-addr", "address", "If --gct-move is active, a text section is created to manage the code" " handler. This section is only needed at start and is placed by" - " default at address 0c802c0000 (part of BSS, good address for all 4" + " default at address 0x802c0000 (part of BSS, good address for all 4" " regions). This option changes the start address of the section. If" " address is 0 or invalid, then unused BSS space is searched." }, @@ -273,7 +280,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " This option is only relevant, if main.dol is patched for wiimmfi.de." " It is dedicated to custom distribution creators for test purposes." " If enabled, a user can load an own instance of Gecko Code Handler" - " and cheat codes and can use them online. If disabled, pachcing for" + " and cheat codes and can use them online. If disabled, patching for" " online modus is disabled if an alternative Gecko Code Handler is" " detected.\n" " Parameter MODE is optional. If set, OFF disables and ON enables" @@ -511,7 +518,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " dependent (multiple of format size)." }, - {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 69 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 70 //----- global options ----- @@ -583,15 +590,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -658,6 +667,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " compatibility with the other tools." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_CHDIR, false, false, false, false, false, 0, "chdir", "dir", "Set a new working directory for all following options, for all" @@ -929,7 +944,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " directory." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 124 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 126 }; @@ -1173,6 +1188,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "long", 0, 0, 'l' }, @@ -1246,6 +1263,8 @@ static const struct option OptionLong[] = { "cleandol", 0, 0, GO_CLEAN_DOL }, { "add-lecode", 0, 0, GO_ADD_LECODE }, { "addlecode", 0, 0, GO_ADD_LECODE }, + { "adds-lecode", 0, 0, GO_ADDS_LECODE }, + { "addslecode", 0, 0, GO_ADDS_LECODE }, { "add-old-lecode", 0, 0, GO_ADD_OLD_LECODE }, { "addoldlecode", 0, 0, GO_ADD_OLD_LECODE }, { "add-ctcode", 0, 0, GO_ADD_CTCODE }, @@ -1393,91 +1412,93 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_NO_WILDCARDS, - /* 0x08f */ OPT_IN_ORDER, - /* 0x090 */ OPT_VS_REGION, - /* 0x091 */ OPT_BT_REGION, - /* 0x092 */ OPT_ALL_RANKS, - /* 0x093 */ OPT_POINTS, - /* 0x094 */ OPT_CHEAT, - /* 0x095 */ OPT_HTTPS, - /* 0x096 */ OPT_DOMAIN, - /* 0x097 */ OPT_WIIMMFI, - /* 0x098 */ OPT_TWIIMMFI, - /* 0x099 */ OPT_WC24, - /* 0x09a */ OPT_WCODE, - /* 0x09b */ OPT_ADD_WCODE, - /* 0x09c */ OPT_PB_MODE, - /* 0x09d */ OPT_PATCHED_BY, - /* 0x09e */ OPT_VS, - /* 0x09f */ OPT_VS2, - /* 0x0a0 */ OPT_BT, - /* 0x0a1 */ OPT_BT2, - /* 0x0a2 */ OPT_CANNON, - /* 0x0a3 */ OPT_MENO, - /* 0x0a4 */ OPT_UTF_8, - /* 0x0a5 */ OPT_NO_UTF_8, - /* 0x0a6 */ OPT_FORCE, - /* 0x0a7 */ OPT_REPAIR_MAGICS, - /* 0x0a8 */ OPT_OLD, - /* 0x0a9 */ OPT_STD, - /* 0x0aa */ OPT_NEW, - /* 0x0ab */ OPT_EXTRACT, - /* 0x0ac */ OPT_NUMBER, - /* 0x0ad */ OPT_CLEAN_DOL, - /* 0x0ae */ OPT_ADD_LECODE, - /* 0x0af */ OPT_ADD_OLD_LECODE, - /* 0x0b0 */ OPT_ADD_CTCODE, - /* 0x0b1 */ OPT_CT_DIR, - /* 0x0b2 */ OPT_MOVE_D8, - /* 0x0b3 */ OPT_ADD_SECTION, - /* 0x0b4 */ OPT_FULL_GCH, - /* 0x0b5 */ OPT_GCT_NO_SEP, - /* 0x0b6 */ OPT_GCT_SEP, - /* 0x0b7 */ OPT_GCT_ASM_SEP, - /* 0x0b8 */ OPT_GCT_LIST, - /* 0x0b9 */ OPT_GCT_MOVE, - /* 0x0ba */ OPT_GCT_ADDR, - /* 0x0bb */ OPT_GCT_SPACE, - /* 0x0bc */ OPT_ALLOW_USER_GCH, - /* 0x0bd */ OPT_CREATE_SECT, - /* 0x0be */ OPT_WPF, - /* 0x0bf */ OPT_SECTIONS, - /* 0x0c0 */ OPT_PORT_DB, - /* 0x0c1 */ OPT_ORDER, - /* 0x0c2 */ OPT_VADDR, - /* 0x0c3 */ OPT_FADDR, - /* 0x0c4 */ OPT_SNAME, - /* 0x0c5 */ OPT_INT1, - /* 0x0c6 */ OPT_INT2, - /* 0x0c7 */ OPT_INT3, - /* 0x0c8 */ OPT_INT4, - /* 0x0c9 */ OPT_INT5, - /* 0x0ca */ OPT_INT6, - /* 0x0cb */ OPT_INT7, - /* 0x0cc */ OPT_INT8, - /* 0x0cd */ OPT_FLOAT, - /* 0x0ce */ OPT_DOUBLE, - /* 0x0cf */ OPT_LE, - /* 0x0d0 */ OPT_BE, - /* 0x0d1 */ OPT_ZEROS, - /* 0x0d2 */ OPT_HEX, - /* 0x0d3 */ OPT_DEC, - /* 0x0d4 */ OPT_C_SYNTAX, - /* 0x0d5 */ OPT_ADDR, - /* 0x0d6 */ OPT_ALIGN, - /* 0x0d7 */ OPT_TRIGGER, - /* 0x0d8 */ OPT_NO_ADDR, - /* 0x0d9 */ OPT_NO_NUMBERS, - /* 0x0da */ OPT_NO_TEXT, - /* 0x0db */ OPT_FORMAT, - /* 0x0dc */ OPT_NO_NULL, - /* 0x0dd */ OPT_NARROW, - /* 0x0de */ OPT_SMALL, - /* 0x0df */ OPT_WIDE, - /* 0x0e0 */ OPT_BYTES, - /* 0x0e1 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_CHDIR, + /* 0x08f */ OPT_NO_WILDCARDS, + /* 0x090 */ OPT_IN_ORDER, + /* 0x091 */ OPT_VS_REGION, + /* 0x092 */ OPT_BT_REGION, + /* 0x093 */ OPT_ALL_RANKS, + /* 0x094 */ OPT_POINTS, + /* 0x095 */ OPT_CHEAT, + /* 0x096 */ OPT_HTTPS, + /* 0x097 */ OPT_DOMAIN, + /* 0x098 */ OPT_WIIMMFI, + /* 0x099 */ OPT_TWIIMMFI, + /* 0x09a */ OPT_WC24, + /* 0x09b */ OPT_WCODE, + /* 0x09c */ OPT_ADD_WCODE, + /* 0x09d */ OPT_PB_MODE, + /* 0x09e */ OPT_PATCHED_BY, + /* 0x09f */ OPT_VS, + /* 0x0a0 */ OPT_VS2, + /* 0x0a1 */ OPT_BT, + /* 0x0a2 */ OPT_BT2, + /* 0x0a3 */ OPT_CANNON, + /* 0x0a4 */ OPT_MENO, + /* 0x0a5 */ OPT_UTF_8, + /* 0x0a6 */ OPT_NO_UTF_8, + /* 0x0a7 */ OPT_FORCE, + /* 0x0a8 */ OPT_REPAIR_MAGICS, + /* 0x0a9 */ OPT_OLD, + /* 0x0aa */ OPT_STD, + /* 0x0ab */ OPT_NEW, + /* 0x0ac */ OPT_EXTRACT, + /* 0x0ad */ OPT_NUMBER, + /* 0x0ae */ OPT_CLEAN_DOL, + /* 0x0af */ OPT_ADD_LECODE, + /* 0x0b0 */ OPT_ADDS_LECODE, + /* 0x0b1 */ OPT_ADD_OLD_LECODE, + /* 0x0b2 */ OPT_ADD_CTCODE, + /* 0x0b3 */ OPT_CT_DIR, + /* 0x0b4 */ OPT_MOVE_D8, + /* 0x0b5 */ OPT_ADD_SECTION, + /* 0x0b6 */ OPT_FULL_GCH, + /* 0x0b7 */ OPT_GCT_NO_SEP, + /* 0x0b8 */ OPT_GCT_SEP, + /* 0x0b9 */ OPT_GCT_ASM_SEP, + /* 0x0ba */ OPT_GCT_LIST, + /* 0x0bb */ OPT_GCT_MOVE, + /* 0x0bc */ OPT_GCT_ADDR, + /* 0x0bd */ OPT_GCT_SPACE, + /* 0x0be */ OPT_ALLOW_USER_GCH, + /* 0x0bf */ OPT_CREATE_SECT, + /* 0x0c0 */ OPT_WPF, + /* 0x0c1 */ OPT_SECTIONS, + /* 0x0c2 */ OPT_PORT_DB, + /* 0x0c3 */ OPT_ORDER, + /* 0x0c4 */ OPT_VADDR, + /* 0x0c5 */ OPT_FADDR, + /* 0x0c6 */ OPT_SNAME, + /* 0x0c7 */ OPT_INT1, + /* 0x0c8 */ OPT_INT2, + /* 0x0c9 */ OPT_INT3, + /* 0x0ca */ OPT_INT4, + /* 0x0cb */ OPT_INT5, + /* 0x0cc */ OPT_INT6, + /* 0x0cd */ OPT_INT7, + /* 0x0ce */ OPT_INT8, + /* 0x0cf */ OPT_FLOAT, + /* 0x0d0 */ OPT_DOUBLE, + /* 0x0d1 */ OPT_LE, + /* 0x0d2 */ OPT_BE, + /* 0x0d3 */ OPT_ZEROS, + /* 0x0d4 */ OPT_HEX, + /* 0x0d5 */ OPT_DEC, + /* 0x0d6 */ OPT_C_SYNTAX, + /* 0x0d7 */ OPT_ADDR, + /* 0x0d8 */ OPT_ALIGN, + /* 0x0d9 */ OPT_TRIGGER, + /* 0x0da */ OPT_NO_ADDR, + /* 0x0db */ OPT_NO_NUMBERS, + /* 0x0dc */ OPT_NO_TEXT, + /* 0x0dd */ OPT_FORMAT, + /* 0x0de */ OPT_NO_NULL, + /* 0x0df */ OPT_NARROW, + /* 0x0e0 */ OPT_SMALL, + /* 0x0e1 */ OPT_WIDE, + /* 0x0e2 */ OPT_BYTES, + /* 0x0e3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0, /* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x100 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x110 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1491,179 +1512,179 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[69] = // cmd #1 +static u8 option_allowed_cmd_VERSION[70] = // cmd #1 { 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_HELP[69] = // cmd #2 +static u8 option_allowed_cmd_HELP[70] = // cmd #2 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1 + 1,1,1,1,1, 1,1,1,1,1 }; -static u8 option_allowed_cmd_CONFIG[69] = // cmd #3 +static u8 option_allowed_cmd_CONFIG[70] = // cmd #3 { 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_ARGTEST[69] = // cmd #4 +static u8 option_allowed_cmd_ARGTEST[70] = // cmd #4 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1 + 1,1,1,1,1, 1,1,1,1,1 }; -static u8 option_allowed_cmd_EXPAND[69] = // cmd #5 +static u8 option_allowed_cmd_EXPAND[70] = // cmd #5 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1 + 1,1,1,1,1, 1,1,1,1,1 }; -static u8 option_allowed_cmd_TEST[69] = // cmd #6 +static u8 option_allowed_cmd_TEST[70] = // cmd #6 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1 + 1,1,1,1,1, 1,1,1,1,1 }; -static u8 option_allowed_cmd_COLORS[69] = // cmd #7 +static u8 option_allowed_cmd_COLORS[70] = // cmd #7 { 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_ERROR[69] = // cmd #8 +static u8 option_allowed_cmd_ERROR[70] = // cmd #8 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_FILETYPE[69] = // cmd #9 +static u8 option_allowed_cmd_FILETYPE[70] = // cmd #9 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_FILEATTRIB[69] = // cmd #10 +static u8 option_allowed_cmd_FILEATTRIB[70] = // cmd #10 { 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_RAWDUMP[69] = // cmd #11 +static u8 option_allowed_cmd_RAWDUMP[70] = // cmd #11 { 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_DUMP[69] = // cmd #12 +static u8 option_allowed_cmd_DUMP[70] = // cmd #12 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_CDUMP[69] = // cmd #13 +static u8 option_allowed_cmd_CDUMP[70] = // cmd #13 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_HEXDUMP[69] = // cmd #14 +static u8 option_allowed_cmd_HEXDUMP[70] = // cmd #14 { 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1 + 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,1 }; -static u8 option_allowed_cmd_PORT[69] = // cmd #15 +static u8 option_allowed_cmd_PORT[70] = // cmd #15 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_WHERE[69] = // cmd #16 +static u8 option_allowed_cmd_WHERE[70] = // cmd #16 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_HTTPS[69] = // cmd #17 +static u8 option_allowed_cmd_HTTPS[70] = // cmd #17 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_EXTRACT[69] = // cmd #18 +static u8 option_allowed_cmd_EXTRACT[70] = // cmd #18 { 0,0,0,1,1, 0,0,0,1,1, 0,1,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_TRACKS[69] = // cmd #19 +static u8 option_allowed_cmd_TRACKS[70] = // cmd #19 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_ARENAS[69] = // cmd #20 +static u8 option_allowed_cmd_ARENAS[70] = // cmd #20 { 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_FILES[69] = // cmd #21 +static u8 option_allowed_cmd_FILES[70] = // cmd #21 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_FIND[69] = // cmd #22 +static u8 option_allowed_cmd_FIND[70] = // cmd #22 { 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_POINTS[69] = // cmd #23 +static u8 option_allowed_cmd_POINTS[70] = // cmd #23 { 0,1,1,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_ANALYZE[69] = // cmd #24 +static u8 option_allowed_cmd_ANALYZE[70] = // cmd #24 { 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 0,0,0,0,0, 0,0,0,0,0 }; -static u8 option_allowed_cmd_PATCH[69] = // cmd #25 +static u8 option_allowed_cmd_PATCH[70] = // cmd #25 { 0,0,0,1,1, 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0 + 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0 }; @@ -1694,6 +1715,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_CHDIR, OptionInfo + OPT_CONST, OptionInfo + OPT_TRACKS, @@ -2141,7 +2163,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms StaticR Tool : Manipulate the 'main.dol' and 'StaticR.rel'" " files of Mario Kart Wii.", 0, - 43, + 44, option_tab_tool, 0 }, @@ -2557,7 +2579,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "PATCH", 0, "wstrt PATCH [file]...", - "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii. Wildcards" + "Patch 'main.dol' and 'StaticR.rel' files of Mario Kart Wii. Wildcards" " and pipe characters are parsed, see" " https://szs.wiimm.de/doc/wildcards for details. No backup is made.", 0, diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h index db5c24c..eacffa6 100644 --- a/project/src/ui/ui-wstrt.h +++ b/project/src/ui/ui-wstrt.h @@ -73,6 +73,7 @@ typedef enum enumOptions OPT_PRESERVE, OPT_IGNORE, OPT_ADD_LECODE, + OPT_ADDS_LECODE, OPT_ADD_OLD_LECODE, OPT_ADD_CTCODE, OPT_MOVE_D8, @@ -125,7 +126,7 @@ typedef enum enumOptions OPT_WIDE, OPT_BYTES, - OPT__N_SPECIFIC, // == 69 + OPT__N_SPECIFIC, // == 70 //----- global options ----- @@ -150,6 +151,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_CHDIR, OPT_CONST, OPT_TRACKS, @@ -185,7 +187,7 @@ typedef enum enumOptions OPT_CLEAN_DOL, OPT_CT_DIR, - OPT__N_TOTAL // == 124 + OPT__N_TOTAL // == 126 } enumOptions; @@ -217,6 +219,7 @@ typedef enum enumOptions // OB_PRESERVE = 1llu << OPT_PRESERVE, // OB_IGNORE = 1llu << OPT_IGNORE, // OB_ADD_LECODE = 1llu << OPT_ADD_LECODE, +// OB_ADDS_LECODE = 1llu << OPT_ADDS_LECODE, // OB_ADD_OLD_LECODE = 1llu << OPT_ADD_OLD_LECODE, // OB_ADD_CTCODE = 1llu << OPT_ADD_CTCODE, // OB_MOVE_D8 = 1llu << OPT_MOVE_D8, @@ -414,6 +417,7 @@ typedef enum enumOptions // | OB_GRP_DEST // | OB_GRP_PATCH // | OB_ADD_LECODE +// | OB_ADDS_LECODE // | OB_ADD_OLD_LECODE // | OB_ADD_CTCODE // | OB_MOVE_D8 @@ -527,6 +531,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_CHDIR, GO_NO_WILDCARDS, GO_IN_ORDER, @@ -561,6 +566,7 @@ typedef enum enumGetOpt GO_NUMBER, GO_CLEAN_DOL, GO_ADD_LECODE, + GO_ADDS_LECODE, GO_ADD_OLD_LECODE, GO_ADD_CTCODE, GO_CT_DIR, diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c index 23f9fff..31d3913 100644 --- a/project/src/ui/ui-wszst.c +++ b/project/src/ui/ui-wszst.c @@ -797,6 +797,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " https://szs.wiimm.de/opt/source for more details." }, + { OPT_ID_LIST, false, true, false, false, false, 0, "id-list", + "file", + "Set filename of a SHA1ID file." + }, + { OPT_REFERENCE, false, false, false, false, false, 0, "ref", "path", "Define a reference SZS." @@ -1227,7 +1232,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = "Print in machine readable sections and parameter lines." }, - {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 148 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 149 //----- global options ----- @@ -1294,15 +1299,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, - "Be quiet and print only error messages. Multiple usage is possible." - " The impact is command dependent. In general: If set three times," - " different file format warnings are suppressed." + "Be quiet and print only error messages. Multiple use is possible." + " Previous use of --verbose is reverted. The impact is command" + " dependent. If set at least three times, almost all error messages" + " will be suppressed." }, { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, - "Be verbose and print more progress information. Multiple usage is" - " possible. The impact is command dependent." + "Be verbose and print more progress information. Multiple use is" + " possible. Previous use of --quiet is reverted. The impact is command" + " dependent." }, { OPT_LOGGING, false, false, false, false, false, 'L', "logging", @@ -1370,6 +1377,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " details." }, + { OPT_LE_04X, false, false, false, false, false, 0, "le-04x", + 0, + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" + " slot numbers if slots >4095 are used." + }, + { OPT_LOAD_PREFIX, false, false, false, false, false, 0, "load-prefix", "file", "Read in a PREFIX file and replace the internal prefix database with" @@ -1563,7 +1576,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_MDL, false, false, false, false, false, 0, "mdl", "list", "Set global options for MDL processing. To enable MDL patching, use" - " option --patch-file and select BRRES files for patching.\n" + " option --patch-files and select BRRES files for patching.\n" " Parameter 'list' is a comma separated list of keywords. A minus" " sign before a keyword disables a setting. Each occurrence of the" " option will only change entered settings and all other settings are" @@ -1587,7 +1600,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " and LOG. See https://szs.wiimm.de/opt/pat for details." }, - { OPT_PATCH_FILE, false, false, false, false, false, 0, "patch-file", + { OPT_PATCH_FILES, false, false, false, false, false, 0, "patch-files", "list", "Define, which kind of KMP, KCL and BRRES/MDL files are objects for" " patching. --pfile is a short cut.\n" @@ -1595,7 +1608,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " sign before a keyword disables a setting. Each occurrence of the" " option will only change entered settings and all other settings are" " untouched.\n" - " Keyword DEFAULT resets the default settings (TRACK,LOG) and CLEAR" + " Keyword DEFAULT resets the default settings (TRACK,LOG) and NONE" " disables all. The other allowed keywords are: KMP, KCL, OTHER-KCL," " ALL-KCL, MODEL, MAP, VRCORN, OTHER-BRRES, ALL-BRRES, TRACK" " (=KMP,KCL,MODEL,MAP,VRCORN), ALL, LOG and LOG-ALL. See" @@ -1933,7 +1946,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " helper option." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 235 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 237 }; @@ -1998,6 +2011,20 @@ static const InfoOption_t option_cmd_CONFIG_LONG = " output is enabled." }; +static const InfoOption_t option_cmd_WILDCARDS_SH = + { OPT_SH, false, false, false, false, false, 0, "sh", + 0, + "Quote filenames for sh using '...'." + }; + +static const InfoOption_t option_cmd_WILDCARDS_BASH = + { OPT_BASH, false, false, false, false, false, 0, "bash", + 0, + "Ignore --sh and quote filenames for bash using $'...'. Use »eval" + " var=($(wszst wildcards --bash ...))« to assign the result to a bash" + " array." + }; + static const InfoOption_t option_cmd_TEST_VERBOSE = { OPT_VERBOSE, false, false, false, false, false, 'v', "verbose", 0, @@ -2587,6 +2614,8 @@ static const struct option OptionLong[] = { "ctcode", 0, 0, GO_CT_CODE }, { "le-code", 2, 0, GO_LE_CODE }, { "lecode", 2, 0, GO_LE_CODE }, + { "le-04x", 0, 0, GO_LE_04X }, + { "le04x", 0, 0, GO_LE_04X }, { "load-prefix", 1, 0, GO_LOAD_PREFIX }, { "loadprefix", 1, 0, GO_LOAD_PREFIX }, { "load-category", 1, 0, GO_LOAD_CATEGORY }, @@ -2678,9 +2707,9 @@ static const struct option OptionLong[] = { "gmodes", 1, 0, GO_GAMEMODES }, { "mdl", 1, 0, GO_MDL }, { "pat", 1, 0, GO_PAT }, - { "patch-file", 1, 0, GO_PATCH_FILE }, - { "patchfile", 1, 0, GO_PATCH_FILE }, - { "pfile", 1, 0, GO_PATCH_FILE }, + { "patch-files", 1, 0, GO_PATCH_FILES }, + { "patchfiles", 1, 0, GO_PATCH_FILES }, + { "pfiles", 1, 0, GO_PATCH_FILES }, { "kmg-limit", 1, 0, GO_KMG_LIMIT }, { "kmglimit", 1, 0, GO_KMG_LIMIT }, { "kmg-copy", 1, 0, GO_KMG_COPY }, @@ -2836,6 +2865,8 @@ static const struct option OptionLong[] = { "EXTRACT", 1, 0, GO_EXTRACT }, { "source", 1, 0, 's' }, { "src", 1, 0, 's' }, + { "id-list", 1, 0, GO_ID_LIST }, + { "idlist", 1, 0, GO_ID_LIST }, { "ref", 1, 0, GO_REFERENCE }, { "reference", 1, 0, GO_REFERENCE }, { "dest", 1, 0, 'd' }, @@ -3028,193 +3059,195 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08a */ OPT_NO_COLORS, /* 0x08b */ OPT_CT_CODE, /* 0x08c */ OPT_LE_CODE, - /* 0x08d */ OPT_LOAD_PREFIX, - /* 0x08e */ OPT_LOAD_CATEGORY, - /* 0x08f */ OPT_PLUS, - /* 0x090 */ OPT_SPLIT, - /* 0x091 */ OPT_PRINTF, - /* 0x092 */ OPT_CHDIR, - /* 0x093 */ OPT_TOUCH, - /* 0x094 */ OPT_AUTO, - /* 0x095 */ OPT_SET_FLAGS, - /* 0x096 */ OPT_SET_SCALE, - /* 0x097 */ OPT_SET_ROT, - /* 0x098 */ OPT_SET_X, - /* 0x099 */ OPT_SET_Y, - /* 0x09a */ OPT_SET_Z, - /* 0x09b */ OPT_XCENTER, - /* 0x09c */ OPT_YCENTER, - /* 0x09d */ OPT_ZCENTER, - /* 0x09e */ OPT_CENTER, - /* 0x09f */ OPT_SCALE, - /* 0x0a0 */ OPT_SHIFT, - /* 0x0a1 */ OPT_XSS, - /* 0x0a2 */ OPT_YSS, - /* 0x0a3 */ OPT_ZSS, - /* 0x0a4 */ OPT_ROT, - /* 0x0a5 */ OPT_XROT, - /* 0x0a6 */ OPT_YROT, - /* 0x0a7 */ OPT_ZROT, - /* 0x0a8 */ OPT_YPOS, - /* 0x0a9 */ OPT_TRANSLATE, - /* 0x0aa */ OPT_NULL, - /* 0x0ab */ OPT_NEXT, - /* 0x0ac */ OPT_ASCALE, - /* 0x0ad */ OPT_AROT, - /* 0x0ae */ OPT_TFORM_SCRIPT, - /* 0x0af */ OPT_MINIMAP, - /* 0x0b0 */ OPT_RM_GOBJ, - /* 0x0b1 */ OPT_BATTLE, - /* 0x0b2 */ OPT_EXPORT_FLAGS, - /* 0x0b3 */ OPT_ROUTE_OPTIONS, - /* 0x0b4 */ OPT_WIM0, - /* 0x0b5 */ OPT_SLOT, - /* 0x0b6 */ OPT_LOAD_KCL, - /* 0x0b7 */ OPT_KCL, - /* 0x0b8 */ OPT_KCL_FLAG, - /* 0x0b9 */ OPT_KCL_SCRIPT, - /* 0x0ba */ OPT_TRI_AREA, - /* 0x0bb */ OPT_TRI_HEIGHT, - /* 0x0bc */ OPT_FLAG_FILE, - /* 0x0bd */ OPT_XTRIDATA, - /* 0x0be */ OPT_KMP, - /* 0x0bf */ OPT_N_LAPS, - /* 0x0c0 */ OPT_SPEED_MOD, - /* 0x0c1 */ OPT_KTPT2, - /* 0x0c2 */ OPT_TFORM_KMP, - /* 0x0c3 */ OPT_REPAIR_XPF, - /* 0x0c4 */ OPT_GAMEMODES, - /* 0x0c5 */ OPT_MDL, - /* 0x0c6 */ OPT_PAT, - /* 0x0c7 */ OPT_PATCH_FILE, - /* 0x0c8 */ OPT_KMG_LIMIT, - /* 0x0c9 */ OPT_KMG_COPY, - /* 0x0ca */ OPT_LT_CLEAR, - /* 0x0cb */ OPT_LT_ONLINE, - /* 0x0cc */ OPT_LT_N_PLAYERS, - /* 0x0cd */ OPT_LT_COND_BIT, - /* 0x0ce */ OPT_LT_GAME_MODE, - /* 0x0cf */ OPT_LT_ENGINE, - /* 0x0d0 */ OPT_LT_RANDOM, - /* 0x0d1 */ OPT_LEX_PURGE, - /* 0x0d2 */ OPT_LEX_FEATURES, - /* 0x0d3 */ OPT_LEX_RM_FEAT, - /* 0x0d4 */ OPT_LOAD_BMG, - /* 0x0d5 */ OPT_PATCH_BMG, - /* 0x0d6 */ OPT_MACRO_BMG, - /* 0x0d7 */ OPT_FILTER_BMG, - /* 0x0d8 */ OPT_LE_MENU, - /* 0x0d9 */ OPT_9LAPS, - /* 0x0da */ OPT_UI_SOURCE, - /* 0x0db */ OPT_TITLE_SCREEN, - /* 0x0dc */ OPT_CUP_ICONS, - /* 0x0dd */ OPT_NO_COPY, - /* 0x0de */ OPT_CACHE, - /* 0x0df */ OPT_CNAME, - /* 0x0e0 */ OPT_LOG_CACHE, - /* 0x0e1 */ OPT_PARALLEL, - /* 0x0e2 */ OPT_ID, - /* 0x0e3 */ OPT_BASE64, - /* 0x0e4 */ OPT_DB64, - /* 0x0e5 */ OPT_CODING, - /* 0x0e6 */ OPT_VERIFY, - /* 0x0e7 */ OPT_ROUND, - /* 0x0e8 */ OPT_NO_WILDCARDS, - /* 0x0e9 */ OPT_IN_ORDER, - /* 0x0ea */ OPT_PIPE, - /* 0x0eb */ OPT_DELTA, - /* 0x0ec */ OPT_DIFF, - /* 0x0ed */ OPT_EPSILON, - /* 0x0ee */ OPT_BMG_ENDIAN, - /* 0x0ef */ OPT_BMG_ENCODING, - /* 0x0f0 */ OPT_BMG_INF_SIZE, - /* 0x0f1 */ OPT_BMG_MID, - /* 0x0f2 */ OPT_FORCE_ATTRIB, - /* 0x0f3 */ OPT_DEF_ATTRIB, - /* 0x0f4 */ OPT_NO_ATTRIB, - /* 0x0f5 */ OPT_X_ESCAPES, - /* 0x0f6 */ OPT_OLD_ESCAPES, - /* 0x0f7 */ OPT_NO_BMG_COLORS, - /* 0x0f8 */ OPT_BMG_COLORS, - /* 0x0f9 */ OPT_NO_BMG_INLINE, - /* 0x0fa */ OPT_AUTOADD_PATH, - /* 0x0fb */ OPT_STRIP, - /* 0x0fc */ OPT_UTF_8, - /* 0x0fd */ OPT_NO_UTF_8, - /* 0x0fe */ OPT_FORCE, - /* 0x0ff */ OPT_REPAIR_MAGICS, - /* 0x100 */ OPT_TINY, - /* 0x101 */ OPT_YAZ0, - /* 0x102 */ OPT_YAZ1, - /* 0x103 */ OPT_XYZ, - /* 0x104 */ OPT_BZ, - /* 0x105 */ OPT_BZIP2, - /* 0x106 */ OPT_LZ, - /* 0x107 */ OPT_LZMA, - /* 0x108 */ OPT_SH, - /* 0x109 */ OPT_BASH, - /* 0x10a */ OPT_JSON, - /* 0x10b */ OPT_PHP, - /* 0x10c */ OPT_MAKEDOC, - /* 0x10d */ OPT_VAR, - /* 0x10e */ OPT_ARRAY, - /* 0x10f */ OPT_AVAR, - /* 0x110 */ OPT_CASE, - /* 0x111 */ OPT_FMODES, - /* 0x112 */ OPT_INSTALL, - /* 0x113 */ OPT_ANALYZE, - /* 0x114 */ OPT_ANALYZE_MODE, - /* 0x115 */ OPT_OLD, - /* 0x116 */ OPT_STD, - /* 0x117 */ OPT_NEW, - /* 0x118 */ OPT_EXTRACT, - /* 0x119 */ OPT_REFERENCE, - /* 0x11a */ OPT_NUMBER, - /* 0x11b */ OPT_REMOVE_SRC, - /* 0x11c */ OPT_IGNORE_SETUP, - /* 0x11d */ OPT_PURGE, - /* 0x11e */ OPT_ALIGN_U8, - /* 0x11f */ OPT_ALIGN_LTA, - /* 0x120 */ OPT_ALIGN_PACK, - /* 0x121 */ OPT_ALIGN_BRRES, - /* 0x122 */ OPT_ALIGN_BREFF, - /* 0x123 */ OPT_ALIGN_BREFT, - /* 0x124 */ OPT_ALIGN, - /* 0x125 */ OPT_ENCODE_ALL, - /* 0x126 */ OPT_ENCODE_IMG, - /* 0x127 */ OPT_NO_ENCODE, - /* 0x128 */ OPT_NO_RECURSE, - /* 0x129 */ OPT_AUTO_ADD, - /* 0x12a */ OPT_NO_ECHO, - /* 0x12b */ OPT_PT_DIR, - /* 0x12c */ OPT_RM_AIPARAM, - /* 0x12d */ OPT_U8, - /* 0x12e */ OPT_SZS, - /* 0x12f */ OPT_WU8, - /* 0x130 */ OPT_XWU8, - /* 0x131 */ OPT_WBZ, - /* 0x132 */ OPT_WLZ, - /* 0x133 */ OPT_LFL, - /* 0x134 */ OPT_PACK, - /* 0x135 */ OPT_BRRES, - /* 0x136 */ OPT_BREFF, - /* 0x137 */ OPT_BREFT, - /* 0x138 */ OPT_NO_COMPRESS, - /* 0x139 */ OPT_FAST, - /* 0x13a */ OPT_LINKS, - /* 0x13b */ OPT_BASEDIR, - /* 0x13c */ OPT_DECODE, - /* 0x13d */ OPT_MIPMAPS, - /* 0x13e */ OPT_NO_MIPMAPS, - /* 0x13f */ OPT_N_MIPMAPS, - /* 0x140 */ OPT_MAX_MIPMAPS, - /* 0x141 */ OPT_MIPMAP_SIZE, - /* 0x142 */ OPT_FAST_MIPMAPS, - /* 0x143 */ OPT_CMPR_DEFAULT, - /* 0x144 */ OPT_CUT, - /* 0x145 */ OPT_RAW, - /* 0x146 */ OPT_SECTIONS, - /* 0x147 */ 0,0,0, + /* 0x08d */ OPT_LE_04X, + /* 0x08e */ OPT_LOAD_PREFIX, + /* 0x08f */ OPT_LOAD_CATEGORY, + /* 0x090 */ OPT_PLUS, + /* 0x091 */ OPT_SPLIT, + /* 0x092 */ OPT_PRINTF, + /* 0x093 */ OPT_CHDIR, + /* 0x094 */ OPT_TOUCH, + /* 0x095 */ OPT_AUTO, + /* 0x096 */ OPT_SET_FLAGS, + /* 0x097 */ OPT_SET_SCALE, + /* 0x098 */ OPT_SET_ROT, + /* 0x099 */ OPT_SET_X, + /* 0x09a */ OPT_SET_Y, + /* 0x09b */ OPT_SET_Z, + /* 0x09c */ OPT_XCENTER, + /* 0x09d */ OPT_YCENTER, + /* 0x09e */ OPT_ZCENTER, + /* 0x09f */ OPT_CENTER, + /* 0x0a0 */ OPT_SCALE, + /* 0x0a1 */ OPT_SHIFT, + /* 0x0a2 */ OPT_XSS, + /* 0x0a3 */ OPT_YSS, + /* 0x0a4 */ OPT_ZSS, + /* 0x0a5 */ OPT_ROT, + /* 0x0a6 */ OPT_XROT, + /* 0x0a7 */ OPT_YROT, + /* 0x0a8 */ OPT_ZROT, + /* 0x0a9 */ OPT_YPOS, + /* 0x0aa */ OPT_TRANSLATE, + /* 0x0ab */ OPT_NULL, + /* 0x0ac */ OPT_NEXT, + /* 0x0ad */ OPT_ASCALE, + /* 0x0ae */ OPT_AROT, + /* 0x0af */ OPT_TFORM_SCRIPT, + /* 0x0b0 */ OPT_MINIMAP, + /* 0x0b1 */ OPT_RM_GOBJ, + /* 0x0b2 */ OPT_BATTLE, + /* 0x0b3 */ OPT_EXPORT_FLAGS, + /* 0x0b4 */ OPT_ROUTE_OPTIONS, + /* 0x0b5 */ OPT_WIM0, + /* 0x0b6 */ OPT_SLOT, + /* 0x0b7 */ OPT_LOAD_KCL, + /* 0x0b8 */ OPT_KCL, + /* 0x0b9 */ OPT_KCL_FLAG, + /* 0x0ba */ OPT_KCL_SCRIPT, + /* 0x0bb */ OPT_TRI_AREA, + /* 0x0bc */ OPT_TRI_HEIGHT, + /* 0x0bd */ OPT_FLAG_FILE, + /* 0x0be */ OPT_XTRIDATA, + /* 0x0bf */ OPT_KMP, + /* 0x0c0 */ OPT_N_LAPS, + /* 0x0c1 */ OPT_SPEED_MOD, + /* 0x0c2 */ OPT_KTPT2, + /* 0x0c3 */ OPT_TFORM_KMP, + /* 0x0c4 */ OPT_REPAIR_XPF, + /* 0x0c5 */ OPT_GAMEMODES, + /* 0x0c6 */ OPT_MDL, + /* 0x0c7 */ OPT_PAT, + /* 0x0c8 */ OPT_PATCH_FILES, + /* 0x0c9 */ OPT_KMG_LIMIT, + /* 0x0ca */ OPT_KMG_COPY, + /* 0x0cb */ OPT_LT_CLEAR, + /* 0x0cc */ OPT_LT_ONLINE, + /* 0x0cd */ OPT_LT_N_PLAYERS, + /* 0x0ce */ OPT_LT_COND_BIT, + /* 0x0cf */ OPT_LT_GAME_MODE, + /* 0x0d0 */ OPT_LT_ENGINE, + /* 0x0d1 */ OPT_LT_RANDOM, + /* 0x0d2 */ OPT_LEX_PURGE, + /* 0x0d3 */ OPT_LEX_FEATURES, + /* 0x0d4 */ OPT_LEX_RM_FEAT, + /* 0x0d5 */ OPT_LOAD_BMG, + /* 0x0d6 */ OPT_PATCH_BMG, + /* 0x0d7 */ OPT_MACRO_BMG, + /* 0x0d8 */ OPT_FILTER_BMG, + /* 0x0d9 */ OPT_LE_MENU, + /* 0x0da */ OPT_9LAPS, + /* 0x0db */ OPT_UI_SOURCE, + /* 0x0dc */ OPT_TITLE_SCREEN, + /* 0x0dd */ OPT_CUP_ICONS, + /* 0x0de */ OPT_NO_COPY, + /* 0x0df */ OPT_CACHE, + /* 0x0e0 */ OPT_CNAME, + /* 0x0e1 */ OPT_LOG_CACHE, + /* 0x0e2 */ OPT_PARALLEL, + /* 0x0e3 */ OPT_ID, + /* 0x0e4 */ OPT_BASE64, + /* 0x0e5 */ OPT_DB64, + /* 0x0e6 */ OPT_CODING, + /* 0x0e7 */ OPT_VERIFY, + /* 0x0e8 */ OPT_ROUND, + /* 0x0e9 */ OPT_NO_WILDCARDS, + /* 0x0ea */ OPT_IN_ORDER, + /* 0x0eb */ OPT_PIPE, + /* 0x0ec */ OPT_DELTA, + /* 0x0ed */ OPT_DIFF, + /* 0x0ee */ OPT_EPSILON, + /* 0x0ef */ OPT_BMG_ENDIAN, + /* 0x0f0 */ OPT_BMG_ENCODING, + /* 0x0f1 */ OPT_BMG_INF_SIZE, + /* 0x0f2 */ OPT_BMG_MID, + /* 0x0f3 */ OPT_FORCE_ATTRIB, + /* 0x0f4 */ OPT_DEF_ATTRIB, + /* 0x0f5 */ OPT_NO_ATTRIB, + /* 0x0f6 */ OPT_X_ESCAPES, + /* 0x0f7 */ OPT_OLD_ESCAPES, + /* 0x0f8 */ OPT_NO_BMG_COLORS, + /* 0x0f9 */ OPT_BMG_COLORS, + /* 0x0fa */ OPT_NO_BMG_INLINE, + /* 0x0fb */ OPT_AUTOADD_PATH, + /* 0x0fc */ OPT_STRIP, + /* 0x0fd */ OPT_UTF_8, + /* 0x0fe */ OPT_NO_UTF_8, + /* 0x0ff */ OPT_FORCE, + /* 0x100 */ OPT_REPAIR_MAGICS, + /* 0x101 */ OPT_TINY, + /* 0x102 */ OPT_YAZ0, + /* 0x103 */ OPT_YAZ1, + /* 0x104 */ OPT_XYZ, + /* 0x105 */ OPT_BZ, + /* 0x106 */ OPT_BZIP2, + /* 0x107 */ OPT_LZ, + /* 0x108 */ OPT_LZMA, + /* 0x109 */ OPT_SH, + /* 0x10a */ OPT_BASH, + /* 0x10b */ OPT_JSON, + /* 0x10c */ OPT_PHP, + /* 0x10d */ OPT_MAKEDOC, + /* 0x10e */ OPT_VAR, + /* 0x10f */ OPT_ARRAY, + /* 0x110 */ OPT_AVAR, + /* 0x111 */ OPT_CASE, + /* 0x112 */ OPT_FMODES, + /* 0x113 */ OPT_INSTALL, + /* 0x114 */ OPT_ANALYZE, + /* 0x115 */ OPT_ANALYZE_MODE, + /* 0x116 */ OPT_OLD, + /* 0x117 */ OPT_STD, + /* 0x118 */ OPT_NEW, + /* 0x119 */ OPT_EXTRACT, + /* 0x11a */ OPT_ID_LIST, + /* 0x11b */ OPT_REFERENCE, + /* 0x11c */ OPT_NUMBER, + /* 0x11d */ OPT_REMOVE_SRC, + /* 0x11e */ OPT_IGNORE_SETUP, + /* 0x11f */ OPT_PURGE, + /* 0x120 */ OPT_ALIGN_U8, + /* 0x121 */ OPT_ALIGN_LTA, + /* 0x122 */ OPT_ALIGN_PACK, + /* 0x123 */ OPT_ALIGN_BRRES, + /* 0x124 */ OPT_ALIGN_BREFF, + /* 0x125 */ OPT_ALIGN_BREFT, + /* 0x126 */ OPT_ALIGN, + /* 0x127 */ OPT_ENCODE_ALL, + /* 0x128 */ OPT_ENCODE_IMG, + /* 0x129 */ OPT_NO_ENCODE, + /* 0x12a */ OPT_NO_RECURSE, + /* 0x12b */ OPT_AUTO_ADD, + /* 0x12c */ OPT_NO_ECHO, + /* 0x12d */ OPT_PT_DIR, + /* 0x12e */ OPT_RM_AIPARAM, + /* 0x12f */ OPT_U8, + /* 0x130 */ OPT_SZS, + /* 0x131 */ OPT_WU8, + /* 0x132 */ OPT_XWU8, + /* 0x133 */ OPT_WBZ, + /* 0x134 */ OPT_WLZ, + /* 0x135 */ OPT_LFL, + /* 0x136 */ OPT_PACK, + /* 0x137 */ OPT_BRRES, + /* 0x138 */ OPT_BREFF, + /* 0x139 */ OPT_BREFT, + /* 0x13a */ OPT_NO_COMPRESS, + /* 0x13b */ OPT_FAST, + /* 0x13c */ OPT_LINKS, + /* 0x13d */ OPT_BASEDIR, + /* 0x13e */ OPT_DECODE, + /* 0x13f */ OPT_MIPMAPS, + /* 0x140 */ OPT_NO_MIPMAPS, + /* 0x141 */ OPT_N_MIPMAPS, + /* 0x142 */ OPT_MAX_MIPMAPS, + /* 0x143 */ OPT_MIPMAP_SIZE, + /* 0x144 */ OPT_FAST_MIPMAPS, + /* 0x145 */ OPT_CMPR_DEFAULT, + /* 0x146 */ OPT_CUT, + /* 0x147 */ OPT_RAW, + /* 0x148 */ OPT_SECTIONS, + /* 0x149 */ 0, }; // @@ -3222,742 +3255,742 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[148] = // cmd #1 +static u8 option_allowed_cmd_VERSION[149] = // cmd #1 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_HELP[148] = // cmd #2 +static u8 option_allowed_cmd_HELP[149] = // cmd #2 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_CONFIG[148] = // cmd #3 +static u8 option_allowed_cmd_CONFIG[149] = // cmd #3 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_INSTALL[148] = // cmd #4 +static u8 option_allowed_cmd_INSTALL[149] = // cmd #4 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ARGTEST[148] = // cmd #5 +static u8 option_allowed_cmd_ARGTEST[149] = // cmd #5 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_EXPAND[148] = // cmd #6 +static u8 option_allowed_cmd_EXPAND[149] = // cmd #6 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_WILDCARDS[148] = // cmd #7 +static u8 option_allowed_cmd_WILDCARDS[149] = // cmd #7 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_TEST[148] = // cmd #8 +static u8 option_allowed_cmd_TEST[149] = // cmd #8 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1 + 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1 }; -static u8 option_allowed_cmd_COLORS[148] = // cmd #9 +static u8 option_allowed_cmd_COLORS[149] = // cmd #9 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ERROR[148] = // cmd #10 +static u8 option_allowed_cmd_ERROR[149] = // cmd #10 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_FILETYPE[148] = // cmd #11 +static u8 option_allowed_cmd_FILETYPE[149] = // cmd #11 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_UI_CHECK[148] = // cmd #12 +static u8 option_allowed_cmd_UI_CHECK[149] = // cmd #12 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FILEATTRIB[148] = // cmd #13 +static u8 option_allowed_cmd_FILEATTRIB[149] = // cmd #13 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_BRSUB[148] = // cmd #14 +static u8 option_allowed_cmd_BRSUB[149] = // cmd #14 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_SYMBOLS[148] = // cmd #15 +static u8 option_allowed_cmd_SYMBOLS[149] = // cmd #15 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FUNCTIONS[148] = // cmd #16 +static u8 option_allowed_cmd_FUNCTIONS[149] = // cmd #16 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_CALCULATE[148] = // cmd #17 +static u8 option_allowed_cmd_CALCULATE[149] = // cmd #17 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_MATRIX[148] = // cmd #18 +static u8 option_allowed_cmd_MATRIX[149] = // cmd #18 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FLOAT[148] = // cmd #19 +static u8 option_allowed_cmd_FLOAT[149] = // cmd #19 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_VR_CALC[148] = // cmd #20 +static u8 option_allowed_cmd_VR_CALC[149] = // cmd #20 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_VR_RACE[148] = // cmd #21 +static u8 option_allowed_cmd_VR_RACE[149] = // cmd #21 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_AUTOADD[148] = // cmd #22 +static u8 option_allowed_cmd_AUTOADD[149] = // cmd #22 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,1,0,0, 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,0,1,0, 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_TRACKS[148] = // cmd #23 +static u8 option_allowed_cmd_TRACKS[149] = // cmd #23 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0 }; -static u8 option_allowed_cmd_SCANCACHE[148] = // cmd #24 +static u8 option_allowed_cmd_SCANCACHE[149] = // cmd #24 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_EXPORT[148] = // cmd #25 +static u8 option_allowed_cmd_EXPORT[149] = // cmd #25 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_SIZEOF[148] = // cmd #26 +static u8 option_allowed_cmd_SIZEOF[149] = // cmd #26 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_CODE[148] = // cmd #27 +static u8 option_allowed_cmd_CODE[149] = // cmd #27 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_RECODE[148] = // cmd #28 +static u8 option_allowed_cmd_RECODE[149] = // cmd #28 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_SUBFILE[148] = // cmd #29 +static u8 option_allowed_cmd_SUBFILE[149] = // cmd #29 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_TESTNORM[148] = // cmd #30 +static u8 option_allowed_cmd_TESTNORM[149] = // cmd #30 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_LIST[148] = // cmd #31 +static u8 option_allowed_cmd_LIST[149] = // cmd #31 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_LIST_L[148] = // cmd #32 +static u8 option_allowed_cmd_LIST_L[149] = // cmd #32 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_LIST_LL[148] = // cmd #33 +static u8 option_allowed_cmd_LIST_LL[149] = // cmd #33 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_LIST_LLL[148] = // cmd #34 +static u8 option_allowed_cmd_LIST_LLL[149] = // cmd #34 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_LIST_A[148] = // cmd #35 +static u8 option_allowed_cmd_LIST_A[149] = // cmd #35 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_LIST_LA[148] = // cmd #36 +static u8 option_allowed_cmd_LIST_LA[149] = // cmd #36 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_NAME_REF[148] = // cmd #37 +static u8 option_allowed_cmd_NAME_REF[149] = // cmd #37 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ILIST[148] = // cmd #38 +static u8 option_allowed_cmd_ILIST[149] = // cmd #38 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_ILIST_L[148] = // cmd #39 +static u8 option_allowed_cmd_ILIST_L[149] = // cmd #39 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_ILIST_LL[148] = // cmd #40 +static u8 option_allowed_cmd_ILIST_LL[149] = // cmd #40 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_ILIST_A[148] = // cmd #41 +static u8 option_allowed_cmd_ILIST_A[149] = // cmd #41 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_ILIST_LA[148] = // cmd #42 +static u8 option_allowed_cmd_ILIST_LA[149] = // cmd #42 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_MEMORY[148] = // cmd #43 +static u8 option_allowed_cmd_MEMORY[149] = // cmd #43 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_MEMORY_A[148] = // cmd #44 +static u8 option_allowed_cmd_MEMORY_A[149] = // cmd #44 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0 }; -static u8 option_allowed_cmd_DUMP[148] = // cmd #45 +static u8 option_allowed_cmd_DUMP[149] = // cmd #45 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_SHA1[148] = // cmd #46 +static u8 option_allowed_cmd_SHA1[149] = // cmd #46 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,1,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_ANALYZE[148] = // cmd #47 +static u8 option_allowed_cmd_ANALYZE[149] = // cmd #47 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, - 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_SPLIT[148] = // cmd #48 +static u8 option_allowed_cmd_SPLIT[149] = // cmd #48 { 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_IS_TEXTURE[148] = // cmd #49 +static u8 option_allowed_cmd_IS_TEXTURE[149] = // cmd #49 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_FEATURES[148] = // cmd #50 +static u8 option_allowed_cmd_FEATURES[149] = // cmd #50 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, + 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_DISTRIBUTION[148] = // cmd #51 +static u8 option_allowed_cmd_DISTRIBUTION[149] = // cmd #51 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_DIFF[148] = // cmd #52 +static u8 option_allowed_cmd_DIFF[149] = // cmd #52 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1, 1,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 1,1,0,0 }; -static u8 option_allowed_cmd_CHECK[148] = // cmd #53 +static u8 option_allowed_cmd_CHECK[149] = // cmd #53 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,1,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_SLOTS[148] = // cmd #54 +static u8 option_allowed_cmd_SLOTS[149] = // cmd #54 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_STGI[148] = // cmd #55 +static u8 option_allowed_cmd_STGI[149] = // cmd #55 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_IS_ARENA[148] = // cmd #56 +static u8 option_allowed_cmd_IS_ARENA[149] = // cmd #56 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_NORMALIZE[148] = // cmd #57 +static u8 option_allowed_cmd_NORMALIZE[149] = // cmd #57 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, - 1,1,1,1,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1, + 1,1,1,1,1, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_PATCH[148] = // cmd #58 +static u8 option_allowed_cmd_PATCH[149] = // cmd #58 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, - 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1, + 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_COPY[148] = // cmd #59 +static u8 option_allowed_cmd_COPY[149] = // cmd #59 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, - 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1, + 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_DUPLICATE[148] = // cmd #60 +static u8 option_allowed_cmd_DUPLICATE[149] = // cmd #60 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, - 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1, + 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_MINIMAP[148] = // cmd #61 +static u8 option_allowed_cmd_MINIMAP[149] = // cmd #61 { 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 1,0,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,0,0,0, - 0,0,0,0,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,1,0,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,0,0, + 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_COMPRESS[148] = // cmd #62 +static u8 option_allowed_cmd_COMPRESS[149] = // cmd #62 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, - 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1, + 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_DECOMPRESS[148] = // cmd #63 +static u8 option_allowed_cmd_DECOMPRESS[149] = // cmd #63 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,0,1, - 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,0, + 1,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_ENCODE[148] = // cmd #64 +static u8 option_allowed_cmd_ENCODE[149] = // cmd #64 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,0,1,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,0,1, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_CREATE[148] = // cmd #65 +static u8 option_allowed_cmd_CREATE[149] = // cmd #65 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,1, - 1,1,1,1,0, 1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1,1, 1,0,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0 }; -static u8 option_allowed_cmd_UPDATE[148] = // cmd #66 +static u8 option_allowed_cmd_UPDATE[149] = // cmd #66 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 1,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,0,1, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,1,0,0 }; -static u8 option_allowed_cmd_EXTRACT[148] = // cmd #67 +static u8 option_allowed_cmd_EXTRACT[149] = // cmd #67 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1, - 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0 + 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0 }; -static u8 option_allowed_cmd_XDECODE[148] = // cmd #68 +static u8 option_allowed_cmd_XDECODE[149] = // cmd #68 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1, - 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0 + 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0 }; -static u8 option_allowed_cmd_XEXPORT[148] = // cmd #69 +static u8 option_allowed_cmd_XEXPORT[149] = // cmd #69 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1, - 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0 + 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0 }; -static u8 option_allowed_cmd_XALL[148] = // cmd #70 +static u8 option_allowed_cmd_XALL[149] = // cmd #70 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1, - 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0 + 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0 }; -static u8 option_allowed_cmd_XCOMMON[148] = // cmd #71 +static u8 option_allowed_cmd_XCOMMON[149] = // cmd #71 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_BINARY[148] = // cmd #72 +static u8 option_allowed_cmd_BINARY[149] = // cmd #72 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_TEXT[148] = // cmd #73 +static u8 option_allowed_cmd_TEXT[149] = // cmd #73 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_CAT[148] = // cmd #74 +static u8 option_allowed_cmd_CAT[149] = // cmd #74 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_BMG[148] = // cmd #75 +static u8 option_allowed_cmd_BMG[149] = // cmd #75 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_KCL[148] = // cmd #76 +static u8 option_allowed_cmd_KCL[149] = // cmd #76 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_KMP[148] = // cmd #77 +static u8 option_allowed_cmd_KMP[149] = // cmd #77 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_LEX[148] = // cmd #78 +static u8 option_allowed_cmd_LEX[149] = // cmd #78 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_INFO[148] = // cmd #79 +static u8 option_allowed_cmd_INFO[149] = // cmd #79 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_GHOST[148] = // cmd #80 +static u8 option_allowed_cmd_GHOST[149] = // cmd #80 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1 }; -static u8 option_allowed_cmd_YAZDUMP[148] = // cmd #81 +static u8 option_allowed_cmd_YAZDUMP[149] = // cmd #81 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, - 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; -static u8 option_allowed_cmd_VEHICLE[148] = // cmd #82 +static u8 option_allowed_cmd_VEHICLE[149] = // cmd #82 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, - 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, + 1,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0 }; @@ -3988,6 +4021,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_NO_COLORS, OptionInfo + OPT_CT_CODE, OptionInfo + OPT_LE_CODE, + OptionInfo + OPT_LE_04X, OptionInfo + OPT_LOAD_PREFIX, OptionInfo + OPT_LOAD_CATEGORY, OptionInfo + OPT_CHDIR, @@ -4006,7 +4040,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_TFORM_KMP, OptionInfo + OPT_MDL, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_KMG_LIMIT, OptionInfo + OPT_KMG_COPY, OptionInfo + OPT_LT_CLEAR, @@ -4124,6 +4158,8 @@ static const InfoOption_t * option_tab_cmd_WILDCARDS[] = OptionInfo + OPT_NO_WILDCARDS, OptionInfo + OPT_IN_ORDER, OptionInfo + OPT_IGNORE, + &option_cmd_WILDCARDS_SH, + &option_cmd_WILDCARDS_BASH, 0 }; @@ -5520,6 +5556,7 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] = OptionInfo + OPT_NONE, // separator + OptionInfo + OPT_ID_LIST, OptionInfo + OPT_REFERENCE, OptionInfo + OPT_DEST, OptionInfo + OPT_DEST2, @@ -5801,7 +5838,7 @@ static const InfoOption_t * option_tab_cmd_CHECK[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -5925,7 +5962,7 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6067,7 +6104,7 @@ static const InfoOption_t * option_tab_cmd_NORMALIZE[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6179,7 +6216,7 @@ static const InfoOption_t * option_tab_cmd_PATCH[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6291,7 +6328,7 @@ static const InfoOption_t * option_tab_cmd_COPY[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6404,7 +6441,7 @@ static const InfoOption_t * option_tab_cmd_DUPLICATE[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6576,7 +6613,7 @@ static const InfoOption_t * option_tab_cmd_COMPRESS[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6672,7 +6709,7 @@ static const InfoOption_t * option_tab_cmd_DECOMPRESS[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6772,7 +6809,7 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -6909,7 +6946,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7007,7 +7044,7 @@ static const InfoOption_t * option_tab_cmd_UPDATE[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7104,7 +7141,7 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7201,7 +7238,7 @@ static const InfoOption_t * option_tab_cmd_XDECODE[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7298,7 +7335,7 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7395,7 +7432,7 @@ static const InfoOption_t * option_tab_cmd_XALL[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7625,7 +7662,7 @@ static const InfoOption_t * option_tab_cmd_KCL[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7697,7 +7734,7 @@ static const InfoOption_t * option_tab_cmd_KMP[] = OptionInfo + OPT_MDL, OptionInfo + OPT_MINIMAP, OptionInfo + OPT_PAT, - OptionInfo + OPT_PATCH_FILE, + OptionInfo + OPT_PATCH_FILES, OptionInfo + OPT_LT_CLEAR, OptionInfo + OPT_LT_ONLINE, OptionInfo + OPT_LT_N_PLAYERS, @@ -7832,7 +7869,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " SZS, U8, PACK, BRRES, BREFF and BREFT archives. Additonally, RARC" " archive can be extracted. It is also a wrapper to all other tools.", 0, - 79, + 80, option_tab_tool, 0 }, @@ -7953,7 +7990,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " point) for the following parameters. Finally, one line is printed" " for each file name of the list.", 0, - 3, + 5, option_tab_cmd_WILDCARDS, option_allowed_cmd_WILDCARDS }, @@ -8627,7 +8664,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Wildcards and pipe characters are parsed, see" " https://szs.wiimm.de/doc/wildcards for details.", 0, - 18, + 19, option_tab_cmd_ANALYZE, option_allowed_cmd_ANALYZE }, diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h index ff27ae8..0fb58cf 100644 --- a/project/src/ui/ui-wszst.h +++ b/project/src/ui/ui-wszst.h @@ -143,6 +143,7 @@ typedef enum enumOptions OPT_ANALYZE, OPT_ANALYZE_MODE, OPT_SOURCE, + OPT_ID_LIST, OPT_REFERENCE, OPT_DEST, OPT_DEST2, @@ -204,7 +205,7 @@ typedef enum enumOptions OPT_RAW, OPT_SECTIONS, - OPT__N_SPECIFIC, // == 148 + OPT__N_SPECIFIC, // == 149 //----- global options ----- @@ -228,6 +229,7 @@ typedef enum enumOptions OPT_NO_COLORS, OPT_CT_CODE, OPT_LE_CODE, + OPT_LE_04X, OPT_LOAD_PREFIX, OPT_LOAD_CATEGORY, OPT_CHDIR, @@ -248,7 +250,7 @@ typedef enum enumOptions OPT_TFORM_KMP, OPT_MDL, OPT_PAT, - OPT_PATCH_FILE, + OPT_PATCH_FILES, OPT_KMG_LIMIT, OPT_KMG_COPY, OPT_LT_CLEAR, @@ -296,7 +298,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 235 + OPT__N_TOTAL // == 237 } enumOptions; @@ -398,6 +400,7 @@ typedef enum enumOptions // OB_ANALYZE = 1llu << OPT_ANALYZE, // OB_ANALYZE_MODE = 1llu << OPT_ANALYZE_MODE, // OB_SOURCE = 1llu << OPT_SOURCE, +// OB_ID_LIST = 1llu << OPT_ID_LIST, // OB_REFERENCE = 1llu << OPT_REFERENCE, // OB_DEST = 1llu << OPT_DEST, // OB_DEST2 = 1llu << OPT_DEST2, @@ -802,6 +805,7 @@ typedef enum enumOptions // | OB_IGNORE // | OB_LONG // | OB_GRP_SCRIPT +// | OB_ID_LIST // | OB_REFERENCE // | OB_DEST // | OB_DEST2, @@ -1249,6 +1253,7 @@ typedef enum enumGetOpt GO_NO_COLORS, GO_CT_CODE, GO_LE_CODE, + GO_LE_04X, GO_LOAD_PREFIX, GO_LOAD_CATEGORY, GO_PLUS, @@ -1307,7 +1312,7 @@ typedef enum enumGetOpt GO_GAMEMODES, GO_MDL, GO_PAT, - GO_PATCH_FILE, + GO_PATCH_FILES, GO_KMG_LIMIT, GO_KMG_COPY, GO_LT_CLEAR, @@ -1389,6 +1394,7 @@ typedef enum enumGetOpt GO_STD, GO_NEW, GO_EXTRACT, + GO_ID_LIST, GO_REFERENCE, GO_NUMBER, GO_REMOVE_SRC, diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def index b433e28..eced772 100644 --- a/project/src/ui/ui.def +++ b/project/src/ui/ui.def @@ -301,9 +301,9 @@ "wszst IS-TEXTURE --reference reference [source]...", \ "Test each source to see if it's a texture hack versus a reference" \ " file. For each source, one human and machine readable status line is" \ - " printed. It is either »-1=err« on error, »1=yes« for a texture" \ - " hack, or »0=no LIST« with a comma separated list of reasons." \ - " $Wildcards$ and pipe characters are parsed.\n" \ + " printed. It is either »-1=err« on error, »1=yes« for a texture hack," \ + " or »0=no LIST« with a comma separated list of reasons. $Wildcards$" \ + " and pipe characters are parsed.\n" \ " At the moment KCL, KMP (see notes) and LEX are checked. KMP section" \ " CAME has been intentionally left out. Section ENPT is only checked" \ " if KCL contains a least one face of type force-recalculation." ) @@ -330,7 +330,7 @@ " If file @RESULT@ exists, it is automatically added as last source" \ " to the list of option --source, but only if not already added. On" \ " scanning of file @result@, parameters are scanned too.\n" \ - " See »welect DISTRIBUTION« for a new and alternative implementation" \ + " See »welect DISTRIBUTION« for a new and alternative implementation" \ " of this." ) #:def_cmd( "DIFF", "DIFF|CMP", \ @@ -370,11 +370,11 @@ "wszst IS_ARENA [source]...", \ "Analyse each track for its arena status and print a line with a" \ " status code and the track name. $Wildcards$ and pipe characters are" \ - " parsed. The status code is: »-RACE« for a racing track, »?MAYBE«" \ - " for likely an arena, »+ARENA« for an arena, »+DISPATCH« for an" \ - " arena with dispatch points or any error hint beginning with an" \ - " »!«. So the very first character (one of »!-?+«) can be used to" \ - " distinguish the status class.\n" \ + " parsed. The status code is: »-RACE« for a racing track, »?MAYBE« for" \ + " likely an arena, »+ARENA« for an arena, »+DISPATCH« for an arena" \ + " with dispatch points or any error hint beginning with an »!«. So the" \ + " very first character (one of »!-?+«) can be used to distinguish the" \ + " status class.\n" \ " The exit status is >2 on error, 2 (DIFFER), if at least one file is" \ " a racing track, or 0 (OK), if all sources are arenas." ) @@ -623,14 +623,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging|log", "GM", \ "", \ @@ -688,6 +690,11 @@ "Enable LE-CODE and CT-CODE support. The optional parameter is" \ " deprecated and ignored." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "LOAD_PREFIX", "load-prefix|loadprefix", "GP", \ "file", \ "Read in a PREFIX file and replace the internal prefix database with" \ @@ -1181,7 +1188,7 @@ #:def_opt( "MDL", "mdl", "GP", \ "list", \ "Set global options for MDL processing. To enable MDL patching, use" \ - " option {--patch-file} and select BRRES files for patching.\n" \ + " option {--patch-files} and select BRRES files for patching.\n" \ " Parameter @'list'@ is a comma separated list of keywords. A minus" \ " sign before a keyword disables a setting. Each occurrence of the" \ " option will only change entered settings and all other settings are" \ @@ -1203,7 +1210,7 @@ " all. The other allowed keywords are: @AUTO, SIMPLE, COMPLEX, BOTH," \ " SILENT@ and @LOG@." ) -#:def_opt( "PATCH_FILE", "patch-file|patchfile|pfile", "GP", \ +#:def_opt( "PATCH_FILES", "patch-files|patchfiles|pfiles", "GP", \ "list", \ "Define, which kind of KMP, KCL and BRRES/MDL files are objects for" \ " patching. @--pfile@ is a short cut.\n" \ @@ -1212,7 +1219,7 @@ " option will only change entered settings and all other settings are" \ " untouched.\n" \ " Keyword @DEFAULT@ resets the default settings (@TRACK,LOG@) and" \ - " @CLEAR@ disables all. The other allowed keywords are: @KMP, KCL," \ + " @NONE@ disables all. The other allowed keywords are: @KMP, KCL," \ " OTHER-KCL, ALL-KCL, MODEL, MAP, VRCORN, OTHER-BRRES, ALL-BRRES," \ " TRACK (=KMP,KCL,MODEL,MAP,VRCORN), ALL, LOG@ and @LOG-ALL@." ) @@ -2251,6 +2258,16 @@ "", \ "" ) +#:def_cmd_opt( "WILDCARDS", "SH", \ + "", \ + "Quote filenames for sh using '...'." ) + +#:def_cmd_opt( "WILDCARDS", "BASH", \ + "", \ + "Ignore --sh and quote filenames for bash using $$'...'. Use »eval" \ + " var=($$(wszst wildcards --bash ...))« to assign the result to a bash" \ + " array." ) + #:def_cmd_opt( "TEST", "VERBOSE", \ "", \ "Print the matrices of transformations." ) @@ -6110,6 +6127,10 @@ "", \ "" ) +#:def_cmd_opt( "ANALYZE", "ID_LIST", \ + "", \ + "" ) + #:def_cmd_opt( "ANALYZE", "REFERENCE", \ "", \ "" ) @@ -6529,12 +6550,12 @@ #:def_cmd_opt( "DISTRIBUTION", "SOURCE", \ "", \ - "Define a text file for filename to slot translation. A »slot" \ - " filename« list is expected. Use this option multiple times to" \ - " define more than one source file. A definition of a later source" \ - " overwrites previous definitions. The file @RESULT@ of the command" \ - " line is appended automatically as last entry, if exists and not" \ - " already included." ) + "Define a text file for filename to slot translation. A »slot" \ + " filename« list is expected. Use this option multiple times to define" \ + " more than one source file. A definition of a later source overwrites" \ + " previous definitions. The file @RESULT@ of the command line is" \ + " appended automatically as last entry, if exists and not already" \ + " included." ) #:def_cmd_opt( "DIFF", "QUIET", \ "", \ @@ -6915,7 +6936,7 @@ "", \ "" ) -#:def_cmd_opt( "CHECK", "PATCH_FILE", \ +#:def_cmd_opt( "CHECK", "PATCH_FILES", \ "", \ "" ) @@ -7328,7 +7349,7 @@ "", \ "" ) -#:def_cmd_opt( "SLOTS", "PATCH_FILE", \ +#:def_cmd_opt( "SLOTS", "PATCH_FILES", \ "", \ "" ) @@ -7743,7 +7764,7 @@ "", \ "" ) -#:def_cmd_opt( "NORMALIZE", "PATCH_FILE", \ +#:def_cmd_opt( "NORMALIZE", "PATCH_FILES", \ "", \ "" ) @@ -8107,7 +8128,7 @@ "", \ "" ) -#:def_cmd_opt( "PATCH", "PATCH_FILE", \ +#:def_cmd_opt( "PATCH", "PATCH_FILES", \ "", \ "" ) @@ -8471,7 +8492,7 @@ "", \ "" ) -#:def_cmd_opt( "COPY", "PATCH_FILE", \ +#:def_cmd_opt( "COPY", "PATCH_FILES", \ "", \ "" ) @@ -8839,7 +8860,7 @@ "", \ "" ) -#:def_cmd_opt( "DUPLICATE", "PATCH_FILE", \ +#:def_cmd_opt( "DUPLICATE", "PATCH_FILES", \ "", \ "" ) @@ -9396,7 +9417,7 @@ "", \ "" ) -#:def_cmd_opt( "COMPRESS", "PATCH_FILE", \ +#:def_cmd_opt( "COMPRESS", "PATCH_FILES", \ "", \ "" ) @@ -9708,7 +9729,7 @@ "", \ "" ) -#:def_cmd_opt( "DECOMPRESS", "PATCH_FILE", \ +#:def_cmd_opt( "DECOMPRESS", "PATCH_FILES", \ "", \ "" ) @@ -10037,7 +10058,7 @@ "", \ "" ) -#:def_cmd_opt( "ENCODE", "PATCH_FILE", \ +#:def_cmd_opt( "ENCODE", "PATCH_FILES", \ "", \ "" ) @@ -10490,7 +10511,7 @@ "", \ "" ) -#:def_cmd_opt( "CREATE", "PATCH_FILE", \ +#:def_cmd_opt( "CREATE", "PATCH_FILES", \ "", \ "" ) @@ -10798,7 +10819,7 @@ "", \ "" ) -#:def_cmd_opt( "UPDATE", "PATCH_FILE", \ +#:def_cmd_opt( "UPDATE", "PATCH_FILES", \ "", \ "" ) @@ -11126,7 +11147,7 @@ "", \ "" ) -#:def_cmd_opt( "EXTRACT", "PATCH_FILE", \ +#:def_cmd_opt( "EXTRACT", "PATCH_FILES", \ "", \ "" ) @@ -11454,7 +11475,7 @@ "", \ "" ) -#:def_cmd_opt( "XDECODE", "PATCH_FILE", \ +#:def_cmd_opt( "XDECODE", "PATCH_FILES", \ "", \ "" ) @@ -11782,7 +11803,7 @@ "", \ "" ) -#:def_cmd_opt( "XEXPORT", "PATCH_FILE", \ +#:def_cmd_opt( "XEXPORT", "PATCH_FILES", \ "", \ "" ) @@ -12110,7 +12131,7 @@ "", \ "" ) -#:def_cmd_opt( "XALL", "PATCH_FILE", \ +#:def_cmd_opt( "XALL", "PATCH_FILES", \ "", \ "" ) @@ -12757,7 +12778,7 @@ "", \ "" ) -#:def_cmd_opt( "KCL", "PATCH_FILE", \ +#:def_cmd_opt( "KCL", "PATCH_FILES", \ "", \ "" ) @@ -12997,7 +13018,7 @@ "", \ "" ) -#:def_cmd_opt( "KMP", "PATCH_FILE", \ +#:def_cmd_opt( "KMP", "PATCH_FILES", \ "", \ "" ) @@ -13477,14 +13498,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -13542,6 +13565,11 @@ "Enable LE-CODE and CT-CODE support. The optional parameter is" \ " deprecated and ignored." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -14849,14 +14877,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -14914,6 +14944,11 @@ "Enable LE-CODE and CT-CODE support. The optional parameter is" \ " deprecated and ignored." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "OLD_SPINY", "old-spiny|oldspiny", "G", \ "", \ "Disable the new feature to hold a Spiny Shell at the tail." ) @@ -16314,14 +16349,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -16379,6 +16416,11 @@ "Enable LE-CODE and CT-CODE support. The optional parameter is" \ " deprecated and ignored." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -17429,14 +17471,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -17494,6 +17538,11 @@ "Enable LE-CODE and CT-CODE support. The optional parameter is" \ " deprecated and ignored." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -20098,14 +20147,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -20163,6 +20214,11 @@ "Enable LE-CODE and CT-CODE support. The optional parameter is" \ " deprecated and ignored." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -22310,14 +22366,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -22375,6 +22433,11 @@ "This option is completely ignored by wlect. It only exists due to" \ " compatibility with the other tools." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "LOAD_PREFIX", "load-prefix|loadprefix", "GP", \ "file", \ "Read in a PREFIX file and replace the internal prefix database with" \ @@ -24087,14 +24150,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -24152,6 +24217,11 @@ "This option is completely ignored by wlect. It only exists due to" \ " compatibility with the other tools." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -24173,7 +24243,7 @@ #:def_opt( "MDL", "mdl", "GP", \ "list", \ "Set global options for MDL processing. To enable MDL patching, use" \ - " option {--patch-file} and select BRRES files for patching.\n" \ + " option {--patch-files} and select BRRES files for patching.\n" \ " Parameter @'list'@ is a comma separated list of keywords. A minus" \ " sign before a keyword disables a setting. Each occurrence of the" \ " option will only change entered settings and all other settings are" \ @@ -25447,14 +25517,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -25512,6 +25584,11 @@ "This option is completely ignored by wlect. It only exists due to" \ " compatibility with the other tools." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -26087,7 +26164,7 @@ #:def_cmd( "PATCH", "PATCH", \ "wstrt PATCH [file]...", \ - "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii." \ + "Patch 'main.dol' and 'StaticR.rel' files of Mario Kart Wii." \ " $Wildcards$ and pipe characters are parsed. No backup is made." ) #:def_opt( "VERSION", "V|version", "G", \ @@ -26145,14 +26222,16 @@ #:def_opt( "QUIET", "q|quiet", "GM", \ "", \ - "Be quiet and print only error messages. Multiple usage is possible." \ - " The impact is command dependent. In general: If set three times," \ - " different file format warnings are suppressed." ) + "Be quiet and print only error messages. Multiple use is possible." \ + " Previous use of --verbose is reverted. The impact is command" \ + " dependent. If set at least three times, almost all error messages" \ + " will be suppressed." ) #:def_opt( "VERBOSE", "v|verbose", "GM", \ "", \ - "Be verbose and print more progress information. Multiple usage is" \ - " possible. The impact is command dependent." ) + "Be verbose and print more progress information. Multiple use is" \ + " possible. Previous use of --quiet is reverted. The impact is command" \ + " dependent." ) #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ @@ -26210,6 +26289,11 @@ "This option is completely ignored by wlect. It only exists due to" \ " compatibility with the other tools." ) +#:def_opt( "LE_04X", "le-04x|le04x", "G", \ + "", \ + "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \ + " slot numbers if slots >4095 are used." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -26487,12 +26571,12 @@ #:def_opt( "ADD_SECTION", "add-section|addsection", "CP", \ "file", \ "Each option call adds the filename to an internal list. Each file" \ - " must be of type GCT, GCH or WCH. All GCT files together are combined" \ - " with an internal code handler to one section (like a GCH file). GCH" \ - " and WCH define sections and patches. The defined sections are added" \ - " and VBI hooks are optionally initialized. Use option {--force} to" \ - " allow overlapped sections. Use option {--verbose} up to 2 times for" \ - " a log.\n" \ + " must be of type GCT, GCT-TXT, GCH or WCH. All GCT files together are" \ + " combined with an internal code handler to one section (like a GCH" \ + " file). GCH and WCH define sections and patches. The defined sections" \ + " are added and VBI hooks are optionally initialized. Use option" \ + " {--force} to allow overlapped sections. Use option {--verbose} up to" \ + " 2 times for a log.\n" \ " If parameter FILE contains at least one wildcard (e.g. \"*.GCT\")," \ " then FILE is used as search pattern and all found files are added." \ " Quote FILE for this purpose. \n" \ @@ -26508,13 +26592,14 @@ " the heap smaller and move the cheat codes before the FST section.\n" \ " Parameter MODE is optional. If set, OFF disables and ON enables" \ " this feature. For mode AUTO (default) this feature is enabled, if" \ - " the cheat codes are too large or for internal reasons." ) + " the cheat codes are too large (@end>0x80003000@) or for internal" \ + " conflicts." ) #:def_opt( "GCT_ADDR", "gct-addr|gctaddr", "CP", \ "address", \ "If {--gct-move} is active, a text section is created to manage the" \ " code handler. This section is only needed at start and is placed by" \ - " default at address 0c802c0000 (part of BSS, good address for all 4" \ + " default at address 0x802c0000 (part of BSS, good address for all 4" \ " regions). This option changes the start address of the section. If" \ " address is @0@ or invalid, then unused BSS space is searched." ) @@ -26530,7 +26615,7 @@ " This option is only relevant, if main.dol is patched for wiimmfi.de." \ " It is dedicated to custom distribution creators for test purposes." \ " If enabled, a user can load an own instance of Gecko Code Handler" \ - " and cheat codes and can use them online. If disabled, pachcing for" \ + " and cheat codes and can use them online. If disabled, patching for" \ " online modus is disabled if an alternative Gecko Code Handler is" \ " detected.\n" \ " Parameter MODE is optional. If set, OFF disables and ON enables" \ |
