diff options
| author | Wiimm <wiimm@wiimm.de> | 2022-08-06 16:20:07 +0200 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2022-08-06 16:20:07 +0200 |
| commit | 7fad9e9383d01cce3ac17176404e1ab4e738736c (patch) | |
| tree | df39dd0616554ce9daa138f2e9778c88fbf9ac55 /project/src/ui | |
| parent | 06ff18cd020779c226f7c25d22016e06b898f303 (diff) | |
SZS v2.28a.beta2
Diffstat (limited to '')
31 files changed, 1247 insertions, 666 deletions
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc index 8e38144..717e869 100644 --- a/project/src/ui/tab-wbmgt.inc +++ b/project/src/ui/tab-wbmgt.inc @@ -229,6 +229,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc index 312a34a..95d3698 100644 --- a/project/src/ui/tab-wctct.inc +++ b/project/src/ui/tab-wctct.inc @@ -216,6 +216,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wimgt.inc b/project/src/ui/tab-wimgt.inc index bc5e27e..62844b8 100644 --- a/project/src/ui/tab-wimgt.inc +++ b/project/src/ui/tab-wimgt.inc @@ -186,6 +186,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wkclt.inc b/project/src/ui/tab-wkclt.inc index ebeda48..dc00429 100644 --- a/project/src/ui/tab-wkclt.inc +++ b/project/src/ui/tab-wkclt.inc @@ -299,6 +299,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wkmpt.inc b/project/src/ui/tab-wkmpt.inc index b647c4d..dc4887c 100644 --- a/project/src/ui/tab-wkmpt.inc +++ b/project/src/ui/tab-wkmpt.inc @@ -283,6 +283,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc index 3581bef..eb3e181 100644 --- a/project/src/ui/tab-wlect.inc +++ b/project/src/ui/tab-wlect.inc @@ -245,6 +245,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, @@ -413,9 +416,9 @@ "Delete LEX sections without any impact." " This option is executed after all --lt-* options." }, - { H_OPT_G, "LEX_RM_FEAT", "rm-features|rmfeatures|lex-rm-features|lexrmfeatures", + { T_OPT_G, "LEX_RM_FEAT", "rm-features|rmfeatures|lex-rm-features|lexrmfeatures", 0, - "Remove LEX setion FEA0 (features) if exists." + "Remove LEX setion FEAT (features) if exists." " It is executed after --lex-purge." " {--lex-rm-features} is an alternative name." }, @@ -699,7 +702,7 @@ // { T_COPT, "LT_ENGINE", 0,0,0 }, // { T_COPT, "LT_RANDOM", 0,0,0 }, // { T_COPT, "LEX_PURGE", 0,0,0 }, -// { H_COPT, "LEX_RM_FEAT", 0,0,0 }, +// { T_COPT, "LEX_RM_FEAT", 0,0,0 }, //---------- wlect GROUP TRACK_COPY ---------- @@ -918,7 +921,7 @@ { T_COPT, "LT_ENGINE", 0,0,0 }, { T_COPT, "LT_RANDOM", 0,0,0 }, { T_COPT, "LEX_PURGE", 0,0,0 }, - { H_COPT, "LEX_RM_FEAT", 0,0,0 }, + { T_COPT, "LEX_RM_FEAT", 0,0,0 }, { T_SEP_OPT, 0,0,0,0 }, { T_COPT, "LE_DEFINE", 0,0,0 }, { T_COPT, "LOAD_BMG", 0,0,0 }, diff --git a/project/src/ui/tab-wmdlt.inc b/project/src/ui/tab-wmdlt.inc index bb03e3b..5be888e 100644 --- a/project/src/ui/tab-wmdlt.inc +++ b/project/src/ui/tab-wmdlt.inc @@ -209,6 +209,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wpatt.inc b/project/src/ui/tab-wpatt.inc index aa7b71d..66301b5 100644 --- a/project/src/ui/tab-wpatt.inc +++ b/project/src/ui/tab-wpatt.inc @@ -177,6 +177,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc index d540bcd..223d29c 100644 --- a/project/src/ui/tab-wstrt.inc +++ b/project/src/ui/tab-wstrt.inc @@ -240,6 +240,9 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, 0 /* copy of wszst */ }, + { T_OPT_GM, "TIMING", "timing", 0, 0 /* copy of wszst */ }, @@ -1011,6 +1014,7 @@ { T_COPT, "FADDR", 0,0,0 }, { T_COPT, "SNAME", 0,0,0 }, { T_COPT, "LOGGING", 0,0,0 }, + { T_COPT, "EXT_ERRORS", 0,0,0 }, { T_COPT, "TIMING", 0,0,0 }, { T_SEP_OPT, 0,0,0,0 }, { T_COPY_GRP, "HEXDUMP", 0,0,0 }, diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc index 3fbde8d..b9614b3 100644 --- a/project/src/ui/tab-wszst.inc +++ b/project/src/ui/tab-wszst.inc @@ -386,9 +386,12 @@ " Section ENPT is only checked if KCL contains a least one face" " of type force-recalculation." }, - { H_DEF_CMD, "FEATURES", "FEATURES", + { T_DEF_CMD, "FEATURES", "FEATURES", "wszst FEATURES [source]...", - "Analyse track files and create a feature list in machine readable format." }, + "Analyse track files and create a feature list for each source" + " in machine readable format." + " CTGP uses the feature lists to manage ghosts." + " See option {--lex-features} for details." }, { T_DEF_CMD, "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB", "wszst DISTRIBUTION result source...\n" @@ -740,12 +743,18 @@ { T_OPT_GM, "LOGGING", "L|logging", 0, "This debug option enables the logging of internal lists and maps." - " Set it up to three times to be more verbose.\n" }, + " Set it up to three times to be more verbose." }, + + { T_OPT_GM, "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", + 0, + "Enable extended error messages. This includes a source file and line reference." + " Logging level 1 activates it too." + " @--xerr@ is a short cut." }, { T_OPT_GM, "TIMING", "timing", 0, "Activate the timing of some operations." - " Logging level 3 activates them too.\n" }, + " Logging level 3 activates them too." }, { T_OPT_GP, "WARN", "W|warn", "list", @@ -819,6 +828,11 @@ " If it is in parameter CHARS then the position determines the value," " otherwise the ASCII value to which 500 is added." }, + { T_OPT_CP, "PRINTF", "printf", + "format", + "Add an output line with a formatted string." + "\1 See https://szs.wiimm.de/opt/printf for details." }, + { T_OPT_GMP, "CHDIR", "chdir", "dir", "Set a new working directory for all following options," @@ -1499,17 +1513,19 @@ " Delete sub-file course.lex if it no longer contains a section." " This option is executed after all --lt-* and --lex-* options." }, - { H_OPT_G, "LEX_FEATURES", "lex-features|lexfeatures", + { T_OPT_G, "LEX_FEATURES", "lex-features|lexfeatures", 0, - "Calculate LEX setion FEA0 (features) by analysing the track file." + "Calculate LEX setion FEAT (features) by analysing the track file." " If no features found, delete the section and the possibly empty sub-file" " course.lex. If features found, then insert the section or update" " an existing section. If necessary, the sub-file course.lex is created." - " This option is executed after all --lt-* options and after --lex-purge." }, + " This option is executed after all --lt-* options and after --lex-purge." + "\n " + " CTGP uses the FEAT section to manage ghosts." }, - { H_OPT_G, "LEX_RM_FEAT", "lex-rm-features|lexrmfeatures", + { T_OPT_G, "LEX_RM_FEAT", "lex-rm-features|lexrmfeatures", 0, - "Remove LEX setion FEA0 (features) if exists" + "Remove LEX setion FEAT (features) if exists" " and the possibly empty sub-file course.lex." " This option is ignored if --lex-features is set." " It is executed after all --lt-* options and after --lex-purge." }, @@ -2488,8 +2504,8 @@ { T_COPT, "LT_ENGINE", 0,0,0 }, { T_COPT, "LT_RANDOM", 0,0,0 }, { T_COPT, "LEX_PURGE", 0,0,0 }, - { H_COPT, "LEX_FEATURES", 0,0,0 }, - { H_COPT, "LEX_RM_FEAT", 0,0,0 }, + { T_COPT, "LEX_FEATURES", 0,0,0 }, + { T_COPT, "LEX_RM_FEAT", 0,0,0 }, { T_COPT, "PATCH_BMG", 0,0,0 }, { T_COPT, "MACRO_BMG", 0,0,0 }, { T_COPT, "FILTER_BMG", 0,0,0 }, @@ -2632,6 +2648,7 @@ { T_COPT, "RM_AIPARAM", 0,0,0 }, { T_COPY_GRP, "ALIGN", 0,0,0 }, { T_COPT, "LOGGING", 0,0,0 }, + { T_COPT, "EXT_ERRORS", 0,0,0 }, { T_COPT, "TIMING", 0,0,0 }, { T_COPY_GRP, "ENCODE", 0,0,0 }, { T_COPT, "AUTO_ADD", 0,0,0 }, @@ -2899,6 +2916,7 @@ { T_COPT, "BRIEF", 0,0, "Limit output to SZS specific data." }, { T_COPT, "LOGGING", 0,0,0 }, + { T_COPT, "EXT_ERRORS", 0,0,0 }, { T_COPT, "TIMING", 0,0,0 }, //---------- COMMAND wszst _CODE ---------- @@ -3095,6 +3113,7 @@ { T_CMD_BEG, "SPLIT", 0,0,0 }, { T_COPT, "LOAD_PREFIX", 0,0,0 }, { T_COPT, "PLUS", 0,0,0 }, + { T_COPT, "PRINTF", 0,0,0 }, { T_SEP_OPT, 0,0,0,0 }, { T_COPT, "IGNORE", 0,0,0 }, { T_SEP_OPT, 0,0,0,0 }, @@ -3320,6 +3339,7 @@ { T_COPT, "IGNORE_SETUP", 0,0,0 }, { T_COPY_GRP, "ALIGN", 0,0,0 }, { T_COPT, "LOGGING", 0,0,0 }, + { T_COPT, "EXT_ERRORS", 0,0,0 }, { T_COPT, "TIMING", 0,0,0 }, { T_COPY_GRP, "ENCODE", 0,0,0 }, { T_COPT, "MIPMAPS", 0,0,0 }, diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c index 0741af3..96371f8 100644 --- a/project/src/ui/ui-wbmgt.c +++ b/project/src/ui/ui-wbmgt.c @@ -374,13 +374,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -553,7 +559,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 == 66 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 67 }; @@ -683,7 +689,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHBM:T:A:td:D:E:orupiP:1X"; +static const char OptionShort[] = "VhqvLYW:c:lHBM:T:A:td:D:E:orupiP:1X"; static const struct option OptionLong[] = { @@ -702,6 +708,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -832,7 +841,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, /* 0x058 X */ OPT_EXPORT, - /* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1065,6 +1075,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1454,7 +1465,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, - 28, + 29, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wbmgt.h b/project/src/ui/ui-wbmgt.h index 31f238f..ab88947 100644 --- a/project/src/ui/ui-wbmgt.h +++ b/project/src/ui/ui-wbmgt.h @@ -104,6 +104,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -127,7 +128,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 66 + OPT__N_TOTAL // == 67 } enumOptions; @@ -358,6 +359,7 @@ typedef enum enumGetOpt GO_VERSION = 'V', GO_WARN = 'W', GO_EXPORT = 'X', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c index 2d15c1f..8941129 100644 --- a/project/src/ui/ui-wctct.c +++ b/project/src/ui/ui-wctct.c @@ -474,13 +474,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -690,7 +696,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 == 86 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 87 }; @@ -880,7 +886,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHB1XPNM:T:A:td:D:E:orupi"; +static const char OptionShort[] = "VhqvLYW:c:lHB1XPNM:T:A:td:D:E:orupi"; static const struct option OptionLong[] = { @@ -899,6 +905,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -1058,7 +1067,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, /* 0x058 X */ OPT_EXPORT, - /* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1309,6 +1319,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1696,7 +1707,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, - 31, + 32, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h index f55d4ad..2732a9d 100644 --- a/project/src/ui/ui-wctct.h +++ b/project/src/ui/ui-wctct.h @@ -119,6 +119,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -147,7 +148,7 @@ typedef enum enumOptions OPT_CT_LOG, OPT_ALLOW_SLOTS, - OPT__N_TOTAL // == 86 + OPT__N_TOTAL // == 87 } enumOptions; @@ -429,6 +430,7 @@ typedef enum enumGetOpt GO_VERSION = 'V', GO_WARN = 'W', GO_EXPORT = 'X', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wimgt.c b/project/src/ui/ui-wimgt.c index c6eca37..3b86509 100644 --- a/project/src/ui/ui-wimgt.c +++ b/project/src/ui/ui-wimgt.c @@ -337,13 +337,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -504,7 +510,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 == 59 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 60 }; @@ -624,7 +630,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHBM:T:A:td:D:E:orupiaP:x:"; +static const char OptionShort[] = "VhqvLYW:c:lHBM:T:A:td:D:E:orupiaP:x:"; static const struct option OptionLong[] = { @@ -643,6 +649,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -754,7 +763,9 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x055 */ 0, /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, - /* 0x058 */ 0,0,0,0, 0,0,0,0, 0, + /* 0x058 */ 0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0, /* 0x061 a */ OPT_ALL, /* 0x062 */ 0, /* 0x063 c */ OPT_CONST, @@ -931,6 +942,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1218,7 +1230,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, - 25, + 26, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wimgt.h b/project/src/ui/ui-wimgt.h index 1373c02..25a6329 100644 --- a/project/src/ui/ui-wimgt.h +++ b/project/src/ui/ui-wimgt.h @@ -98,6 +98,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -120,7 +121,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 59 + OPT__N_TOTAL // == 60 } enumOptions; @@ -289,6 +290,7 @@ typedef enum enumGetOpt GO_TRACKS = 'T', GO_VERSION = 'V', GO_WARN = 'W', + GO_EXT_ERRORS = 'Y', GO_ALL = 'a', GO_CONST = 'c', diff --git a/project/src/ui/ui-wkclt.c b/project/src/ui/ui-wkclt.c index df62da4..b355d73 100644 --- a/project/src/ui/ui-wkclt.c +++ b/project/src/ui/ui-wkclt.c @@ -474,13 +474,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -692,7 +698,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 == 79 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 80 }; @@ -964,7 +970,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHBPNM:T:A:td:D:E:orupi"; +static const char OptionShort[] = "VhqvLYW:c:lHBPNM:T:A:td:D:E:orupi"; static const struct option OptionLong[] = { @@ -983,6 +989,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -1114,7 +1123,9 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x055 */ 0, /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, - /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0, + /* 0x058 */ 0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1420,6 +1431,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -2163,7 +2175,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms KCL Tool : Analyze, modify, export and create KCL and OBJ" " files.", 0, - 29, + 30, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wkclt.h b/project/src/ui/ui-wkclt.h index 352a4b8..9695e87 100644 --- a/project/src/ui/ui-wkclt.h +++ b/project/src/ui/ui-wkclt.h @@ -113,6 +113,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -140,7 +141,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 79 + OPT__N_TOTAL // == 80 } enumOptions; @@ -428,6 +429,7 @@ typedef enum enumGetOpt GO_TRACKS = 'T', GO_VERSION = 'V', GO_WARN = 'W', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wkmpt.c b/project/src/ui/ui-wkmpt.c index 6cce3b2..64a033c 100644 --- a/project/src/ui/ui-wkmpt.c +++ b/project/src/ui/ui-wkmpt.c @@ -566,13 +566,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -889,7 +895,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 == 96 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 97 }; @@ -1174,7 +1180,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:w:lHBXPGNM:T:A:td:D:E:orupi"; +static const char OptionShort[] = "VhqvLYW:c:w:lHBXPGNM:T:A:td:D:E:orupi"; static const struct option OptionLong[] = { @@ -1193,6 +1199,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -1357,7 +1366,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, /* 0x058 X */ OPT_EXPORT, - /* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1665,6 +1675,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -2228,7 +2239,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms KMP Tool : Analyze, modify, export and create (compile) KMP" " files.", 0, - 38, + 39, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wkmpt.h b/project/src/ui/ui-wkmpt.h index 9bef264..a86288f 100644 --- a/project/src/ui/ui-wkmpt.h +++ b/project/src/ui/ui-wkmpt.h @@ -121,6 +121,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -157,7 +158,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 96 + OPT__N_TOTAL // == 97 } enumOptions; @@ -443,6 +444,7 @@ typedef enum enumGetOpt GO_VERSION = 'V', GO_WARN = 'W', GO_EXPORT = 'X', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c index 720e084..d2370c8 100644 --- a/project/src/ui/ui-wlect.c +++ b/project/src/ui/ui-wlect.c @@ -468,13 +468,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -602,9 +608,9 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " all --lt-* options." }, - { OPT_LEX_RM_FEAT, false, true, false, false, false, 0, "rm-features", + { OPT_LEX_RM_FEAT, false, false, false, false, false, 0, "rm-features", 0, - "Remove LEX setion FEA0 (features) if exists. It is executed after" + "Remove LEX setion FEAT (features) if exists. It is executed after" " --lex-purge. --lex-rm-features is an alternative name." }, @@ -660,7 +666,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 == 85 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 86 }; @@ -824,7 +830,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHBXPM:tCd:D:E:orupi"; +static const char OptionShort[] = "VhqvLYW:c:lHBXPM:tCd:D:E:orupi"; static const struct option OptionLong[] = { @@ -843,6 +849,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -999,7 +1008,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, /* 0x058 X */ OPT_EXPORT, - /* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1276,6 +1286,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1295,6 +1306,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_NONE, // separator @@ -1601,6 +1613,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_NONE, // separator @@ -1724,7 +1737,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, - 31, + 33, option_tab_tool, 0 }, @@ -2102,7 +2115,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " listing.\n" " Use the command without keyword to get an extended description.", 0, - 31, + 32, option_tab_cmd_CREATE, option_allowed_cmd_CREATE }, diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h index 854d96a..6138373 100644 --- a/project/src/ui/ui-wlect.h +++ b/project/src/ui/ui-wlect.h @@ -119,6 +119,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -146,7 +147,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 85 + OPT__N_TOTAL // == 86 } enumOptions; @@ -408,6 +409,7 @@ typedef enum enumGetOpt GO_VERSION = 'V', GO_WARN = 'W', GO_EXPORT = 'X', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wmdlt.c b/project/src/ui/ui-wmdlt.c index 0be480c..7cce00d 100644 --- a/project/src/ui/ui-wmdlt.c +++ b/project/src/ui/ui-wmdlt.c @@ -396,13 +396,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -584,7 +590,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 == 68 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 69 }; @@ -742,7 +748,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHBPNM:T:A:td:D:E:orupi"; +static const char OptionShort[] = "VhqvLYW:c:lHBPNM:T:A:td:D:E:orupi"; static const struct option OptionLong[] = { @@ -761,6 +767,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -871,7 +880,9 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x055 */ 0, /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, - /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0, + /* 0x058 */ 0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1101,6 +1112,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1484,7 +1496,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, - 27, + 28, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wmdlt.h b/project/src/ui/ui-wmdlt.h index 242795b..91502d8 100644 --- a/project/src/ui/ui-wmdlt.h +++ b/project/src/ui/ui-wmdlt.h @@ -105,6 +105,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -129,7 +130,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 68 + OPT__N_TOTAL // == 69 } enumOptions; @@ -350,6 +351,7 @@ typedef enum enumGetOpt GO_TRACKS = 'T', GO_VERSION = 'V', GO_WARN = 'W', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wpatt.c b/project/src/ui/ui-wpatt.c index d2b9b3a..864622d 100644 --- a/project/src/ui/ui-wpatt.c +++ b/project/src/ui/ui-wpatt.c @@ -238,13 +238,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -415,7 +421,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 == 52 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 53 }; @@ -539,7 +545,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHBPNM:T:A:td:D:E:orupi"; +static const char OptionShort[] = "VhqvLYW:c:lHBPNM:T:A:td:D:E:orupi"; static const struct option OptionLong[] = { @@ -558,6 +564,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -650,7 +659,9 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x055 */ 0, /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, - /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0, + /* 0x058 */ 0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -823,6 +834,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1031,7 +1043,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, - 26, + 27, option_tab_tool, 0 }, diff --git a/project/src/ui/ui-wpatt.h b/project/src/ui/ui-wpatt.h index 81e9549..f7bd275 100644 --- a/project/src/ui/ui-wpatt.h +++ b/project/src/ui/ui-wpatt.h @@ -90,6 +90,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -113,7 +114,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 52 + OPT__N_TOTAL // == 53 } enumOptions; @@ -273,6 +274,7 @@ typedef enum enumGetOpt GO_TRACKS = 'T', GO_VERSION = 'V', GO_WARN = 'W', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c index f3900b7..b32e648 100644 --- a/project/src/ui/ui-wstrt.c +++ b/project/src/ui/ui-wstrt.c @@ -572,13 +572,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -898,7 +904,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " directory." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 120 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 121 }; @@ -1109,7 +1115,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "Vh@qvLW:c:lBHT:A:R:td:D:E:orupi0U"; +static const char OptionShort[] = "Vh@qvLYW:c:lBHT:A:R:td:D:E:orupi0U"; static const struct option OptionLong[] = { @@ -1129,6 +1135,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -1319,7 +1328,9 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x055 U */ OPT_UPPER, /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, - /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0, + /* 0x058 */ 0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0,0, 0, /* 0x063 c */ OPT_CONST, /* 0x064 d */ OPT_DEST, /* 0x065 */ 0,0,0, @@ -1640,6 +1651,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -1786,6 +1798,7 @@ static const InfoOption_t * option_tab_cmd_HEXDUMP[] = OptionInfo + OPT_FADDR, OptionInfo + OPT_SNAME, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_NONE, // separator @@ -2054,7 +2067,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, - 42, + 43, option_tab_tool, 0 }, @@ -2281,7 +2294,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Select parts by --vaddr, --faddr and --sname. Without selectors, the" " whole file is dumped.", 0, - 33, + 34, option_tab_cmd_HEXDUMP, option_allowed_cmd_HEXDUMP }, diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h index 23742b8..3a4914f 100644 --- a/project/src/ui/ui-wstrt.h +++ b/project/src/ui/ui-wstrt.h @@ -139,6 +139,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -181,7 +182,7 @@ typedef enum enumOptions OPT_CLEAN_DOL, OPT_CT_DIR, - OPT__N_TOTAL // == 120 + OPT__N_TOTAL // == 121 } enumOptions; @@ -472,6 +473,7 @@ typedef enum enumGetOpt GO_UPPER = 'U', GO_VERSION = 'V', GO_WARN = 'W', + GO_EXT_ERRORS = 'Y', GO_CONST = 'c', GO_DEST = 'd', diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c index 7c4445c..f9f1161 100644 --- a/project/src/ui/ui-wszst.c +++ b/project/src/ui/ui-wszst.c @@ -67,6 +67,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " otherwise the ASCII value to which 500 is added." }, + { OPT_PRINTF, false, false, false, false, false, 0, "printf", + "format", + "Add an output line with a formatted string. See" + " https://szs.wiimm.de/opt/printf for details." + }, + { OPT_TOUCH, false, false, false, false, false, 0, "touch", 0, "Mark the minimap as modified to force a new calculation of the" @@ -1146,7 +1152,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 == 136 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 137 //----- global options ----- @@ -1227,13 +1233,19 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, "This debug option enables the logging of internal lists and maps. Set" - " it up to three times to be more verbose.\n" + " it up to three times to be more verbose." + }, + + { OPT_EXT_ERRORS, false, false, false, false, false, 'Y', "extended-errors", + 0, + "Enable extended error messages. This includes a source file and line" + " reference. Logging level 1 activates it too. --xerr is a short cut." }, { OPT_TIMING, false, false, false, false, false, 0, "timing", 0, "Activate the timing of some operations. Logging level 3 activates" - " them too.\n" + " them too." }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -1579,19 +1591,20 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " --lt-* and --lex-* options." }, - { OPT_LEX_FEATURES, false, true, false, false, false, 0, "lex-features", + { OPT_LEX_FEATURES, false, false, false, false, false, 0, "lex-features", 0, - "Calculate LEX setion FEA0 (features) by analysing the track file. If" + "Calculate LEX setion FEAT (features) by analysing the track file. If" " no features found, delete the section and the possibly empty" " sub-file course.lex. If features found, then insert the section or" " update an existing section. If necessary, the sub-file course.lex is" " created. This option is executed after all --lt-* options and after" - " --lex-purge." + " --lex-purge.\n" + " CTGP uses the FEAT section to manage ghosts." }, - { OPT_LEX_RM_FEAT, false, true, false, false, false, 0, "lex-rm-features", + { OPT_LEX_RM_FEAT, false, false, false, false, false, 0, "lex-rm-features", 0, - "Remove LEX setion FEA0 (features) if exists and the possibly empty" + "Remove LEX setion FEAT (features) if exists and the possibly empty" " sub-file course.lex. This option is ignored if --lex-features is" " set. It is executed after all --lt-* options and after --lex-purge." }, @@ -1801,7 +1814,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 == 215 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 217 }; @@ -2401,7 +2414,7 @@ static const KeywordTab_t CommandTab[] = /////////////// OptionShort & OptionLong /////////////// /////////////////////////////////////////////////////////////////////////////// -static const char OptionShort[] = "VhqvLW:c:lHB1XPS:M:T:A:x:ts:d:D:E:orupiNC:nRea"; +static const char OptionShort[] = "VhqvLYW:c:lHB1XPS:M:T:A:x:ts:d:D:E:orupiNC:nRea"; static const struct option OptionLong[] = { @@ -2420,6 +2433,9 @@ static const struct option OptionLong[] = { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "extended-errors", 0, 0, 'Y' }, + { "extendederrors", 0, 0, 'Y' }, + { "xerr", 0, 0, 'Y' }, { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, @@ -2433,6 +2449,7 @@ static const struct option OptionLong[] = { "load-prefix", 1, 0, GO_LOAD_PREFIX }, { "loadprefix", 1, 0, GO_LOAD_PREFIX }, { "plus", 1, 0, GO_PLUS }, + { "printf", 1, 0, GO_PRINTF }, { "chdir", 1, 0, GO_CHDIR }, { "const", 1, 0, 'c' }, { "touch", 0, 0, GO_TOUCH }, @@ -2803,7 +2820,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x056 V */ OPT_VERSION, /* 0x057 W */ OPT_WARN, /* 0x058 X */ OPT_EXPORT, - /* 0x059 */ 0,0,0,0, 0,0,0,0, + /* 0x059 Y */ OPT_EXT_ERRORS, + /* 0x05a */ 0,0,0,0, 0,0,0, /* 0x061 a */ OPT_ALL, /* 0x062 */ 0, /* 0x063 c */ OPT_CONST, @@ -2842,172 +2860,173 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08c */ OPT_LE_CODE, /* 0x08d */ OPT_LOAD_PREFIX, /* 0x08e */ OPT_PLUS, - /* 0x08f */ OPT_CHDIR, - /* 0x090 */ OPT_TOUCH, - /* 0x091 */ OPT_AUTO, - /* 0x092 */ OPT_SET_FLAGS, - /* 0x093 */ OPT_SET_SCALE, - /* 0x094 */ OPT_SET_ROT, - /* 0x095 */ OPT_SET_X, - /* 0x096 */ OPT_SET_Y, - /* 0x097 */ OPT_SET_Z, - /* 0x098 */ OPT_XCENTER, - /* 0x099 */ OPT_YCENTER, - /* 0x09a */ OPT_ZCENTER, - /* 0x09b */ OPT_CENTER, - /* 0x09c */ OPT_SCALE, - /* 0x09d */ OPT_SHIFT, - /* 0x09e */ OPT_XSS, - /* 0x09f */ OPT_YSS, - /* 0x0a0 */ OPT_ZSS, - /* 0x0a1 */ OPT_ROT, - /* 0x0a2 */ OPT_XROT, - /* 0x0a3 */ OPT_YROT, - /* 0x0a4 */ OPT_ZROT, - /* 0x0a5 */ OPT_YPOS, - /* 0x0a6 */ OPT_TRANSLATE, - /* 0x0a7 */ OPT_NULL, - /* 0x0a8 */ OPT_NEXT, - /* 0x0a9 */ OPT_ASCALE, - /* 0x0aa */ OPT_AROT, - /* 0x0ab */ OPT_TFORM_SCRIPT, - /* 0x0ac */ OPT_MINIMAP, - /* 0x0ad */ OPT_RM_GOBJ, - /* 0x0ae */ OPT_BATTLE, - /* 0x0af */ OPT_EXPORT_FLAGS, - /* 0x0b0 */ OPT_ROUTE_OPTIONS, - /* 0x0b1 */ OPT_WIM0, - /* 0x0b2 */ OPT_SLOT, - /* 0x0b3 */ OPT_LOAD_KCL, - /* 0x0b4 */ OPT_KCL, - /* 0x0b5 */ OPT_KCL_FLAG, - /* 0x0b6 */ OPT_KCL_SCRIPT, - /* 0x0b7 */ OPT_TRI_AREA, - /* 0x0b8 */ OPT_TRI_HEIGHT, - /* 0x0b9 */ OPT_FLAG_FILE, - /* 0x0ba */ OPT_XTRIDATA, - /* 0x0bb */ OPT_KMP, - /* 0x0bc */ OPT_SPEED_MOD, - /* 0x0bd */ OPT_KTPT2, - /* 0x0be */ OPT_TFORM_KMP, - /* 0x0bf */ OPT_REPAIR_XPF, - /* 0x0c0 */ OPT_GAMEMODES, - /* 0x0c1 */ OPT_MDL, - /* 0x0c2 */ OPT_PAT, - /* 0x0c3 */ OPT_PATCH_FILE, - /* 0x0c4 */ OPT_KMG_LIMIT, - /* 0x0c5 */ OPT_KMG_COPY, - /* 0x0c6 */ OPT_LT_CLEAR, - /* 0x0c7 */ OPT_LT_ONLINE, - /* 0x0c8 */ OPT_LT_N_PLAYERS, - /* 0x0c9 */ OPT_LT_COND_BIT, - /* 0x0ca */ OPT_LT_GAME_MODE, - /* 0x0cb */ OPT_LT_ENGINE, - /* 0x0cc */ OPT_LT_RANDOM, - /* 0x0cd */ OPT_LEX_PURGE, - /* 0x0ce */ OPT_LEX_FEATURES, - /* 0x0cf */ OPT_LEX_RM_FEAT, - /* 0x0d0 */ OPT_LOAD_BMG, - /* 0x0d1 */ OPT_PATCH_BMG, - /* 0x0d2 */ OPT_MACRO_BMG, - /* 0x0d3 */ OPT_FILTER_BMG, - /* 0x0d4 */ OPT_CACHE, - /* 0x0d5 */ OPT_CNAME, - /* 0x0d6 */ OPT_ID, - /* 0x0d7 */ OPT_BASE64, - /* 0x0d8 */ OPT_DB64, - /* 0x0d9 */ OPT_CODING, - /* 0x0da */ OPT_VERIFY, - /* 0x0db */ OPT_ROUND, - /* 0x0dc */ OPT_PIPE, - /* 0x0dd */ OPT_DELTA, - /* 0x0de */ OPT_DIFF, - /* 0x0df */ OPT_EPSILON, - /* 0x0e0 */ OPT_BMG_ENDIAN, - /* 0x0e1 */ OPT_BMG_ENCODING, - /* 0x0e2 */ OPT_BMG_INF_SIZE, - /* 0x0e3 */ OPT_BMG_MID, - /* 0x0e4 */ OPT_FORCE_ATTRIB, - /* 0x0e5 */ OPT_DEF_ATTRIB, - /* 0x0e6 */ OPT_NO_ATTRIB, - /* 0x0e7 */ OPT_X_ESCAPES, - /* 0x0e8 */ OPT_OLD_ESCAPES, - /* 0x0e9 */ OPT_NO_BMG_COLORS, - /* 0x0ea */ OPT_BMG_COLORS, - /* 0x0eb */ OPT_NO_BMG_INLINE, - /* 0x0ec */ OPT_AUTOADD_PATH, - /* 0x0ed */ OPT_STRIP, - /* 0x0ee */ OPT_UTF_8, - /* 0x0ef */ OPT_NO_UTF_8, - /* 0x0f0 */ OPT_FORCE, - /* 0x0f1 */ OPT_REPAIR_MAGICS, - /* 0x0f2 */ OPT_TINY, - /* 0x0f3 */ OPT_YAZ0, - /* 0x0f4 */ OPT_YAZ1, - /* 0x0f5 */ OPT_XYZ, - /* 0x0f6 */ OPT_BZ, - /* 0x0f7 */ OPT_SH, - /* 0x0f8 */ OPT_BASH, - /* 0x0f9 */ OPT_JSON, - /* 0x0fa */ OPT_PHP, - /* 0x0fb */ OPT_MAKEDOC, - /* 0x0fc */ OPT_VAR, - /* 0x0fd */ OPT_ARRAY, - /* 0x0fe */ OPT_AVAR, - /* 0x0ff */ OPT_CASE, - /* 0x100 */ OPT_PMODES, - /* 0x101 */ OPT_FMODES, - /* 0x102 */ OPT_INSTALL, - /* 0x103 */ OPT_ANALYZE, - /* 0x104 */ OPT_ANALYZE_MODE, - /* 0x105 */ OPT_OLD, - /* 0x106 */ OPT_STD, - /* 0x107 */ OPT_NEW, - /* 0x108 */ OPT_EXTRACT, - /* 0x109 */ OPT_REFERENCE, - /* 0x10a */ OPT_NUMBER, - /* 0x10b */ OPT_REMOVE_SRC, - /* 0x10c */ OPT_IGNORE_SETUP, - /* 0x10d */ OPT_PURGE, - /* 0x10e */ OPT_ALIGN_U8, - /* 0x10f */ OPT_ALIGN_PACK, - /* 0x110 */ OPT_ALIGN_BRRES, - /* 0x111 */ OPT_ALIGN_BREFF, - /* 0x112 */ OPT_ALIGN_BREFT, - /* 0x113 */ OPT_ALIGN, - /* 0x114 */ OPT_ENCODE_ALL, - /* 0x115 */ OPT_ENCODE_IMG, - /* 0x116 */ OPT_NO_ENCODE, - /* 0x117 */ OPT_NO_RECURSE, - /* 0x118 */ OPT_AUTO_ADD, - /* 0x119 */ OPT_NO_ECHO, - /* 0x11a */ OPT_PT_DIR, - /* 0x11b */ OPT_RM_AIPARAM, - /* 0x11c */ OPT_U8, - /* 0x11d */ OPT_SZS, - /* 0x11e */ OPT_WU8, - /* 0x11f */ OPT_XWU8, - /* 0x120 */ OPT_WBZ, - /* 0x121 */ OPT_PACK, - /* 0x122 */ OPT_BRRES, - /* 0x123 */ OPT_BREFF, - /* 0x124 */ OPT_BREFT, - /* 0x125 */ OPT_NO_COMPRESS, - /* 0x126 */ OPT_FAST, - /* 0x127 */ OPT_LINKS, - /* 0x128 */ OPT_BASEDIR, - /* 0x129 */ OPT_DECODE, - /* 0x12a */ OPT_MIPMAPS, - /* 0x12b */ OPT_NO_MIPMAPS, - /* 0x12c */ OPT_N_MIPMAPS, - /* 0x12d */ OPT_MAX_MIPMAPS, - /* 0x12e */ OPT_MIPMAP_SIZE, - /* 0x12f */ OPT_FAST_MIPMAPS, - /* 0x130 */ OPT_CMPR_DEFAULT, - /* 0x131 */ OPT_CUT, - /* 0x132 */ OPT_RAW, - /* 0x133 */ OPT_SECTIONS, - /* 0x134 */ 0,0, + /* 0x08f */ OPT_PRINTF, + /* 0x090 */ OPT_CHDIR, + /* 0x091 */ OPT_TOUCH, + /* 0x092 */ OPT_AUTO, + /* 0x093 */ OPT_SET_FLAGS, + /* 0x094 */ OPT_SET_SCALE, + /* 0x095 */ OPT_SET_ROT, + /* 0x096 */ OPT_SET_X, + /* 0x097 */ OPT_SET_Y, + /* 0x098 */ OPT_SET_Z, + /* 0x099 */ OPT_XCENTER, + /* 0x09a */ OPT_YCENTER, + /* 0x09b */ OPT_ZCENTER, + /* 0x09c */ OPT_CENTER, + /* 0x09d */ OPT_SCALE, + /* 0x09e */ OPT_SHIFT, + /* 0x09f */ OPT_XSS, + /* 0x0a0 */ OPT_YSS, + /* 0x0a1 */ OPT_ZSS, + /* 0x0a2 */ OPT_ROT, + /* 0x0a3 */ OPT_XROT, + /* 0x0a4 */ OPT_YROT, + /* 0x0a5 */ OPT_ZROT, + /* 0x0a6 */ OPT_YPOS, + /* 0x0a7 */ OPT_TRANSLATE, + /* 0x0a8 */ OPT_NULL, + /* 0x0a9 */ OPT_NEXT, + /* 0x0aa */ OPT_ASCALE, + /* 0x0ab */ OPT_AROT, + /* 0x0ac */ OPT_TFORM_SCRIPT, + /* 0x0ad */ OPT_MINIMAP, + /* 0x0ae */ OPT_RM_GOBJ, + /* 0x0af */ OPT_BATTLE, + /* 0x0b0 */ OPT_EXPORT_FLAGS, + /* 0x0b1 */ OPT_ROUTE_OPTIONS, + /* 0x0b2 */ OPT_WIM0, + /* 0x0b3 */ OPT_SLOT, + /* 0x0b4 */ OPT_LOAD_KCL, + /* 0x0b5 */ OPT_KCL, + /* 0x0b6 */ OPT_KCL_FLAG, + /* 0x0b7 */ OPT_KCL_SCRIPT, + /* 0x0b8 */ OPT_TRI_AREA, + /* 0x0b9 */ OPT_TRI_HEIGHT, + /* 0x0ba */ OPT_FLAG_FILE, + /* 0x0bb */ OPT_XTRIDATA, + /* 0x0bc */ OPT_KMP, + /* 0x0bd */ OPT_SPEED_MOD, + /* 0x0be */ OPT_KTPT2, + /* 0x0bf */ OPT_TFORM_KMP, + /* 0x0c0 */ OPT_REPAIR_XPF, + /* 0x0c1 */ OPT_GAMEMODES, + /* 0x0c2 */ OPT_MDL, + /* 0x0c3 */ OPT_PAT, + /* 0x0c4 */ OPT_PATCH_FILE, + /* 0x0c5 */ OPT_KMG_LIMIT, + /* 0x0c6 */ OPT_KMG_COPY, + /* 0x0c7 */ OPT_LT_CLEAR, + /* 0x0c8 */ OPT_LT_ONLINE, + /* 0x0c9 */ OPT_LT_N_PLAYERS, + /* 0x0ca */ OPT_LT_COND_BIT, + /* 0x0cb */ OPT_LT_GAME_MODE, + /* 0x0cc */ OPT_LT_ENGINE, + /* 0x0cd */ OPT_LT_RANDOM, + /* 0x0ce */ OPT_LEX_PURGE, + /* 0x0cf */ OPT_LEX_FEATURES, + /* 0x0d0 */ OPT_LEX_RM_FEAT, + /* 0x0d1 */ OPT_LOAD_BMG, + /* 0x0d2 */ OPT_PATCH_BMG, + /* 0x0d3 */ OPT_MACRO_BMG, + /* 0x0d4 */ OPT_FILTER_BMG, + /* 0x0d5 */ OPT_CACHE, + /* 0x0d6 */ OPT_CNAME, + /* 0x0d7 */ OPT_ID, + /* 0x0d8 */ OPT_BASE64, + /* 0x0d9 */ OPT_DB64, + /* 0x0da */ OPT_CODING, + /* 0x0db */ OPT_VERIFY, + /* 0x0dc */ OPT_ROUND, + /* 0x0dd */ OPT_PIPE, + /* 0x0de */ OPT_DELTA, + /* 0x0df */ OPT_DIFF, + /* 0x0e0 */ OPT_EPSILON, + /* 0x0e1 */ OPT_BMG_ENDIAN, + /* 0x0e2 */ OPT_BMG_ENCODING, + /* 0x0e3 */ OPT_BMG_INF_SIZE, + /* 0x0e4 */ OPT_BMG_MID, + /* 0x0e5 */ OPT_FORCE_ATTRIB, + /* 0x0e6 */ OPT_DEF_ATTRIB, + /* 0x0e7 */ OPT_NO_ATTRIB, + /* 0x0e8 */ OPT_X_ESCAPES, + /* 0x0e9 */ OPT_OLD_ESCAPES, + /* 0x0ea */ OPT_NO_BMG_COLORS, + /* 0x0eb */ OPT_BMG_COLORS, + /* 0x0ec */ OPT_NO_BMG_INLINE, + /* 0x0ed */ OPT_AUTOADD_PATH, + /* 0x0ee */ OPT_STRIP, + /* 0x0ef */ OPT_UTF_8, + /* 0x0f0 */ OPT_NO_UTF_8, + /* 0x0f1 */ OPT_FORCE, + /* 0x0f2 */ OPT_REPAIR_MAGICS, + /* 0x0f3 */ OPT_TINY, + /* 0x0f4 */ OPT_YAZ0, + /* 0x0f5 */ OPT_YAZ1, + /* 0x0f6 */ OPT_XYZ, + /* 0x0f7 */ OPT_BZ, + /* 0x0f8 */ OPT_SH, + /* 0x0f9 */ OPT_BASH, + /* 0x0fa */ OPT_JSON, + /* 0x0fb */ OPT_PHP, + /* 0x0fc */ OPT_MAKEDOC, + /* 0x0fd */ OPT_VAR, + /* 0x0fe */ OPT_ARRAY, + /* 0x0ff */ OPT_AVAR, + /* 0x100 */ OPT_CASE, + /* 0x101 */ OPT_PMODES, + /* 0x102 */ OPT_FMODES, + /* 0x103 */ OPT_INSTALL, + /* 0x104 */ OPT_ANALYZE, + /* 0x105 */ OPT_ANALYZE_MODE, + /* 0x106 */ OPT_OLD, + /* 0x107 */ OPT_STD, + /* 0x108 */ OPT_NEW, + /* 0x109 */ OPT_EXTRACT, + /* 0x10a */ OPT_REFERENCE, + /* 0x10b */ OPT_NUMBER, + /* 0x10c */ OPT_REMOVE_SRC, + /* 0x10d */ OPT_IGNORE_SETUP, + /* 0x10e */ OPT_PURGE, + /* 0x10f */ OPT_ALIGN_U8, + /* 0x110 */ OPT_ALIGN_PACK, + /* 0x111 */ OPT_ALIGN_BRRES, + /* 0x112 */ OPT_ALIGN_BREFF, + /* 0x113 */ OPT_ALIGN_BREFT, + /* 0x114 */ OPT_ALIGN, + /* 0x115 */ OPT_ENCODE_ALL, + /* 0x116 */ OPT_ENCODE_IMG, + /* 0x117 */ OPT_NO_ENCODE, + /* 0x118 */ OPT_NO_RECURSE, + /* 0x119 */ OPT_AUTO_ADD, + /* 0x11a */ OPT_NO_ECHO, + /* 0x11b */ OPT_PT_DIR, + /* 0x11c */ OPT_RM_AIPARAM, + /* 0x11d */ OPT_U8, + /* 0x11e */ OPT_SZS, + /* 0x11f */ OPT_WU8, + /* 0x120 */ OPT_XWU8, + /* 0x121 */ OPT_WBZ, + /* 0x122 */ OPT_PACK, + /* 0x123 */ OPT_BRRES, + /* 0x124 */ OPT_BREFF, + /* 0x125 */ OPT_BREFT, + /* 0x126 */ OPT_NO_COMPRESS, + /* 0x127 */ OPT_FAST, + /* 0x128 */ OPT_LINKS, + /* 0x129 */ OPT_BASEDIR, + /* 0x12a */ OPT_DECODE, + /* 0x12b */ OPT_MIPMAPS, + /* 0x12c */ OPT_NO_MIPMAPS, + /* 0x12d */ OPT_N_MIPMAPS, + /* 0x12e */ OPT_MAX_MIPMAPS, + /* 0x12f */ OPT_MIPMAP_SIZE, + /* 0x130 */ OPT_FAST_MIPMAPS, + /* 0x131 */ OPT_CMPR_DEFAULT, + /* 0x132 */ OPT_CUT, + /* 0x133 */ OPT_RAW, + /* 0x134 */ OPT_SECTIONS, + /* 0x135 */ 0, }; // @@ -3015,724 +3034,724 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[136] = // cmd #1 +static u8 option_allowed_cmd_VERSION[137] = // 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,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,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, 1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1 }; -static u8 option_allowed_cmd_HELP[136] = // cmd #2 +static u8 option_allowed_cmd_HELP[137] = // 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 }; -static u8 option_allowed_cmd_CONFIG[136] = // cmd #3 +static u8 option_allowed_cmd_CONFIG[137] = // 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,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, 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,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,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,1 }; -static u8 option_allowed_cmd_INSTALL[136] = // cmd #4 +static u8 option_allowed_cmd_INSTALL[137] = // 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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #5 +static u8 option_allowed_cmd_ARGTEST[137] = // 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 }; -static u8 option_allowed_cmd_EXPAND[136] = // cmd #6 +static u8 option_allowed_cmd_EXPAND[137] = // 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 }; -static u8 option_allowed_cmd_TEST[136] = // cmd #7 +static u8 option_allowed_cmd_TEST[137] = // cmd #7 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,1,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[136] = // cmd #8 +static u8 option_allowed_cmd_COLORS[137] = // cmd #8 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,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 }; -static u8 option_allowed_cmd_ERROR[136] = // cmd #9 +static u8 option_allowed_cmd_ERROR[137] = // 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,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,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, 1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1 }; -static u8 option_allowed_cmd_FILETYPE[136] = // cmd #10 +static u8 option_allowed_cmd_FILETYPE[137] = // 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,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,1, + 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 + 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 }; -static u8 option_allowed_cmd_FILEATTRIB[136] = // cmd #11 +static u8 option_allowed_cmd_FILEATTRIB[137] = // 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,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, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #12 +static u8 option_allowed_cmd_BRSUB[137] = // 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,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,1, + 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 + 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 }; -static u8 option_allowed_cmd_SYMBOLS[136] = // cmd #13 +static u8 option_allowed_cmd_SYMBOLS[137] = // 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,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, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #14 +static u8 option_allowed_cmd_FUNCTIONS[137] = // 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,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,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 }; -static u8 option_allowed_cmd_CALCULATE[136] = // cmd #15 +static u8 option_allowed_cmd_CALCULATE[137] = // 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #16 +static u8 option_allowed_cmd_MATRIX[137] = // cmd #16 { - 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,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, 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,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 }; -static u8 option_allowed_cmd_FLOAT[136] = // cmd #17 +static u8 option_allowed_cmd_FLOAT[137] = // 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,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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #18 +static u8 option_allowed_cmd_VR_CALC[137] = // cmd #18 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #19 +static u8 option_allowed_cmd_VR_RACE[137] = // 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,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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #20 +static u8 option_allowed_cmd_AUTOADD[137] = // 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,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,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 }; -static u8 option_allowed_cmd_TRACKS[136] = // cmd #21 +static u8 option_allowed_cmd_TRACKS[137] = // 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,1,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,1, 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,1, 0,0 }; -static u8 option_allowed_cmd_SCANCACHE[136] = // cmd #22 +static u8 option_allowed_cmd_SCANCACHE[137] = // 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,0, 0,0,0,0,0, 0,0,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,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 }; -static u8 option_allowed_cmd_EXPORT[136] = // cmd #23 +static u8 option_allowed_cmd_EXPORT[137] = // 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, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #24 +static u8 option_allowed_cmd_SIZEOF[137] = // 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, 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,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, 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[136] = // cmd #25 +static u8 option_allowed_cmd_CODE[137] = // 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 }; -static u8 option_allowed_cmd_RECODE[136] = // cmd #26 +static u8 option_allowed_cmd_RECODE[137] = // 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, - 0,0,0,0,0, 0,0,0,0,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[136] = // cmd #27 +static u8 option_allowed_cmd_SUBFILE[137] = // 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,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,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 }; -static u8 option_allowed_cmd_TESTNORM[136] = // cmd #28 +static u8 option_allowed_cmd_TESTNORM[137] = // 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 }; -static u8 option_allowed_cmd_LIST[136] = // cmd #29 +static u8 option_allowed_cmd_LIST[137] = // 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,1,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,1,0,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,0,0,0,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0 + 0,0,0,1,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,1,0, 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,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[136] = // cmd #30 +static u8 option_allowed_cmd_LIST_L[137] = // 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,1,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,1,0,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,0,0,0,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0 + 0,0,0,1,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,1,0, 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,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[136] = // cmd #31 +static u8 option_allowed_cmd_LIST_LL[137] = // 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,1,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,1,0,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,0,0,0,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0 + 0,0,0,1,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,1,0, 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,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[136] = // cmd #32 +static u8 option_allowed_cmd_LIST_LLL[137] = // 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,1,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,1,0,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,0,0,0,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0 + 0,0,0,1,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,1,0, 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,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[136] = // cmd #33 +static u8 option_allowed_cmd_LIST_A[137] = // 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,1,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,1,0,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,0,0,0,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0 + 0,0,0,1,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,1,0, 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,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[136] = // cmd #34 +static u8 option_allowed_cmd_LIST_LA[137] = // 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,1,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,1,0,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,0,0,0,1, - 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0 + 0,0,0,1,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,1,0, 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,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[136] = // cmd #35 +static u8 option_allowed_cmd_NAME_REF[137] = // 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,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, 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,1, 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, 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[136] = // cmd #36 +static u8 option_allowed_cmd_ILIST[137] = // 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,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,1,0,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,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,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,1,0, 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,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[136] = // cmd #37 +static u8 option_allowed_cmd_ILIST_L[137] = // 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,1,1, 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,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,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,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,1,0, 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,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[136] = // cmd #38 +static u8 option_allowed_cmd_ILIST_LL[137] = // 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,1,1, 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,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,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,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,1,0, 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,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[136] = // cmd #39 +static u8 option_allowed_cmd_ILIST_A[137] = // 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,1,1, 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,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,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,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,1,0, 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,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[136] = // cmd #40 +static u8 option_allowed_cmd_ILIST_LA[137] = // 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,1,1, 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,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,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,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,1,0, 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,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[136] = // cmd #41 +static u8 option_allowed_cmd_MEMORY[137] = // 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,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,1,1,0,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,0,0,0,1, - 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,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,1,1,0, 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,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[136] = // cmd #42 +static u8 option_allowed_cmd_MEMORY_A[137] = // 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,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,1,1,0,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,0,0,0,1, - 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,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,1,1,0, 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,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[136] = // cmd #43 +static u8 option_allowed_cmd_DUMP[137] = // 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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,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,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,0, 0,0,1,1,0, 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,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[136] = // cmd #44 +static u8 option_allowed_cmd_SHA1[137] = // 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,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,0,1,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, 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,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,0, 0,0,0,1,1, 1,1,1,0,1, 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,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,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_ANALYZE[136] = // cmd #45 +static u8 option_allowed_cmd_ANALYZE[137] = // 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,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, 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, 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, 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,1 }; -static u8 option_allowed_cmd_SPLIT[136] = // cmd #46 +static u8 option_allowed_cmd_SPLIT[137] = // cmd #46 { - 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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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, 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,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,1 }; -static u8 option_allowed_cmd_IS_TEXTURE[136] = // cmd #47 +static u8 option_allowed_cmd_IS_TEXTURE[137] = // 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,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,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,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, + 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 }; -static u8 option_allowed_cmd_FEATURES[136] = // cmd #48 +static u8 option_allowed_cmd_FEATURES[137] = // cmd #48 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,1,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, 1 + 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,1, 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,1 }; -static u8 option_allowed_cmd_DISTRIBUTION[136] = // cmd #49 +static u8 option_allowed_cmd_DISTRIBUTION[137] = // 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,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,1,1,0,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,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,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,1,1,0, 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,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[136] = // cmd #50 +static u8 option_allowed_cmd_DIFF[137] = // 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,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,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,1,0,0, 0,0,0,0,0, 0,0,1,1,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[136] = // cmd #51 +static u8 option_allowed_cmd_CHECK[137] = // cmd #51 { - 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,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,1,1,0,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,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,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,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,1,1,0, 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,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[136] = // cmd #52 +static u8 option_allowed_cmd_SLOTS[137] = // cmd #52 { - 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,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,1,0,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,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,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,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,1,0, 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,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[136] = // cmd #53 +static u8 option_allowed_cmd_STGI[137] = // cmd #53 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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, 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,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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_ISARENA[136] = // cmd #54 +static u8 option_allowed_cmd_ISARENA[137] = // cmd #54 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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 }; -static u8 option_allowed_cmd_NORMALIZE[136] = // cmd #55 +static u8 option_allowed_cmd_NORMALIZE[137] = // cmd #55 { - 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0,0, 0,0,1,0,0, 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 + 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,0, 0,0,0,1,0, 0,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[136] = // cmd #56 +static u8 option_allowed_cmd_PATCH[137] = // cmd #56 { - 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0,0, 0,0,1,0,0, 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 + 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,0, 0,0,0,1,0, 0,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[136] = // cmd #57 +static u8 option_allowed_cmd_COPY[137] = // cmd #57 { - 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0,0, 0,0,1,0,0, 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 + 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,0, 0,0,0,1,0, 0,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[136] = // cmd #58 +static u8 option_allowed_cmd_DUPLICATE[137] = // cmd #58 { - 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0,0, 0,0,1,0,0, 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 + 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,0, 0,0,0,1,0, 0,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[136] = // cmd #59 +static u8 option_allowed_cmd_MINIMAP[137] = // cmd #59 { - 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,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,1,1, - 0,0,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,1,1,1, - 1,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,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,1, + 1,0,0,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,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[136] = // cmd #60 +static u8 option_allowed_cmd_COMPRESS[137] = // cmd #60 { - 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0,0, 0,0,1,0,0, 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 + 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,0, 0,0,0,1,0, 0,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[136] = // cmd #61 +static u8 option_allowed_cmd_DECOMPRESS[137] = // cmd #61 { - 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,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0,0, 0,0,1,0,0, 1,1,1,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, 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,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,0, 0,0,0,1,0, 0,1,1,1,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 }; -static u8 option_allowed_cmd_ENCODE[136] = // cmd #62 +static u8 option_allowed_cmd_ENCODE[137] = // cmd #62 { - 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,0,0,0, 0,0,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, - 1,0,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, 1,1,1,1,1, 1,1,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,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,0,1,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,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, + 0,1,0,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,1,1,1,1, 1,1,1,0,1, 0,0 }; -static u8 option_allowed_cmd_CREATE[136] = // cmd #63 +static u8 option_allowed_cmd_CREATE[137] = // cmd #63 { - 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,0,0,0, 0,0,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,1,1,1,1, 0,1,1,1,0, - 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, - 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,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,0,0, 0,0,0,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,1,1,1, 1,0,1,1,1, + 0,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,1,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0 }; -static u8 option_allowed_cmd_UPDATE[136] = // cmd #64 +static u8 option_allowed_cmd_UPDATE[137] = // cmd #64 { - 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,0,0,0, 0,0,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,1,0, 1,1,1,1,1, 0,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,1,1,1,0, - 0,0,1,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,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,0,1,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,1,1,0, 0,0,0,0,1, 0,1,1,1,1, 1,0,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,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[136] = // cmd #65 +static u8 option_allowed_cmd_EXTRACT[137] = // cmd #65 { - 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,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,1,1, 0,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,1, 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 + 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,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,1, 1,0,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, 1,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[136] = // cmd #66 +static u8 option_allowed_cmd_XDECODE[137] = // cmd #66 { - 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,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,1,1, 0,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,1, 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 + 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,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,1, 1,0,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, 1,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[136] = // cmd #67 +static u8 option_allowed_cmd_XEXPORT[137] = // cmd #67 { - 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,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,1,1, 0,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,1, 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 + 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,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,1, 1,0,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, 1,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[136] = // cmd #68 +static u8 option_allowed_cmd_XALL[137] = // cmd #68 { - 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,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,1,1, 0,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,1, 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 + 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,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,1, 1,0,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, 1,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[136] = // cmd #69 +static u8 option_allowed_cmd_XCOMMON[137] = // cmd #69 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,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 }; -static u8 option_allowed_cmd_BINARY[136] = // cmd #70 +static u8 option_allowed_cmd_BINARY[137] = // cmd #70 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,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 }; -static u8 option_allowed_cmd_TEXT[136] = // cmd #71 +static u8 option_allowed_cmd_TEXT[137] = // 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,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, 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,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, 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,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, 1,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_CAT[136] = // cmd #72 +static u8 option_allowed_cmd_CAT[137] = // 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,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,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,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, 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,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, 1,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_BMG[136] = // cmd #73 +static u8 option_allowed_cmd_BMG[137] = // 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,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,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,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,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 }; -static u8 option_allowed_cmd_KCL[136] = // cmd #74 +static u8 option_allowed_cmd_KCL[137] = // cmd #74 { - 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,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, 0,0,0,0,1, - 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, 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,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,0,0,0,0, + 1,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 }; -static u8 option_allowed_cmd_KMP[136] = // cmd #75 +static u8 option_allowed_cmd_KMP[137] = // cmd #75 { - 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,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,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,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, 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,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,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, 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_LEX[136] = // cmd #76 +static u8 option_allowed_cmd_LEX[137] = // cmd #76 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,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,0,0,0, 0,0,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,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,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_INFO[136] = // cmd #77 +static u8 option_allowed_cmd_INFO[137] = // cmd #77 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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, 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,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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[136] = // cmd #78 +static u8 option_allowed_cmd_GHOST[137] = // 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,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,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, 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,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,1 }; -static u8 option_allowed_cmd_YAZDUMP[136] = // cmd #79 +static u8 option_allowed_cmd_YAZDUMP[137] = // 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,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,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 }; -static u8 option_allowed_cmd_VEHICLE[136] = // cmd #80 +static u8 option_allowed_cmd_VEHICLE[137] = // 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, 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, 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,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,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 }; @@ -3755,6 +3774,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, @@ -3790,6 +3810,8 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_CACHE, OptionInfo + OPT_CNAME, OptionInfo + OPT_MAX_FILE_SIZE, @@ -4052,6 +4074,7 @@ static const InfoOption_t * option_tab_cmd_SIZEOF[] = &option_cmd_SIZEOF_SORT, &option_cmd_SIZEOF_BRIEF, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, 0 @@ -4126,6 +4149,7 @@ static const InfoOption_t * option_tab_cmd_LIST[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4190,6 +4214,7 @@ static const InfoOption_t * option_tab_cmd_LIST_L[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4254,6 +4279,7 @@ static const InfoOption_t * option_tab_cmd_LIST_LL[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4318,6 +4344,7 @@ static const InfoOption_t * option_tab_cmd_LIST_LLL[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4382,6 +4409,7 @@ static const InfoOption_t * option_tab_cmd_LIST_A[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4446,6 +4474,7 @@ static const InfoOption_t * option_tab_cmd_LIST_LA[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4517,6 +4546,7 @@ static const InfoOption_t * option_tab_cmd_ILIST[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4578,6 +4608,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_L[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4639,6 +4670,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_LL[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4700,6 +4732,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_A[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4761,6 +4794,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_LA[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4827,6 +4861,7 @@ static const InfoOption_t * option_tab_cmd_MEMORY[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4893,6 +4928,7 @@ static const InfoOption_t * option_tab_cmd_MEMORY_A[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -4949,6 +4985,7 @@ static const InfoOption_t * option_tab_cmd_DUMP[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -5008,6 +5045,7 @@ static const InfoOption_t * option_tab_cmd_SHA1[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -5075,6 +5113,7 @@ static const InfoOption_t * option_tab_cmd_SPLIT[] = { OptionInfo + OPT_LOAD_PREFIX, OptionInfo + OPT_PLUS, + OptionInfo + OPT_PRINTF, OptionInfo + OPT_NONE, // separator @@ -5170,6 +5209,7 @@ static const InfoOption_t * option_tab_cmd_DISTRIBUTION[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -5248,6 +5288,7 @@ static const InfoOption_t * option_tab_cmd_CHECK[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -5316,6 +5357,8 @@ static const InfoOption_t * option_tab_cmd_CHECK[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -5352,6 +5395,7 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -5421,6 +5465,8 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -5535,6 +5581,8 @@ static const InfoOption_t * option_tab_cmd_NORMALIZE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -5628,6 +5676,8 @@ static const InfoOption_t * option_tab_cmd_PATCH[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -5721,6 +5771,8 @@ static const InfoOption_t * option_tab_cmd_COPY[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -5815,6 +5867,8 @@ static const InfoOption_t * option_tab_cmd_DUPLICATE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -5963,6 +6017,8 @@ static const InfoOption_t * option_tab_cmd_COMPRESS[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6046,6 +6102,8 @@ static const InfoOption_t * option_tab_cmd_DECOMPRESS[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6063,6 +6121,7 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -6131,6 +6190,8 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6176,6 +6237,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] = OptionInfo + OPT_ALIGN_BREFT, OptionInfo + OPT_ALIGN, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_EXT_ERRORS, OptionInfo + OPT_TIMING, OptionInfo + OPT_ENCODE_ALL, OptionInfo + OPT_ENCODE_IMG, @@ -6248,6 +6310,8 @@ static const InfoOption_t * option_tab_cmd_CREATE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6334,6 +6398,8 @@ static const InfoOption_t * option_tab_cmd_UPDATE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6419,6 +6485,8 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6504,6 +6572,8 @@ static const InfoOption_t * option_tab_cmd_XDECODE[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6589,6 +6659,8 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6674,6 +6746,8 @@ static const InfoOption_t * option_tab_cmd_XALL[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6867,6 +6941,8 @@ static const InfoOption_t * option_tab_cmd_KCL[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -6927,6 +7003,8 @@ static const InfoOption_t * option_tab_cmd_KMP[] = OptionInfo + OPT_LT_ENGINE, OptionInfo + OPT_LT_RANDOM, OptionInfo + OPT_LEX_PURGE, + OptionInfo + OPT_LEX_FEATURES, + OptionInfo + OPT_LEX_RM_FEAT, OptionInfo + OPT_PATCH_BMG, OptionInfo + OPT_MACRO_BMG, OptionInfo + OPT_FILTER_BMG, @@ -7027,7 +7105,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, - 70, + 73, option_tab_tool, 0 }, @@ -7440,7 +7518,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "This hidden command prints a list with the size of data structures" " and variables.", 0, - 4, + 5, option_tab_cmd_SIZEOF, option_allowed_cmd_SIZEOF }, @@ -7515,7 +7593,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " archives. If listing a directory, then a virtual SZS file is created" " (like CREATE does it) and listed.", 0, - 49, + 50, option_tab_cmd_LIST, option_allowed_cmd_LIST }, @@ -7530,7 +7608,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List all sub files with size. 'LIST-L' and 'LL' are short cuts for" " 'LIST --long'.", 0, - 49, + 50, option_tab_cmd_LIST_L, option_allowed_cmd_LIST_L }, @@ -7545,7 +7623,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List all sub files with offset and size. 'LIST-LL' and 'LLL' are" " short cuts for 'LIST --long --long'.", 0, - 49, + 50, option_tab_cmd_LIST_LL, option_allowed_cmd_LIST_LL }, @@ -7560,7 +7638,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List all sub files with offset and size in debugging mode. 'LIST-LLL'" " and 'LLLL' are short cuts for 'LIST --long --long --long'.", 0, - 49, + 50, option_tab_cmd_LIST_LLL, option_allowed_cmd_LIST_LLL }, @@ -7575,7 +7653,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List recursive all sub files with size. 'LIST-A' and 'LA' are short" " cuts for 'LIST --long --all --all'.", 0, - 49, + 50, option_tab_cmd_LIST_A, option_allowed_cmd_LIST_A }, @@ -7590,7 +7668,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List recursive all sub files with offset and size. 'LIST-LA' and" " 'LLA' are short cuts for 'LIST --long --long --all --all'.", 0, - 49, + 50, option_tab_cmd_LIST_LA, option_allowed_cmd_LIST_LA }, @@ -7624,7 +7702,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " listing a directory, then a virtual SZS file is created (like CREATE" " does it) and listed.", 0, - 46, + 47, option_tab_cmd_ILIST, option_allowed_cmd_ILIST }, @@ -7639,7 +7717,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List all image files with geometry data. 'ILIST-L' and 'ILL' are" " short cuts for 'ILIST --long'.", 0, - 46, + 47, option_tab_cmd_ILIST_L, option_allowed_cmd_ILIST_L }, @@ -7654,7 +7732,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List all sub files with advanced geometry data. 'ILIST-LL' and 'ILLL'" " are short cuts for 'ILIST --long --long'.", 0, - 46, + 47, option_tab_cmd_ILIST_LL, option_allowed_cmd_ILIST_LL }, @@ -7669,7 +7747,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List recursive all image files. 'ILIST-A' and 'ILA' are short cuts" " for 'ILIST --all'.", 0, - 46, + 47, option_tab_cmd_ILIST_A, option_allowed_cmd_ILIST_A }, @@ -7684,7 +7762,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "List recursive all image files with geometry data. 'ILIST-LA' and" " 'ILLA' are short cuts for 'ILIST --long --all'.", 0, - 46, + 47, option_tab_cmd_ILIST_LA, option_allowed_cmd_ILIST_LA }, @@ -7699,7 +7777,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Dump a memory map of each source file. Virtual images (extracted" " directories) are also supported.", 0, - 48, + 49, option_tab_cmd_MEMORY, option_allowed_cmd_MEMORY }, @@ -7714,7 +7792,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Dump recursive a memory map of each source file. 'MEMORY-A' and" " 'MEMA' are short cuts for 'MEMORY --all --all'.", 0, - 48, + 49, option_tab_cmd_MEMORY_A, option_allowed_cmd_MEMORY_A }, @@ -7731,7 +7809,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " relocation. Virtual images (extracted directories) are also" " supported.", 0, - 42, + 43, option_tab_cmd_DUMP, option_allowed_cmd_DUMP }, @@ -7746,7 +7824,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Print a SHA1 checksum for each source. The checksum is calculated by" " using the uncompressed data and after patching.", 0, - 49, + 50, option_tab_cmd_SHA1, option_allowed_cmd_SHA1 }, @@ -7775,7 +7853,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Analyse (file) names and split them into the different parts. Print" " the results in machine readable format.", 0, - 15, + 16, option_tab_cmd_SPLIT, option_allowed_cmd_SPLIT }, @@ -7801,14 +7879,15 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = }, { CMD_FEATURES, - true, + false, false, false, "FEATURES", 0, "wszst FEATURES [source]...", - "Analyse track files and create a feature list in machine readable" - " format.", + "Analyse track files and create a feature list for each source in" + " machine readable format. CTGP uses the feature lists to manage" + " ghosts. See option --lex-features for details.", 0, 18, option_tab_cmd_FEATURES, @@ -7837,7 +7916,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " See »welect DISTRIBUTION« for a new and alternative implementation" " of this.", 0, - 46, + 47, option_tab_cmd_DISTRIBUTION, option_allowed_cmd_DISTRIBUTION }, @@ -7873,7 +7952,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " internal object and file database. The source can be a SZS, U8, WU8" " or WBZ file, or an U8 like directory.", 0, - 91, + 94, option_tab_cmd_CHECK, option_allowed_cmd_CHECK }, @@ -7891,7 +7970,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " positive or a negative slot list, whatever is shorter. For battle" " arenas, the keyword ARENA is printed.", 0, - 87, + 90, option_tab_cmd_SLOTS, option_allowed_cmd_SLOTS }, @@ -7949,7 +8028,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " changed.\n" " 'wszst NORMALIZE' is the same as 'wszst PATCH --norm'.", 0, - 74, + 76, option_tab_cmd_NORMALIZE, option_allowed_cmd_NORMALIZE }, @@ -7966,7 +8045,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Compressed sources are compressed again. The destination is only" " written if any data changed.", 0, - 75, + 77, option_tab_cmd_PATCH, option_allowed_cmd_PATCH }, @@ -7987,7 +8066,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " destination filename with escapes. Patching is also possible and" " option --overwrite is set implicitly.", 0, - 75, + 77, option_tab_cmd_COPY, option_allowed_cmd_COPY }, @@ -8012,7 +8091,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Use command 'wkmpt GAMEMODES' to list all variants and to check them" " beforehand.", 0, - 76, + 78, option_tab_cmd_DUPLICATE, option_allowed_cmd_DUPLICATE }, @@ -8046,7 +8125,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " compressed, then decompress and compress it again. The default" " destination is '%P/%N.szs'.", 0, - 75, + 77, option_tab_cmd_COMPRESS, option_allowed_cmd_COMPRESS }, @@ -8060,7 +8139,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "wszst DECOMPRESS [szs]...", "Decompress SZS files. The default destination is '%P/%N.u8'.", 0, - 68, + 70, option_tab_cmd_DECOMPRESS, option_allowed_cmd_DECOMPRESS }, @@ -8075,7 +8154,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Create and/or encode sub files if necessary. It works like command" " CREATE, but without creating a new first level archive file.", 0, - 70, + 73, option_tab_cmd_ENCODE, option_allowed_cmd_ENCODE }, @@ -8091,7 +8170,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " not hidden files of the directory structure. Create and/or encode" " sub files if necessary. The default destination is '%P/%N%T'.", 0, - 96, + 99, option_tab_cmd_CREATE, option_allowed_cmd_CREATE }, @@ -8110,7 +8189,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " secondary source is used to find the source sub files. The default" " secondary source is '%P/%N.d/'.", 0, - 68, + 70, option_tab_cmd_UPDATE, option_allowed_cmd_UPDATE }, @@ -8125,7 +8204,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Extract all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC" " archives. The default destination is '%P/%N.d/'.", 0, - 73, + 75, option_tab_cmd_EXTRACT, option_allowed_cmd_EXTRACT }, @@ -8142,7 +8221,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " and decodes all supported files. The default destination is" " '%P/%N.d/'.", 0, - 73, + 75, option_tab_cmd_XDECODE, option_allowed_cmd_XDECODE }, @@ -8159,7 +8238,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " archives and decodes all supported files with enabled export mode." " The default destination is '%P/%N.d/'.", 0, - 73, + 75, option_tab_cmd_XEXPORT, option_allowed_cmd_XEXPORT }, @@ -8176,7 +8255,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " recursively and decodes all supported files. The default destination" " is '%P/%N.d/'.", 0, - 73, + 75, option_tab_cmd_XALL, option_allowed_cmd_XALL }, @@ -8277,7 +8356,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Automated dropping of bad KCL triangles is enabled if no other drop" " option is specified by option --kcl.", 0, - 50, + 52, option_tab_cmd_KCL, option_allowed_cmd_KCL }, @@ -8292,7 +8371,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "For each archive the KMP sub file course.kmp is searched and, if" " found, decoded and printed (copied to stdout).", 0, - 51, + 53, option_tab_cmd_KMP, option_allowed_cmd_KMP }, diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h index cdd1c7a..ef30a33 100644 --- a/project/src/ui/ui-wszst.h +++ b/project/src/ui/ui-wszst.h @@ -57,6 +57,7 @@ typedef enum enumOptions //----- command specific options ----- OPT_PLUS, + OPT_PRINTF, OPT_TOUCH, OPT_AUTO, OPT_SET_FLAGS, @@ -192,7 +193,7 @@ typedef enum enumOptions OPT_RAW, OPT_SECTIONS, - OPT__N_SPECIFIC, // == 136 + OPT__N_SPECIFIC, // == 137 //----- global options ----- @@ -208,6 +209,7 @@ typedef enum enumOptions OPT_QUIET, OPT_VERBOSE, OPT_LOGGING, + OPT_EXT_ERRORS, OPT_TIMING, OPT_WARN, OPT_DE, @@ -276,7 +278,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 215 + OPT__N_TOTAL // == 217 } enumOptions; @@ -292,6 +294,7 @@ typedef enum enumOptions // //----- command specific options ----- // // OB_PLUS = 1llu << OPT_PLUS, +// OB_PRINTF = 1llu << OPT_PRINTF, // OB_TOUCH = 1llu << OPT_TOUCH, // OB_AUTO = 1llu << OPT_AUTO, // OB_SET_FLAGS = 1llu << OPT_SET_FLAGS, @@ -731,6 +734,7 @@ typedef enum enumOptions // | OB_DEST2, // // OB_CMD_SPLIT = OB_PLUS +// | OB_PRINTF // | OB_IGNORE // | OB_GRP_SCRIPT // | OB_DEST @@ -1077,6 +1081,7 @@ typedef enum enumGetOpt GO_VERSION = 'V', GO_WARN = 'W', GO_EXPORT = 'X', + GO_EXT_ERRORS = 'Y', GO_ALL = 'a', GO_CONST = 'c', @@ -1111,6 +1116,7 @@ typedef enum enumGetOpt GO_LE_CODE, GO_LOAD_PREFIX, GO_PLUS, + GO_PRINTF, GO_CHDIR, GO_TOUCH, GO_AUTO, diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def index ed569a1..986824b 100644 --- a/project/src/ui/ui.def +++ b/project/src/ui/ui.def @@ -281,6 +281,12 @@ " CAME has been intentionally left out. Section ENPT is only checked" \ " if KCL contains a least one face of type force-recalculation." ) +#:def_cmd( "FEATURES", "FEATURES", \ + "wszst FEATURES [source]...", \ + "Analyse track files and create a feature list for each source in" \ + " machine readable format. CTGP uses the feature lists to manage" \ + " ghosts. See option {--lex-features} for details." ) + #:def_cmd( "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB", \ "wszst DISTRIBUTION result source...\n" \ "wszst DISTRIBUTION directory [source]...", \ @@ -576,12 +582,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -642,6 +654,10 @@ " If it is in parameter CHARS then the position determines the value," \ " otherwise the ASCII value to which 500 is added." ) +#:def_opt( "PRINTF", "printf", "CP", \ + "format", \ + "Add an output line with a formatted string." ) + #:def_opt( "CHDIR", "chdir", "GMP", \ "dir", \ "Set a new working directory for all following options, for all" \ @@ -1202,6 +1218,22 @@ " it no longer contains a section. This option is executed after all" \ " --lt-* and --lex-* options." ) +#:def_opt( "LEX_FEATURES", "lex-features|lexfeatures", "G", \ + "", \ + "Calculate LEX setion FEAT (features) by analysing the track file. If" \ + " no features found, delete the section and the possibly empty" \ + " sub-file course.lex. If features found, then insert the section or" \ + " update an existing section. If necessary, the sub-file course.lex is" \ + " created. This option is executed after all --lt-* options and after" \ + " --lex-purge.\n" \ + " CTGP uses the FEAT section to manage ghosts." ) + +#:def_opt( "LEX_RM_FEAT", "lex-rm-features|lexrmfeatures", "G", \ + "", \ + "Remove LEX setion FEAT (features) if exists and the possibly empty" \ + " sub-file course.lex. This option is ignored if --lex-features is" \ + " set. It is executed after all --lt-* options and after --lex-purge." ) + #:def_opt( "LOAD_BMG", "load-bmg|loadbmg", "CMP", \ "file", \ "Load immediately the file to fill an internal message pool. The" \ @@ -2314,6 +2346,10 @@ "", \ "" ) +#:def_cmd_opt( "SIZEOF", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "SIZEOF", "TIMING", \ "", \ "" ) @@ -2467,6 +2503,10 @@ "", \ "" ) +#:def_cmd_opt( "LIST", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "LIST", "TIMING", \ "", \ "" ) @@ -2664,6 +2704,10 @@ "", \ "" ) +#:def_cmd_opt( "LIST_L", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "LIST_L", "TIMING", \ "", \ "" ) @@ -2861,6 +2905,10 @@ "", \ "" ) +#:def_cmd_opt( "LIST_LL", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "LIST_LL", "TIMING", \ "", \ "" ) @@ -3058,6 +3106,10 @@ "", \ "" ) +#:def_cmd_opt( "LIST_LLL", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "LIST_LLL", "TIMING", \ "", \ "" ) @@ -3255,6 +3307,10 @@ "", \ "" ) +#:def_cmd_opt( "LIST_A", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "LIST_A", "TIMING", \ "", \ "" ) @@ -3452,6 +3508,10 @@ "", \ "" ) +#:def_cmd_opt( "LIST_LA", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "LIST_LA", "TIMING", \ "", \ "" ) @@ -3660,6 +3720,10 @@ "", \ "" ) +#:def_cmd_opt( "ILIST", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "ILIST", "TIMING", \ "", \ "" ) @@ -3845,6 +3909,10 @@ "", \ "" ) +#:def_cmd_opt( "ILIST_L", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "ILIST_L", "TIMING", \ "", \ "" ) @@ -4030,6 +4098,10 @@ "", \ "" ) +#:def_cmd_opt( "ILIST_LL", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "ILIST_LL", "TIMING", \ "", \ "" ) @@ -4215,6 +4287,10 @@ "", \ "" ) +#:def_cmd_opt( "ILIST_A", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "ILIST_A", "TIMING", \ "", \ "" ) @@ -4400,6 +4476,10 @@ "", \ "" ) +#:def_cmd_opt( "ILIST_LA", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "ILIST_LA", "TIMING", \ "", \ "" ) @@ -4593,6 +4673,10 @@ "", \ "" ) +#:def_cmd_opt( "MEMORY", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "MEMORY", "TIMING", \ "", \ "" ) @@ -4786,6 +4870,10 @@ "", \ "" ) +#:def_cmd_opt( "MEMORY_A", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "MEMORY_A", "TIMING", \ "", \ "" ) @@ -4950,6 +5038,10 @@ "", \ "" ) +#:def_cmd_opt( "DUMP", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "DUMP", "TIMING", \ "", \ "" ) @@ -5127,6 +5219,10 @@ "", \ "" ) +#:def_cmd_opt( "SHA1", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "SHA1", "TIMING", \ "", \ "" ) @@ -5307,6 +5403,10 @@ "", \ "" ) +#:def_cmd_opt( "SPLIT", "PRINTF", \ + "", \ + "" ) + #:def_cmd_opt( "SPLIT", "IGNORE", \ "", \ "" ) @@ -5546,6 +5646,10 @@ "", \ "" ) +#:def_cmd_opt( "DISTRIBUTION", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "DISTRIBUTION", "TIMING", \ "", \ "" ) @@ -5782,6 +5886,10 @@ "", \ "" ) +#:def_cmd_opt( "CHECK", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "CHECK", "TIMING", \ "", \ "" ) @@ -6019,6 +6127,14 @@ "", \ "" ) +#:def_cmd_opt( "CHECK", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "CHECK", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "CHECK", "PATCH_BMG", \ "", \ "" ) @@ -6127,6 +6243,10 @@ "", \ "" ) +#:def_cmd_opt( "SLOTS", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "SLOTS", "TIMING", \ "", \ "" ) @@ -6368,6 +6488,14 @@ "", \ "" ) +#:def_cmd_opt( "SLOTS", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "SLOTS", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "SLOTS", "PATCH_BMG", \ "", \ "" ) @@ -6707,6 +6835,14 @@ "", \ "" ) +#:def_cmd_opt( "NORMALIZE", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "NORMALIZE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "NORMALIZE", "PATCH_BMG", \ "", \ "" ) @@ -7007,6 +7143,14 @@ "", \ "" ) +#:def_cmd_opt( "PATCH", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "PATCH", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "PATCH", "PATCH_BMG", \ "", \ "" ) @@ -7307,6 +7451,14 @@ "", \ "" ) +#:def_cmd_opt( "COPY", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "COPY", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "COPY", "PATCH_BMG", \ "", \ "" ) @@ -7611,6 +7763,14 @@ "", \ "" ) +#:def_cmd_opt( "DUPLICATE", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "DUPLICATE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "DUPLICATE", "PATCH_BMG", \ "", \ "" ) @@ -8096,6 +8256,14 @@ "", \ "" ) +#:def_cmd_opt( "COMPRESS", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "COMPRESS", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "COMPRESS", "PATCH_BMG", \ "", \ "" ) @@ -8368,6 +8536,14 @@ "", \ "" ) +#:def_cmd_opt( "DECOMPRESS", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "DECOMPRESS", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "DECOMPRESS", "PATCH_BMG", \ "", \ "" ) @@ -8412,6 +8588,10 @@ "", \ "" ) +#:def_cmd_opt( "ENCODE", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "ENCODE", "TIMING", \ "", \ "" ) @@ -8649,6 +8829,14 @@ "", \ "" ) +#:def_cmd_opt( "ENCODE", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "ENCODE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "ENCODE", "PATCH_BMG", \ "", \ "" ) @@ -8781,6 +8969,10 @@ "", \ "" ) +#:def_cmd_opt( "CREATE", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "CREATE", "TIMING", \ "", \ "" ) @@ -9034,6 +9226,14 @@ "", \ "" ) +#:def_cmd_opt( "CREATE", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "CREATE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "CREATE", "PATCH_BMG", \ "", \ "" ) @@ -9306,6 +9506,14 @@ "", \ "" ) +#:def_cmd_opt( "UPDATE", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "UPDATE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "UPDATE", "PATCH_BMG", \ "", \ "" ) @@ -9598,6 +9806,14 @@ "", \ "" ) +#:def_cmd_opt( "EXTRACT", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "EXTRACT", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "EXTRACT", "PATCH_BMG", \ "", \ "" ) @@ -9890,6 +10106,14 @@ "", \ "" ) +#:def_cmd_opt( "XDECODE", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "XDECODE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "XDECODE", "PATCH_BMG", \ "", \ "" ) @@ -10182,6 +10406,14 @@ "", \ "" ) +#:def_cmd_opt( "XEXPORT", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "XEXPORT", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "XEXPORT", "PATCH_BMG", \ "", \ "" ) @@ -10474,6 +10706,14 @@ "", \ "" ) +#:def_cmd_opt( "XALL", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "XALL", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "XALL", "PATCH_BMG", \ "", \ "" ) @@ -11045,6 +11285,14 @@ "", \ "" ) +#:def_cmd_opt( "KCL", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "KCL", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "KCL", "PATCH_BMG", \ "", \ "" ) @@ -11249,6 +11497,14 @@ "", \ "" ) +#:def_cmd_opt( "KMP", "LEX_FEATURES", \ + "", \ + "" ) + +#:def_cmd_opt( "KMP", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "KMP", "PATCH_BMG", \ "", \ "" ) @@ -11631,12 +11887,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -12914,12 +13176,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -14302,12 +14570,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -15329,12 +15603,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -17858,12 +18138,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -19955,12 +20241,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -20123,6 +20415,11 @@ "Delete LEX sections without any impact. This option is executed after" \ " all --lt-* options." ) +#:def_opt( "LEX_RM_FEAT", "rm-features|rmfeatures|lex-rm-features|lexrmfeatures", "G", \ + "", \ + "Remove LEX setion FEAT (features) if exists. It is executed after" \ + " --lex-purge. {--lex-rm-features} is an alternative name." ) + #:def_opt( "TEST", "t|test", "GM", \ "", \ "Run in test mode, modify nothing.\n" \ @@ -20933,6 +21230,10 @@ "", \ "" ) +#:def_cmd_opt( "CREATE", "LEX_RM_FEAT", \ + "", \ + "" ) + #:def_cmd_opt( "CREATE", "LE_DEFINE", \ "", \ "" ) @@ -21385,12 +21686,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -22672,12 +22979,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -23318,12 +23631,18 @@ #:def_opt( "LOGGING", "L|logging", "GM", \ "", \ "This debug option enables the logging of internal lists and maps. Set" \ - " it up to three times to be more verbose.\n" ) + " it up to three times to be more verbose." ) + +#:def_opt( "EXT_ERRORS", "Y|extended-errors|extendederrors|xerr", "GM", \ + "", \ + "Enable extended error messages. This includes a source file and line" \ + " reference. Logging level 1 activates it too. @--xerr@ is a short" \ + " cut." ) #:def_opt( "TIMING", "timing", "GM", \ "", \ "Activate the timing of some operations. Logging level 3 activates" \ - " them too.\n" ) + " them too." ) #:def_opt( "WARN", "W|warn", "GP", \ "list", \ @@ -23952,6 +24271,10 @@ "", \ "" ) +#:def_cmd_opt( "HEXDUMP", "EXT_ERRORS", \ + "", \ + "" ) + #:def_cmd_opt( "HEXDUMP", "TIMING", \ "", \ "" ) |
