aboutsummaryrefslogtreecommitdiff
path: root/project/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'project/src/ui')
-rw-r--r--project/src/ui/gen-ui.c2
-rw-r--r--project/src/ui/tab-wbmgt.inc5
-rw-r--r--project/src/ui/tab-wctct.inc5
-rw-r--r--project/src/ui/tab-wimgt.inc5
-rw-r--r--project/src/ui/tab-wkclt.inc53
-rw-r--r--project/src/ui/tab-wkmpt.inc5
-rw-r--r--project/src/ui/tab-wlect.inc12
-rw-r--r--project/src/ui/tab-wmdlt.inc5
-rw-r--r--project/src/ui/tab-wpatt.inc5
-rw-r--r--project/src/ui/tab-wstrt.inc25
-rw-r--r--project/src/ui/tab-wszst.inc73
-rw-r--r--project/src/ui/ui-wbmgt.c26
-rw-r--r--project/src/ui/ui-wbmgt.h6
-rw-r--r--project/src/ui/ui-wctct.c26
-rw-r--r--project/src/ui/ui-wctct.h6
-rw-r--r--project/src/ui/ui-wimgt.c27
-rw-r--r--project/src/ui/ui-wimgt.h6
-rw-r--r--project/src/ui/ui-wkclt.c366
-rw-r--r--project/src/ui/ui-wkclt.h35
-rw-r--r--project/src/ui/ui-wkmpt.c28
-rw-r--r--project/src/ui/ui-wkmpt.h6
-rw-r--r--project/src/ui/ui-wlect.c202
-rw-r--r--project/src/ui/ui-wlect.h12
-rw-r--r--project/src/ui/ui-wmdlt.c27
-rw-r--r--project/src/ui/ui-wmdlt.h6
-rw-r--r--project/src/ui/ui-wpatt.c27
-rw-r--r--project/src/ui/ui-wpatt.h6
-rw-r--r--project/src/ui/ui-wstrt.c161
-rw-r--r--project/src/ui/ui-wstrt.h13
-rw-r--r--project/src/ui/ui-wszst.c708
-rw-r--r--project/src/ui/ui-wszst.h23
-rw-r--r--project/src/ui/ui.def377
-rw-r--r--project/src/ui/ui.h2
33 files changed, 1600 insertions, 691 deletions
diff --git a/project/src/ui/gen-ui.c b/project/src/ui/gen-ui.c
index 7563642..40a35a7 100644
--- a/project/src/ui/gen-ui.c
+++ b/project/src/ui/gen-ui.c
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc
index 40a02fa..753342c 100644
--- a/project/src/ui/tab-wbmgt.inc
+++ b/project/src/ui/tab-wbmgt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -221,6 +221,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc
index 33e5203..bb24731 100644
--- a/project/src/ui/tab-wctct.inc
+++ b/project/src/ui/tab-wctct.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -208,6 +208,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wimgt.inc b/project/src/ui/tab-wimgt.inc
index 6c572fc..3ab70bd 100644
--- a/project/src/ui/tab-wimgt.inc
+++ b/project/src/ui/tab-wimgt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -178,6 +178,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wkclt.inc b/project/src/ui/tab-wkclt.inc
index 682dd7b..2a137c8 100644
--- a/project/src/ui/tab-wkclt.inc
+++ b/project/src/ui/tab-wkclt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -169,6 +169,17 @@
" If the flag file already exists, only missing group names"
" are added at the end of file." },
+ { H_DEF_CMD, "TYPES", "TYPES",
+ "wkclt TYPES arg...",
+ "Print a line with KCL flag details for each argument."
+ " ARG is a comma or space separated list of a optional BASEVAL"
+ " and a list of TERMS. BASEVAL can be any hexa-decimal number."
+ " The format of TERMS is @X[=]VALUE@."
+ " So a TERM begin with letter @T@ (Type), @V@ (Value) or a group"
+ " identifier (W, X,Y or Z), followed by an optional equal sign"
+ " and finished by a decimal number."
+ " It overrides the related part of BASEVAL." },
+
{ T_DEF_CMD, "FLAGS", "FLAGS|F",
"wkclt FLAGS source...",
"Print a KCL type and flag usage statistic for each source"
@@ -226,6 +237,11 @@
" Hints and warnings are written to standard output."
" The exit status is @'DIFFER'@ if at least one KMP warning found." },
+ { T_DEF_CMD, "SHA1", "SHA1",
+ "wszst SHA1 [source]...",
+ "Print a SHA1 checksum of the KCL for each source."
+ " The checksum is calculated after patching." },
+
{ H_DEF_CMD, "ANALYZE", "ANALYZE",
"wkclt ANALYZE source...",
"Analyze some KCL data." },
@@ -275,6 +291,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
@@ -367,6 +386,18 @@
{ T_OPT_CP, "SLOT", "slot",
0, 0 /* copy of wszst */ },
+ { T_OPT_C, "ID", "id",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_CO, "BASE64", "base64",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_CO, "DB64", "db64",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_CP, "CODING", "coding",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "ROUND", "round",
0, 0 /* copy of wszst */ },
@@ -701,6 +732,13 @@
{ T_COPT, "CONST", 0,0,0 },
{ T_COPT, "FLAG_FILE", 0,0,0 },
+ //---------- COMMAND wkclt TYPES ----------
+
+ { T_CMD_BEG, "TYPES", 0,0,0 },
+ { T_COPT, "NO_HEADER", 0,0,0 },
+ { T_COPT, "BRIEF", 0,0,
+ "Print only the resulting flag." },
+
//---------- COMMAND wkclt FLAGS ----------
{ T_CMD_BEG, "FLAGS", 0,0,0 },
@@ -795,6 +833,19 @@
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ //---------- COMMAND wkclt SHA1 ----------
+
+ { T_CMD_BEG, "SHA1", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_COPT, "ID", 0,0,0 },
+ { T_COPT, "BASE64", 0,0,0 },
+ { T_COPT, "DB64", 0,0,0 },
+ { T_COPT, "CODING", 0,0,0 },
+ { T_COPT, "BRIEF", 0,0,
+ "Suppress output of the filename." },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "TRANSFORM", 0,0,0 },
+
//---------- COMMAND wkclt ANALYZE ----------
{ T_CMD_BEG, "ANALYZE", 0,0,0 },
diff --git a/project/src/ui/tab-wkmpt.inc b/project/src/ui/tab-wkmpt.inc
index ace5125..0b2a49a 100644
--- a/project/src/ui/tab-wkmpt.inc
+++ b/project/src/ui/tab-wkmpt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -275,6 +275,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc
index 1aba6e5..d5ac35d 100644
--- a/project/src/ui/tab-wlect.inc
+++ b/project/src/ui/tab-wlect.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -231,6 +231,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
@@ -426,6 +429,12 @@
" The file format can be LE-BIN or any supported CT-CODE file"
" (BRRES, TEX0, CT-CODE or CT-TEXT)." },
+ { H_OPT_CP, "LE_ARENA", "le-arena|learena",
+ "file",
+ "Use this file to define property and music defaults for arenas."
+ " The file format can be an text file."
+ " Option {--le-define} may override these defaults." },
+
{ T_OPT_CP, "LPAR", "lpar",
"file",
"Read a LPAR file to overwrite settings of LE-CODE section LPAR." },
@@ -637,6 +646,7 @@
{ T_GRP_BEG, "PATCH", 0,0,0 },
{ T_COPT, "LE_DEFINE", 0,0,0 },
+ { H_COPT, "LE_ARENA", 0,0,0 },
{ T_COPT, "LPAR", 0,0,0 },
{ T_COPT, "ALIAS", 0,0,0 },
{ T_COPY_GRP, "PARAM", 0,0,0 },
diff --git a/project/src/ui/tab-wmdlt.inc b/project/src/ui/tab-wmdlt.inc
index ced4e6a..85018fd 100644
--- a/project/src/ui/tab-wmdlt.inc
+++ b/project/src/ui/tab-wmdlt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -201,6 +201,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wpatt.inc b/project/src/ui/tab-wpatt.inc
index 5b7e71a..b2f193e 100644
--- a/project/src/ui/tab-wpatt.inc
+++ b/project/src/ui/tab-wpatt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -169,6 +169,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc
index 3bef0fb..4015738 100644
--- a/project/src/ui/tab-wstrt.inc
+++ b/project/src/ui/tab-wstrt.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -116,10 +116,11 @@
" Keywords are @PAL@ (default), @USA@, @JAPAN@, @KOREA@, or any abbreviation of them."
" They select the region for the following addresses."
" The hex numbers (with or without @0x@ prefix) are interpreted as addresses."
- " If possible, they are ported to all other regions."
+ " If an address begins with @m@ or @s@,"
+ " then it is interpreted as a file offset for @main.dol@ or @staticr.rel@."
+ " All addresses are ported to all other regions."
" The result is printed as colorized table."
- "\n"
- " This address porting is EXPERIMENTAL!" },
+ "\1 See https://szs.wiimm.de/cmd/wstrt/port for more details." },
{ T_DEF_CMD, "WHERE", "WHERE",
"wstrt WHERE address...",
@@ -129,7 +130,8 @@
" The result is output as a human and machine readable table."
"\n "
" This command is well suited to converting addresses"
- " into file offsets and vice versa." },
+ " into file offsets and vice versa."
+ "\1 See https://szs.wiimm.de/cmd/wstrt/where for more details." },
{ H_DEF_CMD, "HTTPS", "_HTTPS",
"wstrt _HTTPS file...",
@@ -230,6 +232,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "WARN", "W|warn",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "DE", "de",
0, 0 /* copy of wszst */ },
@@ -660,7 +665,13 @@
{ T_OPT_C, "NO_0X", "0|no-0x|no0x",
0,
- "Suppress 0x prefix of hex numbers." },
+ "Suppress 0x prefix of hex numbers."
+ " This is the default for cheat codes." },
+
+ { T_OPT_C, "UPPER", "U|upper",
+ 0,
+ "Print digits A-F of hex numbers in upper case."
+ " This is the default for cheat codes." },
{ T_SEP_OPT, 0,0,0,0 }, //----- separator -----
@@ -995,6 +1006,7 @@
{ T_COPT, "PORT_DB", 0,0,0 },
{ T_COPT, "ORDER", 0,0,0 },
{ T_COPT, "NO_0X", 0,0,0 },
+ { T_COPT, "UPPER", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,
"Suppress the table header and footer and output exactly 1 line for"
" each specified address. This makes the output more machine-readable." },
@@ -1008,6 +1020,7 @@
{ T_CMD_BEG, "WHERE", 0,0,0 },
{ T_COPT, "ORDER", 0,0,0 },
{ T_COPT, "NO_0X", 0,0,0 },
+ { T_COPT, "UPPER", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,
"Suppress the table header and footer and output exactly 1 line for"
" each specified address. This makes the output more machine-readable." },
diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc
index 8220457..d836fdf 100644
--- a/project/src/ui/tab-wszst.inc
+++ b/project/src/ui/tab-wszst.inc
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -226,6 +226,11 @@
"This hidden command exports some definitions to standard output."
" Use keyword @HELP@ to get a list of possible keywords." },
+ { H_DEF_CMD, "SIZEOF", "SIZEOF",
+ "wszst SIZEOF key...",
+ "This hidden command prints a list with the size of"
+ " data structures and variables." },
+
{ H_DEF_CMD, "CODE", "_CODE",
"wszst _CODE [files]",
"All bytes of all input files are xor'ed with 0xDC and copied to stdout."
@@ -340,15 +345,28 @@
{ T_DEF_CMD, "SHA1", "SHA1",
"wszst SHA1 [source]...",
"Print a SHA1 checksum for each source."
- " The checksum is calculated by using the uncompressed data." },
+ " The checksum is calculated by using the uncompressed data"
+ " and after patching." },
{ T_DEF_CMD, "ANALYZE", "ANALYZE|ANA|ANALYSE",
"wszst ANALYZE [source]...",
"Analyse track files and print results in machine readable format." },
+ { T_DEF_CMD, "IS_TEXTURE", "IS-TEXTURE|ISTEXTURE",
+ "wszst IS-TEXTURE --reference reference [source]...",
+ "Test each source to see if it's a texture hack versus a reference file."
+ " For each source, one human and machine readable status line is printed."
+ " It is either »-1=err« on error, »1=yes« for a texture hack,"
+ " or »0=no LIST« with a comma separated list of reasons."
+ "\n "
+ " At the moment KCL, KMP (see notes) and LEX are checked."
+ " KMP section CAME has been intentionally left out."
+ " Section ENPT is only checked if KCL contains a least one face"
+ " of type force-recalculation." },
+
{ H_DEF_CMD, "FEATURES", "FEATURES",
"wszst FEATURES [source]...",
- "Analyse track files and a feature list in machine readable format." },
+ "Analyse track files and create a feature list in machine readable format." },
{ T_DEF_CMD, "DISTRIBUTION", "DISTRIBUTION|DIST",
"wszst DISTRIBUTION result source...\n"
@@ -673,9 +691,8 @@
"MAX_WIDTH", "max-width|maxwidth",
"maxwidth",
"Define the maximum terminal width (number of columns)"
- " for help and some other messages"
- " and disable the automatic detection of the terminal width."
- " This option is ignored if {--width} is set." },
+ " for help and some other messages."
+ " The default is 120. This option is ignored if --width is set." },
{ T_OPT_GM, "QUIET", "q|quiet",
0,
@@ -695,6 +712,20 @@
0,
"This debug option enables the logging of internal lists and maps." },
+ { T_OPT_GP, "WARN", "W|warn",
+ "list",
+ "Enable or disable warnings."
+ " Parameter @'list'@ is a comma separated list of keywords."
+ " A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning"
+ " and all other warnings are untouched."
+ "\n "
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and @ALL@ enables all."
+ " The other allowed keywords are:"
+ " @INVALID-OFFSET@."
+ // "\1 See https://szs.wiimm.de/opt/warn for details."
+ },
+
{ T_OPT_G, "DE", "de",
0,
"Use german track and arena names." },
@@ -1017,7 +1048,7 @@
"@MODE@ is either @OFF@, @AUTO@ (default) or @ON@."
" Without value, @ON@ is used."
"\n "
- " If mode is @ON@, assume a battle arena and enable a spüecial battle support."
+ " If mode is @ON@, assume a battle arena and enable a special battle support."
" If mode is @OFF@, disable special battle arena support."
" If mode is @AUTO@, analyse the KMP and estimate, if it is a battle areana."
" Modes @ON@ and @OFF@ override KMP parameter @BATTLE-MODE@." },
@@ -1519,7 +1550,7 @@
{ T_OPT_CP, "CODING", "coding",
"mode",
"Define the coding of the non alphanumeric characters for BASE64:"
- " STANDART (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)." },
+ " STANDARD (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)." },
{ T_OPT_C, "VERIFY", "verify",
0,
@@ -1955,6 +1986,10 @@
"\1 Read https://szs.wiimm.de/opt/source for more details." },
+ { T_OPT_CP, "REFERENCE", "ref|reference",
+ "path",
+ "Define a reference SZS." },
+
{ T_OPT_CP, "DEST", "d|dest",
"path",
"Define a destination path (directory/file)."
@@ -2796,6 +2831,16 @@
{ T_CMD_BEG, "EXPORT", 0,0,0 },
+ //---------- COMMAND wszst _SIZEOF ----------
+
+ { T_CMD_BEG, "SIZEOF", 0,0,0 },
+ { T_COPT, "SORT", 0,0,
+ "Define a sort mode. Keywords are:"
+ " @NONE@ (default), @NAME@ end @SIZE@." },
+ { T_COPT, "BRIEF", 0,0,
+ "Limit output to SZS specific data." },
+ { T_COPT, "LOGGING", 0,0,0 },
+
//---------- COMMAND wszst _CODE ----------
{ T_CMD_BEG, "CODE", 0,0,0 },
@@ -2981,9 +3026,19 @@
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "SCRIPT", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "REFERENCE", 0,0,0 },
{ T_COPT, "DEST", 0,0,0 },
{ T_COPT, "DEST2", 0,0,0 },
+ //---------- COMMAND wszst IS_TEXTURE ----------
+
+ { T_CMD_BEG, "IS_TEXTURE", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_COPT, "REFERENCE", 0,0,0 },
+ { T_COPT, "BATTLE", 0,0,0 },
+ { T_COPT, "LONG", 0,0,
+ "Append a colon and the filename after each status." },
+
//---------- COMMAND wszst FEATURES ----------
{ T_CMD_BEG, "FEATURES", 0,0,0 },
@@ -2992,7 +3047,7 @@
" If set twice, suppress empty lines (for grouping) too."
" If set three times, omit inactive features (=0) too." },
{ T_COPT, "LONG", 0,0,
- "Print additnal comments." },
+ "Print additional comments." },
{ T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "QUIET", 0,0,
"Suppress logging of input and output files." },
diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c
index 29ef8b5..aa991c4 100644
--- a/project/src/ui/ui-wbmgt.c
+++ b/project/src/ui/ui-wbmgt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -349,8 +349,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -371,6 +371,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -531,7 +541,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 == 63
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 64
};
@@ -660,7 +670,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHBM:T:A:td:D:E:orupiP:1X";
+static const char OptionShort[] = "VhqvLW:c:lHBM:T:A:td:D:E:orupiP:1X";
static const struct option OptionLong[] =
{
@@ -677,6 +687,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -803,7 +814,7 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,
+ /* 0x057 W */ OPT_WARN,
/* 0x058 X */ OPT_EXPORT,
/* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0,
/* 0x063 c */ OPT_CONST,
@@ -1029,6 +1040,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1410,7 +1422,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,
- 25,
+ 26,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wbmgt.h b/project/src/ui/ui-wbmgt.h
index e957987..855342f 100644
--- a/project/src/ui/ui-wbmgt.h
+++ b/project/src/ui/ui-wbmgt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -103,6 +103,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -124,7 +125,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 63
+ OPT__N_TOTAL // == 64
} enumOptions;
@@ -350,6 +351,7 @@ typedef enum enumGetOpt
GO_PATCH_BMG = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_EXPORT = 'X',
GO_CONST = 'c',
diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c
index 10469ab..1344aa3 100644
--- a/project/src/ui/ui-wctct.c
+++ b/project/src/ui/ui-wctct.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -449,8 +449,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -471,6 +471,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -662,7 +672,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 == 82
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 83
};
@@ -851,7 +861,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHB1XPNM:T:A:td:D:E:orupi";
+static const char OptionShort[] = "VhqvLW:c:lHB1XPNM:T:A:td:D:E:orupi";
static const struct option OptionLong[] =
{
@@ -868,6 +878,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -1021,7 +1032,7 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,
+ /* 0x057 W */ OPT_WARN,
/* 0x058 X */ OPT_EXPORT,
/* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0,
/* 0x063 c */ OPT_CONST,
@@ -1264,6 +1275,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1642,7 +1654,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,
- 27,
+ 28,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h
index f943d52..532b082 100644
--- a/project/src/ui/ui-wctct.h
+++ b/project/src/ui/ui-wctct.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -118,6 +118,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -143,7 +144,7 @@ typedef enum enumOptions
OPT_CT_LOG,
OPT_ALLOW_SLOTS,
- OPT__N_TOTAL // == 82
+ OPT__N_TOTAL // == 83
} enumOptions;
@@ -420,6 +421,7 @@ typedef enum enumGetOpt
GO_NO_PARAM = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_EXPORT = 'X',
GO_CONST = 'c',
diff --git a/project/src/ui/ui-wimgt.c b/project/src/ui/ui-wimgt.c
index 367da79..7ffff1c 100644
--- a/project/src/ui/ui-wimgt.c
+++ b/project/src/ui/ui-wimgt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -312,8 +312,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -334,6 +334,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -482,7 +492,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 == 56
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 57
};
@@ -601,7 +611,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHBM:T:A:td:D:E:orupiaP:x:";
+static const char OptionShort[] = "VhqvLW:c:lHBM:T:A:td:D:E:orupiaP:x:";
static const struct option OptionLong[] =
{
@@ -618,6 +628,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -726,7 +737,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,0,0,0, 0,0,0,0, 0,0,
+ /* 0x057 W */ OPT_WARN,
+ /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,
/* 0x061 a */ OPT_ALL,
/* 0x062 */ 0,
/* 0x063 c */ OPT_CONST,
@@ -896,6 +908,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1175,7 +1188,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,
- 22,
+ 23,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wimgt.h b/project/src/ui/ui-wimgt.h
index 93bb369..4595e8e 100644
--- a/project/src/ui/ui-wimgt.h
+++ b/project/src/ui/ui-wimgt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -97,6 +97,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -117,7 +118,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 56
+ OPT__N_TOTAL // == 57
} enumOptions;
@@ -282,6 +283,7 @@ typedef enum enumGetOpt
GO_PATCH = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_ALL = 'a',
GO_CONST = 'c',
diff --git a/project/src/ui/ui-wkclt.c b/project/src/ui/ui-wkclt.c
index 9670bbd..adcb273 100644
--- a/project/src/ui/ui-wkclt.c
+++ b/project/src/ui/ui-wkclt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -261,6 +261,34 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" See https://szs.wiimm.de/opt/slot for details."
},
+ { OPT_ID, false, false, false, false, false, 0, "id",
+ 0,
+ "Print an ID with 8 characters instead of a SHA-1 sum with 40"
+ " characters. The SHA-1 sum is used to calculate the ID. The ID"
+ " consists of '0'-'9' and 'a'-'w' (32 characters)."
+ },
+
+ { OPT_BASE64, true, false, false, false, false, 0, "base64",
+ "[=mode]",
+ "Encode the the checksum string as BASE64 with 27 characters instead"
+ " of hex. If a parameter is set, it acts like --coding=mode."
+ },
+
+ { OPT_DB64, true, false, false, false, false, 0, "db64",
+ "[=mode]",
+ "Encode the the checksum string and some length as BASE64 with 32"
+ " characters instead of hex for database searches. This options"
+ " implies --coding=URL if no other coding is defined. If a parameter"
+ " is set, it acts like --coding=mode. Option --db64 has priority over"
+ " --base64."
+ },
+
+ { OPT_CODING, false, false, false, false, false, 0, "coding",
+ "mode",
+ "Define the coding of the non alphanumeric characters for BASE64:"
+ " STANDARD (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)."
+ },
+
{ OPT_ROUND, false, false, false, false, false, 0, "round",
0,
"Print additional lines with rounded values (to 3 and 2 bytes for"
@@ -365,7 +393,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 == 37
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 41
//----- global options -----
@@ -421,8 +449,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -443,6 +471,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -642,7 +680,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 == 72
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 77
};
@@ -773,6 +811,12 @@ static const InfoOption_t option_cmd_CFF_BRIEF =
"Suppress the comments with the alternative expression formats."
};
+static const InfoOption_t option_cmd_TYPES_BRIEF =
+ { OPT_BRIEF, false, false, false, false, false, 'B', "brief",
+ 0,
+ "Print only the resulting flag."
+ };
+
static const InfoOption_t option_cmd_FLAGS_BRIEF =
{ OPT_BRIEF, false, false, false, false, false, 'B', "brief",
0,
@@ -851,6 +895,12 @@ static const InfoOption_t option_cmd_CHECK_QUIET =
"Be quiet until the first warning or hint is found."
};
+static const InfoOption_t option_cmd_SHA1_BRIEF =
+ { OPT_BRIEF, false, false, false, false, false, 'B', "brief",
+ 0,
+ "Suppress output of the filename."
+ };
+
//
///////////////////////////////////////////////////////////////////////////////
@@ -880,6 +930,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_ENCODE, "ENCODE", "ENC", 0 },
{ CMD_COPY, "COPY", "CP", 0 },
{ CMD_CFF, "CFF", 0, 0 },
+ { CMD_TYPES, "TYPES", 0, 0 },
{ CMD_FLAGS, "FLAGS", "F", 0 },
{ CMD_DUMP, "DUMP", "D", 0 },
{ CMD_DBRIEF, "DBRIEF", "DB", 0 },
@@ -888,6 +939,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_TRAVERSE, "TRAVERSE", 0, 0 },
{ CMD_FALL, "FALL", 0, 0 },
{ CMD_CHECK, "CHECK", "CHK", 0 },
+ { CMD_SHA1, "SHA1", 0, 0 },
{ CMD_ANALYZE, "ANALYZE", 0, 0 },
{ CMD_BLOW, "BLOW", 0, 0 },
@@ -899,7 +951,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHBPNM:T:A:td:D:E:orupi";
+static const char OptionShort[] = "VhqvLW:c:lHBPNM:T:A:td:D:E:orupi";
static const struct option OptionLong[] =
{
@@ -916,6 +968,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -961,6 +1014,10 @@ static const struct option OptionLong[] =
{ "xtridata", 2, 0, GO_XTRIDATA },
{ "xtri", 2, 0, GO_XTRIDATA },
{ "slot", 1, 0, GO_SLOT },
+ { "id", 0, 0, GO_ID },
+ { "base64", 2, 0, GO_BASE64 },
+ { "db64", 2, 0, GO_DB64 },
+ { "coding", 1, 0, GO_CODING },
{ "round", 0, 0, GO_ROUND },
{ "long", 0, 0, 'l' },
{ "no-header", 0, 0, 'H' },
@@ -1040,7 +1097,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x057 W */ OPT_WARN,
+ /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0,
/* 0x063 c */ OPT_CONST,
/* 0x064 d */ OPT_DEST,
/* 0x065 */ 0,0,0,
@@ -1093,20 +1151,24 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x0a0 */ OPT_FLAG_FILE,
/* 0x0a1 */ OPT_XTRIDATA,
/* 0x0a2 */ OPT_SLOT,
- /* 0x0a3 */ OPT_ROUND,
- /* 0x0a4 */ OPT_NO_ECHO,
- /* 0x0a5 */ OPT_UTF_8,
- /* 0x0a6 */ OPT_NO_UTF_8,
- /* 0x0a7 */ OPT_FORCE,
- /* 0x0a8 */ OPT_REPAIR_MAGICS,
- /* 0x0a9 */ OPT_TINY,
- /* 0x0aa */ OPT_OLD,
- /* 0x0ab */ OPT_STD,
- /* 0x0ac */ OPT_NEW,
- /* 0x0ad */ OPT_EXTRACT,
- /* 0x0ae */ OPT_NUMBER,
- /* 0x0af */ OPT_SECTIONS,
- /* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x0a3 */ OPT_ID,
+ /* 0x0a4 */ OPT_BASE64,
+ /* 0x0a5 */ OPT_DB64,
+ /* 0x0a6 */ OPT_CODING,
+ /* 0x0a7 */ OPT_ROUND,
+ /* 0x0a8 */ OPT_NO_ECHO,
+ /* 0x0a9 */ OPT_UTF_8,
+ /* 0x0aa */ OPT_NO_UTF_8,
+ /* 0x0ab */ OPT_FORCE,
+ /* 0x0ac */ OPT_REPAIR_MAGICS,
+ /* 0x0ad */ OPT_TINY,
+ /* 0x0ae */ OPT_OLD,
+ /* 0x0af */ OPT_STD,
+ /* 0x0b0 */ OPT_NEW,
+ /* 0x0b1 */ OPT_EXTRACT,
+ /* 0x0b2 */ OPT_NUMBER,
+ /* 0x0b3 */ OPT_SECTIONS,
+ /* 0x0b4 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1122,184 +1184,196 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[37] = // cmd #1
+static u8 option_allowed_cmd_VERSION[41] = // cmd #1
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,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, 1,0,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_HELP[37] = // cmd #2
+static u8 option_allowed_cmd_HELP[41] = // 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
};
-static u8 option_allowed_cmd_CONFIG[37] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[41] = // cmd #3
{
- 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,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ARGTEST[37] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[41] = // cmd #4
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_TEST[37] = // cmd #5
+static u8 option_allowed_cmd_TEST[41] = // 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
};
-static u8 option_allowed_cmd_COLORS[37] = // cmd #6
+static u8 option_allowed_cmd_COLORS[41] = // cmd #6
{
- 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,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ERROR[37] = // cmd #7
+static u8 option_allowed_cmd_ERROR[41] = // cmd #7
{
- 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,1
+ 0,0,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, 1
};
-static u8 option_allowed_cmd_FILETYPE[37] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[41] = // cmd #8
{
- 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, 1,0
+ 0,0,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,1, 0
};
-static u8 option_allowed_cmd_FILEATTRIB[37] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[41] = // cmd #9
{
- 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,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_SYMBOLS[37] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[41] = // cmd #10
{
- 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,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FUNCTIONS[37] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[41] = // cmd #11
{
- 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, 1,1,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_CALCULATE[37] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[41] = // 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
};
-static u8 option_allowed_cmd_MATRIX[37] = // cmd #13
+static u8 option_allowed_cmd_MATRIX[41] = // cmd #13
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,0,1,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, 0,0,0,0,0, 1,0,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FLOAT[37] = // cmd #14
+static u8 option_allowed_cmd_FLOAT[41] = // cmd #14
{
- 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,1, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_EXPORT[37] = // cmd #15
+static u8 option_allowed_cmd_EXPORT[41] = // 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
+};
+
+static u8 option_allowed_cmd_CAT[41] = // cmd #16
+{
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_CAT[37] = // cmd #16
+static u8 option_allowed_cmd_DECODE[41] = // cmd #17
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
+ 1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_DECODE[37] = // cmd #17
+static u8 option_allowed_cmd_ENCODE[41] = // cmd #18
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,1,
- 1,1,1,1,1, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
+ 1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_ENCODE[37] = // cmd #18
+static u8 option_allowed_cmd_COPY[41] = // cmd #19
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,1,
- 1,1,1,1,1, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
+ 1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_COPY[37] = // cmd #19
+static u8 option_allowed_cmd_CFF[41] = // cmd #20
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 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, 1,0,1,0,1,
+ 1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_CFF[37] = // cmd #20
+static u8 option_allowed_cmd_TYPES[41] = // cmd #21
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,1,0,1,0, 1,1,1,1,1,
- 1,1,1,1,1, 1,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FLAGS[37] = // cmd #21
+static u8 option_allowed_cmd_FLAGS[41] = // cmd #22
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,0, 0,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,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,1,1,0,0,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_DUMP[37] = // cmd #22
+static u8 option_allowed_cmd_DUMP[41] = // cmd #23
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,0,1,0, 0,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,0,1,0,0,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_DBRIEF[37] = // cmd #23
+static u8 option_allowed_cmd_DBRIEF[41] = // cmd #24
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,0,1,0, 0,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,0,1,0,0,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_LIST[37] = // cmd #24
+static u8 option_allowed_cmd_LIST[41] = // cmd #25
{
- 0,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,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,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,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_TRIANGLES[37] = // cmd #25
+static u8 option_allowed_cmd_TRIANGLES[41] = // cmd #26
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,0,1,0, 0,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,0,1,0,0,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_TRAVERSE[37] = // cmd #26
+static u8 option_allowed_cmd_TRAVERSE[41] = // cmd #27
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,0,1,0, 0,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,0,1,0,0,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_FALL[37] = // cmd #27
+static u8 option_allowed_cmd_FALL[41] = // cmd #28
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,0,1,0, 0,1,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 1,0,1,0,0,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_CHECK[37] = // cmd #28
+static u8 option_allowed_cmd_CHECK[41] = // cmd #29
{
- 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, 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,0, 0,0,0,0,0, 1,0,1,0,1,
+ 1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_ANALYZE[37] = // cmd #29
+static u8 option_allowed_cmd_SHA1[41] = // cmd #30
+{
+ 0,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,0,0,
+ 0,0,0,0,0, 0,0,0,0,1, 0
+};
+
+static u8 option_allowed_cmd_ANALYZE[41] = // cmd #31
{
0,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, 1,0
+ 0,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_BLOW[37] = // cmd #30
+static u8 option_allowed_cmd_BLOW[41] = // cmd #32
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0
+ 0,0,0,0,0, 0,0,0,0,1, 0
};
@@ -1321,6 +1395,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1688,6 +1763,14 @@ static const InfoOption_t * option_tab_cmd_CFF[] =
0
};
+static const InfoOption_t * option_tab_cmd_TYPES[] =
+{
+ OptionInfo + OPT_NO_HEADER,
+ &option_cmd_TYPES_BRIEF,
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_FLAGS[] =
{
OptionInfo + OPT_NO_HEADER,
@@ -1952,6 +2035,44 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
0
};
+static const InfoOption_t * option_tab_cmd_SHA1[] =
+{
+ OptionInfo + OPT_IGNORE,
+ OptionInfo + OPT_ID,
+ OptionInfo + OPT_BASE64,
+ OptionInfo + OPT_DB64,
+ OptionInfo + OPT_CODING,
+ &option_cmd_SHA1_BRIEF,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_CONST,
+ OptionInfo + OPT_SCALE,
+ OptionInfo + OPT_SHIFT,
+ OptionInfo + OPT_XSS,
+ OptionInfo + OPT_YSS,
+ OptionInfo + OPT_ZSS,
+ OptionInfo + OPT_ROT,
+ OptionInfo + OPT_XROT,
+ OptionInfo + OPT_YROT,
+ OptionInfo + OPT_ZROT,
+ OptionInfo + OPT_TRANSLATE,
+ OptionInfo + OPT_NULL,
+ OptionInfo + OPT_NEXT,
+ OptionInfo + OPT_ASCALE,
+ OptionInfo + OPT_AROT,
+ OptionInfo + OPT_TFORM_SCRIPT,
+ OptionInfo + OPT_KCL,
+ OptionInfo + OPT_KCL_FLAG,
+ OptionInfo + OPT_KCL_SCRIPT,
+ OptionInfo + OPT_TRI_AREA,
+ OptionInfo + OPT_TRI_HEIGHT,
+ OptionInfo + OPT_FLAG_FILE,
+ OptionInfo + OPT_SLOT,
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_ANALYZE[] =
{
OptionInfo + OPT_IGNORE,
@@ -2010,7 +2131,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms KCL Tool : Analyze, modify, export and create KCL and OBJ"
" files.",
0,
- 26,
+ 27,
option_tab_tool,
0
},
@@ -2358,6 +2479,26 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
option_allowed_cmd_CFF
},
+ { CMD_TYPES,
+ true,
+ false,
+ false,
+ "TYPES",
+ 0,
+ "wkclt TYPES arg...",
+ "Print a line with KCL flag details for each argument. ARG is a comma"
+ " or space separated list of a optional BASEVAL and a list of TERMS."
+ " BASEVAL can be any hexa-decimal number. The format of TERMS is"
+ " X[=]VALUE. So a TERM begin with letter T (Type), V (Value) or a"
+ " group identifier (W, X,Y or Z), followed by an optional equal sign"
+ " and finished by a decimal number. It overrides the related part of"
+ " BASEVAL.",
+ 0,
+ 2,
+ option_tab_cmd_TYPES,
+ option_allowed_cmd_TYPES
+ },
+
{ CMD_FLAGS,
false,
false,
@@ -2491,6 +2632,21 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
option_allowed_cmd_CHECK
},
+ { CMD_SHA1,
+ false,
+ false,
+ false,
+ "SHA1",
+ 0,
+ "wszst SHA1 [source]...",
+ "Print a SHA1 checksum of the KCL for each source. The checksum is"
+ " calculated after patching.",
+ 0,
+ 29,
+ option_tab_cmd_SHA1,
+ option_allowed_cmd_SHA1
+ },
+
{ CMD_ANALYZE,
true,
false,
diff --git a/project/src/ui/ui-wkclt.h b/project/src/ui/ui-wkclt.h
index a23e0d9..50c89ca 100644
--- a/project/src/ui/ui-wkclt.h
+++ b/project/src/ui/ui-wkclt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -75,6 +75,10 @@ typedef enum enumOptions
OPT_KCL_SCRIPT,
OPT_FLAG_FILE,
OPT_SLOT,
+ OPT_ID,
+ OPT_BASE64,
+ OPT_DB64,
+ OPT_CODING,
OPT_ROUND,
OPT_LONG,
OPT_NO_HEADER,
@@ -93,7 +97,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 37
+ OPT__N_SPECIFIC, // == 41
//----- global options -----
@@ -108,6 +112,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -133,7 +138,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 72
+ OPT__N_TOTAL // == 77
} enumOptions;
@@ -167,6 +172,10 @@ typedef enum enumOptions
// OB_KCL_SCRIPT = 1llu << OPT_KCL_SCRIPT,
// OB_FLAG_FILE = 1llu << OPT_FLAG_FILE,
// OB_SLOT = 1llu << OPT_SLOT,
+// OB_ID = 1llu << OPT_ID,
+// OB_BASE64 = 1llu << OPT_BASE64,
+// OB_DB64 = 1llu << OPT_DB64,
+// OB_CODING = 1llu << OPT_CODING,
// OB_ROUND = 1llu << OPT_ROUND,
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
@@ -285,6 +294,9 @@ typedef enum enumOptions
// | OB_IGNORE
// | OB_FLAG_FILE,
//
+// OB_CMD_TYPES = OB_NO_HEADER
+// | OB_BRIEF,
+//
// OB_CMD_FLAGS = OB_NO_HEADER
// | OB_NO_CHECK
// | OB_IGNORE
@@ -327,6 +339,14 @@ typedef enum enumOptions
// | OB_NO_CHECK
// | OB_IGNORE,
//
+// OB_CMD_SHA1 = OB_IGNORE
+// | OB_ID
+// | OB_BASE64
+// | OB_DB64
+// | OB_CODING
+// | OB_BRIEF
+// | OB_GRP_TRANSFORM,
+//
// OB_CMD_ANALYZE = OB_IGNORE
// | OB_GRP_TRANSFORM,
//
@@ -364,6 +384,7 @@ typedef enum enumCommands
CMD_ENCODE,
CMD_COPY,
CMD_CFF,
+ CMD_TYPES,
CMD_FLAGS,
CMD_DUMP,
CMD_DBRIEF,
@@ -372,11 +393,12 @@ typedef enum enumCommands
CMD_TRAVERSE,
CMD_FALL,
CMD_CHECK,
+ CMD_SHA1,
CMD_ANALYZE,
CMD_BLOW,
- CMD__N // == 31
+ CMD__N // == 33
} enumCommands;
@@ -400,6 +422,7 @@ typedef enum enumGetOpt
GO_NO_PARAM = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_CONST = 'c',
GO_DEST = 'd',
@@ -449,6 +472,10 @@ typedef enum enumGetOpt
GO_FLAG_FILE,
GO_XTRIDATA,
GO_SLOT,
+ GO_ID,
+ GO_BASE64,
+ GO_DB64,
+ GO_CODING,
GO_ROUND,
GO_NO_ECHO,
GO_UTF_8,
diff --git a/project/src/ui/ui-wkmpt.c b/project/src/ui/ui-wkmpt.c
index 3227bcd..3d566eb 100644
--- a/project/src/ui/ui-wkmpt.c
+++ b/project/src/ui/ui-wkmpt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -541,8 +541,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -563,6 +563,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -622,7 +632,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_BATTLE, true, false, false, false, false, 0, "battle",
"[=mode]",
"MODE is either OFF, AUTO (default) or ON. Without value, ON is used.\n"
- " If mode is ON, assume a battle arena and enable a spüecial battle"
+ " If mode is ON, assume a battle arena and enable a special battle"
" support. If mode is OFF, disable special battle arena support. If"
" mode is AUTO, analyse the KMP and estimate, if it is a battle"
" areana. Modes ON and OFF override KMP parameter BATTLE-MODE."
@@ -867,7 +877,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 == 93
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 94
};
@@ -1151,7 +1161,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:w:lHBXPGNM:T:A:td:D:E:orupi";
+static const char OptionShort[] = "VhqvLW:c:w:lHBXPGNM:T:A:td:D:E:orupi";
static const struct option OptionLong[] =
{
@@ -1168,6 +1178,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -1328,7 +1339,7 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,
+ /* 0x057 W */ OPT_WARN,
/* 0x058 X */ OPT_EXPORT,
/* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0,
/* 0x063 c */ OPT_CONST,
@@ -1629,6 +1640,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -2184,7 +2196,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms KMP Tool : Analyze, modify, export and create (compile) KMP"
" files.",
0,
- 35,
+ 36,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wkmpt.h b/project/src/ui/ui-wkmpt.h
index 7c0fbe2..a40d695 100644
--- a/project/src/ui/ui-wkmpt.h
+++ b/project/src/ui/ui-wkmpt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -120,6 +120,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -154,7 +155,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 93
+ OPT__N_TOTAL // == 94
} enumOptions;
@@ -435,6 +436,7 @@ typedef enum enumGetOpt
GO_NO_PARAM = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_EXPORT = 'X',
GO_CONST = 'c',
diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c
index ef0a3e4..1c67b0d 100644
--- a/project/src/ui/ui-wlect.c
+++ b/project/src/ui/ui-wlect.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -117,6 +117,13 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" CT-TEXT)."
},
+ { OPT_LE_ARENA, false, true, false, false, false, 0, "le-arena",
+ "file",
+ "Use this file to define property and music defaults for arenas. The"
+ " file format can be an text file. Option --le-define may override"
+ " these defaults."
+ },
+
{ OPT_LPAR, false, false, false, false, false, 0, "lpar",
"file",
"Read a LPAR file to overwrite settings of LE-CODE section LPAR."
@@ -351,7 +358,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 == 43
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 44
//----- global options -----
@@ -407,8 +414,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -429,6 +436,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -595,7 +612,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 == 77
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 79
};
@@ -756,7 +773,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHBXPM:tCd:D:E:orupi";
+static const char OptionShort[] = "VhqvLW:c:lHBXPM:tCd:D:E:orupi";
static const struct option OptionLong[] =
{
@@ -773,6 +790,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -833,6 +851,8 @@ static const struct option OptionLong[] =
{ "EXTRACT", 0, 0, GO_EXTRACT },
{ "le-define", 1, 0, GO_LE_DEFINE },
{ "ledefine", 1, 0, GO_LE_DEFINE },
+ { "le-arena", 1, 0, GO_LE_ARENA },
+ { "learena", 1, 0, GO_LE_ARENA },
{ "lpar", 1, 0, GO_LPAR },
{ "alias", 1, 0, GO_ALIAS },
{ "engine", 1, 0, GO_ENGINE },
@@ -916,7 +936,7 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x050 P */ OPT_NO_PARAM,
/* 0x051 */ 0,0,0,0, 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,
+ /* 0x057 W */ OPT_WARN,
/* 0x058 X */ OPT_EXPORT,
/* 0x059 */ 0,0,0,0, 0,0,0,0, 0,0,
/* 0x063 c */ OPT_CONST,
@@ -968,29 +988,30 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x09d */ OPT_NEW,
/* 0x09e */ OPT_EXTRACT,
/* 0x09f */ OPT_LE_DEFINE,
- /* 0x0a0 */ OPT_LPAR,
- /* 0x0a1 */ OPT_ALIAS,
- /* 0x0a2 */ OPT_ENGINE,
- /* 0x0a3 */ OPT_200CC,
- /* 0x0a4 */ OPT_PERFMON,
- /* 0x0a5 */ OPT_CUSTOM_TT,
- /* 0x0a6 */ OPT_XPFLAGS,
- /* 0x0a7 */ OPT_SPEEDOMETER,
- /* 0x0a8 */ OPT_DEBUG,
- /* 0x0a9 */ OPT_TRACK_DIR,
- /* 0x0aa */ OPT_COPY_TRACKS,
- /* 0x0ab */ OPT_MOVE_TRACKS,
- /* 0x0ac */ OPT_MOVE1_TRACKS,
- /* 0x0ad */ OPT_LINK_TRACKS,
- /* 0x0ae */ OPT_LOAD_BMG,
- /* 0x0af */ OPT_PATCH_BMG,
- /* 0x0b0 */ OPT_MACRO_BMG,
- /* 0x0b1 */ OPT_PATCH_NAMES,
- /* 0x0b2 */ OPT_ORDER_BY,
- /* 0x0b3 */ OPT_ORDER_ALL,
- /* 0x0b4 */ OPT_NUMBER,
- /* 0x0b5 */ OPT_SECTIONS,
- /* 0x0b6 */ 0,0,0,0, 0,0,0,0, 0,0,
+ /* 0x0a0 */ OPT_LE_ARENA,
+ /* 0x0a1 */ OPT_LPAR,
+ /* 0x0a2 */ OPT_ALIAS,
+ /* 0x0a3 */ OPT_ENGINE,
+ /* 0x0a4 */ OPT_200CC,
+ /* 0x0a5 */ OPT_PERFMON,
+ /* 0x0a6 */ OPT_CUSTOM_TT,
+ /* 0x0a7 */ OPT_XPFLAGS,
+ /* 0x0a8 */ OPT_SPEEDOMETER,
+ /* 0x0a9 */ OPT_DEBUG,
+ /* 0x0aa */ OPT_TRACK_DIR,
+ /* 0x0ab */ OPT_COPY_TRACKS,
+ /* 0x0ac */ OPT_MOVE_TRACKS,
+ /* 0x0ad */ OPT_MOVE1_TRACKS,
+ /* 0x0ae */ OPT_LINK_TRACKS,
+ /* 0x0af */ OPT_LOAD_BMG,
+ /* 0x0b0 */ OPT_PATCH_BMG,
+ /* 0x0b1 */ OPT_MACRO_BMG,
+ /* 0x0b2 */ OPT_PATCH_NAMES,
+ /* 0x0b3 */ OPT_ORDER_BY,
+ /* 0x0b4 */ OPT_ORDER_ALL,
+ /* 0x0b5 */ OPT_NUMBER,
+ /* 0x0b6 */ OPT_SECTIONS,
+ /* 0x0b7 */ 0,0,0,0, 0,0,0,0, 0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1006,154 +1027,154 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[43] = // cmd #1
+static u8 option_allowed_cmd_VERSION[44] = // cmd #1
{
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,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_HELP[43] = // cmd #2
+static u8 option_allowed_cmd_HELP[44] = // 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
};
-static u8 option_allowed_cmd_CONFIG[43] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[44] = // cmd #3
{
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
};
-static u8 option_allowed_cmd_ARGTEST[43] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[44] = // cmd #4
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_TEST[43] = // cmd #5
+static u8 option_allowed_cmd_TEST[44] = // 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
};
-static u8 option_allowed_cmd_COLORS[43] = // cmd #6
+static u8 option_allowed_cmd_COLORS[44] = // cmd #6
{
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
};
-static u8 option_allowed_cmd_ERROR[43] = // cmd #7
+static u8 option_allowed_cmd_ERROR[44] = // cmd #7
{
0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[43] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[44] = // cmd #8
{
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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[43] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[44] = // cmd #9
{
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
};
-static u8 option_allowed_cmd_SYMBOLS[43] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[44] = // cmd #10
{
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
};
-static u8 option_allowed_cmd_FUNCTIONS[43] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[44] = // cmd #11
{
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
};
-static u8 option_allowed_cmd_CALCULATE[43] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[44] = // cmd #12
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FLOAT[43] = // cmd #13
+static u8 option_allowed_cmd_FLOAT[44] = // cmd #13
{
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
};
-static u8 option_allowed_cmd_EXPORT[43] = // cmd #14
+static u8 option_allowed_cmd_EXPORT[44] = // cmd #14
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DPAD[43] = // cmd #15
+static u8 option_allowed_cmd_DPAD[44] = // 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
};
-static u8 option_allowed_cmd_DUMP[43] = // cmd #16
+static u8 option_allowed_cmd_DUMP[44] = // cmd #16
{
- 0,0,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DL[43] = // cmd #17
+static u8 option_allowed_cmd_DL[44] = // cmd #17
{
- 0,0,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DLL[43] = // cmd #18
+static u8 option_allowed_cmd_DLL[44] = // cmd #18
{
- 0,0,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_BIN_DIFF[43] = // cmd #19
+static u8 option_allowed_cmd_BIN_DIFF[44] = // cmd #19
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_PATCH[43] = // cmd #20
+static u8 option_allowed_cmd_PATCH[44] = // cmd #20
{
- 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,0,0,0,0,
- 0,0,0,1,1, 1,1,1,1,1, 1,1,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,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_LPAR[43] = // cmd #21
+static u8 option_allowed_cmd_LPAR[44] = // cmd #21
{
- 0,0,0,1,1, 1,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,1,1, 1,1,1,1,1, 1,1,0
+ 0,0,0,1,1, 1,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_CREATE[43] = // cmd #22
+static u8 option_allowed_cmd_CREATE[44] = // cmd #22
{
- 0,0,0,1,1, 1,0,1,1,1, 1,0,1,0,1, 1,1,1,1,1, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,1,1, 1,1,1,1,1, 1,1,0
+ 0,0,0,1,1, 1,0,1,1,1, 1,0,0,1,0, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_CAT[43] = // cmd #23
+static u8 option_allowed_cmd_CAT[44] = // cmd #23
{
- 0,0,0,1,1, 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,1,0
+ 0,0,0,1,1, 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,1,0
};
-static u8 option_allowed_cmd_DECODE[43] = // cmd #24
+static u8 option_allowed_cmd_DECODE[44] = // cmd #24
{
- 0,0,0,1,1, 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
- 0,0,0,1,1, 1,1,1,1,1, 1,1,0
+ 0,0,0,1,1, 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,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_ENCODE[43] = // cmd #25
+static u8 option_allowed_cmd_ENCODE[44] = // cmd #25
{
- 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
- 0,0,0,1,1, 1,1,1,1,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,1,0,0,
+ 0,0,0,0,1, 1,1,1,1,1, 1,1,1,0
};
@@ -1175,6 +1196,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1573,7 +1595,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,
- 27,
+ 28,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h
index 15ffb62..4e6198e 100644
--- a/project/src/ui/ui-wlect.h
+++ b/project/src/ui/ui-wlect.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -67,6 +67,7 @@ typedef enum enumOptions
OPT_LT_ONLINE,
OPT_LT_N_PLAYERS,
OPT_LE_DEFINE,
+ OPT_LE_ARENA,
OPT_LPAR,
OPT_ALIAS,
OPT_ENGINE,
@@ -99,7 +100,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 43
+ OPT__N_SPECIFIC, // == 44
//----- global options -----
@@ -114,6 +115,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -138,7 +140,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 77
+ OPT__N_TOTAL // == 79
} enumOptions;
@@ -164,6 +166,7 @@ typedef enum enumOptions
// OB_LT_ONLINE = 1llu << OPT_LT_ONLINE,
// OB_LT_N_PLAYERS = 1llu << OPT_LT_N_PLAYERS,
// OB_LE_DEFINE = 1llu << OPT_LE_DEFINE,
+// OB_LE_ARENA = 1llu << OPT_LE_ARENA,
// OB_LPAR = 1llu << OPT_LPAR,
// OB_ALIAS = 1llu << OPT_ALIAS,
// OB_ENGINE = 1llu << OPT_ENGINE,
@@ -216,6 +219,7 @@ typedef enum enumOptions
// | OB_DEBUG,
//
// OB_GRP_PATCH = OB_LE_DEFINE
+// | OB_LE_ARENA
// | OB_LPAR
// | OB_ALIAS
// | OB_GRP_PARAM,
@@ -379,6 +383,7 @@ typedef enum enumGetOpt
GO_MAX_FILE_SIZE = 'M',
GO_NO_PARAM = 'P',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_EXPORT = 'X',
GO_CONST = 'c',
@@ -426,6 +431,7 @@ typedef enum enumGetOpt
GO_NEW,
GO_EXTRACT,
GO_LE_DEFINE,
+ GO_LE_ARENA,
GO_LPAR,
GO_ALIAS,
GO_ENGINE,
diff --git a/project/src/ui/ui-wmdlt.c b/project/src/ui/ui-wmdlt.c
index 712ab1e..14d0016 100644
--- a/project/src/ui/ui-wmdlt.c
+++ b/project/src/ui/ui-wmdlt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -371,8 +371,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -393,6 +393,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -562,7 +572,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 == 65
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 66
};
@@ -719,7 +729,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHBPNM:T:A:td:D:E:orupi";
+static const char OptionShort[] = "VhqvLW:c:lHBPNM:T:A:td:D:E:orupi";
static const struct option OptionLong[] =
{
@@ -736,6 +746,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -843,7 +854,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x057 W */ OPT_WARN,
+ /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0,
/* 0x063 c */ OPT_CONST,
/* 0x064 d */ OPT_DEST,
/* 0x065 */ 0,0,0,
@@ -1064,6 +1076,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1439,7 +1452,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,
- 24,
+ 25,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wmdlt.h b/project/src/ui/ui-wmdlt.h
index 80b7b9b..54e94e3 100644
--- a/project/src/ui/ui-wmdlt.h
+++ b/project/src/ui/ui-wmdlt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -104,6 +104,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -126,7 +127,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 65
+ OPT__N_TOTAL // == 66
} enumOptions;
@@ -343,6 +344,7 @@ typedef enum enumGetOpt
GO_NO_PARAM = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_CONST = 'c',
GO_DEST = 'd',
diff --git a/project/src/ui/ui-wpatt.c b/project/src/ui/ui-wpatt.c
index 3e4d23a..b0df846 100644
--- a/project/src/ui/ui-wpatt.c
+++ b/project/src/ui/ui-wpatt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -213,8 +213,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -235,6 +235,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -393,7 +403,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 == 49
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 50
};
@@ -516,7 +526,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHBPNM:T:A:td:D:E:orupi";
+static const char OptionShort[] = "VhqvLW:c:lHBPNM:T:A:td:D:E:orupi";
static const struct option OptionLong[] =
{
@@ -533,6 +543,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -622,7 +633,8 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x057 W */ OPT_WARN,
+ /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0,
/* 0x063 c */ OPT_CONST,
/* 0x064 d */ OPT_DEST,
/* 0x065 */ 0,0,0,
@@ -787,6 +799,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -987,7 +1000,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,
- 23,
+ 24,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wpatt.h b/project/src/ui/ui-wpatt.h
index 06cf1ed..414f0a8 100644
--- a/project/src/ui/ui-wpatt.h
+++ b/project/src/ui/ui-wpatt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -89,6 +89,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -110,7 +111,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 49
+ OPT__N_TOTAL // == 50
} enumOptions;
@@ -266,6 +267,7 @@ typedef enum enumGetOpt
GO_NO_PARAM = 'P',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_CONST = 'c',
GO_DEST = 'd',
diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c
index 32cace8..b82ca2a 100644
--- a/project/src/ui/ui-wstrt.c
+++ b/project/src/ui/ui-wstrt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -306,7 +306,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_NO_0X, false, false, false, false, false, '0', "no-0x",
0,
- "Suppress 0x prefix of hex numbers."
+ "Suppress 0x prefix of hex numbers. This is the default for cheat"
+ " codes."
+ },
+
+ { OPT_UPPER, false, false, false, false, false, 'U', "upper",
+ 0,
+ "Print digits A-F of hex numbers in upper case. This is the default"
+ " for cheat codes."
},
{ OPT_VADDR, false, false, false, false, true, 0, "vaddr",
@@ -479,7 +486,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" dependent (multiple of format size)."
},
- {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 65
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 66
//----- global options -----
@@ -540,8 +547,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -562,6 +569,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -869,7 +886,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" directory."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 116
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 118
};
@@ -1079,7 +1096,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "Vh@qvLc:lBHT:A:R:td:D:E:orupi0";
+static const char OptionShort[] = "Vh@qvLW:c:lBHT:A:R:td:D:E:orupi0U";
static const struct option OptionLong[] =
{
@@ -1097,6 +1114,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -1210,6 +1228,7 @@ static const struct option OptionLong[] =
{ "order", 1, 0, GO_ORDER },
{ "no-0x", 0, 0, '0' },
{ "no0x", 0, 0, '0' },
+ { "upper", 0, 0, 'U' },
{ "vaddr", 1, 0, GO_VADDR },
{ "va", 1, 0, GO_VADDR },
{ "faddr", 1, 0, GO_FADDR },
@@ -1281,9 +1300,10 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x052 R */ OPT_REGION,
/* 0x053 */ 0,
/* 0x054 T */ OPT_TRACKS,
- /* 0x055 */ 0,
+ /* 0x055 U */ OPT_UPPER,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x057 W */ OPT_WARN,
+ /* 0x058 */ 0,0,0,0, 0,0,0,0, 0,0,0,
/* 0x063 c */ OPT_CONST,
/* 0x064 d */ OPT_DEST,
/* 0x065 */ 0,0,0,
@@ -1407,172 +1427,172 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[65] = // cmd #1
+static u8 option_allowed_cmd_VERSION[66] = // cmd #1
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_HELP[65] = // cmd #2
+static u8 option_allowed_cmd_HELP[66] = // 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
};
-static u8 option_allowed_cmd_CONFIG[65] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[66] = // cmd #3
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ARGTEST[65] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[66] = // cmd #4
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1
+ 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_TEST[65] = // cmd #5
+static u8 option_allowed_cmd_TEST[66] = // 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
};
-static u8 option_allowed_cmd_COLORS[65] = // cmd #6
+static u8 option_allowed_cmd_COLORS[66] = // cmd #6
{
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
};
-static u8 option_allowed_cmd_ERROR[65] = // cmd #7
+static u8 option_allowed_cmd_ERROR[66] = // cmd #7
{
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,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FILETYPE[65] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[66] = // cmd #8
{
0,1,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
};
-static u8 option_allowed_cmd_FILEATTRIB[65] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[66] = // cmd #9
{
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
};
-static u8 option_allowed_cmd_RAWDUMP[65] = // cmd #10
+static u8 option_allowed_cmd_RAWDUMP[66] = // cmd #10
{
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
};
-static u8 option_allowed_cmd_DUMP[65] = // cmd #11
+static u8 option_allowed_cmd_DUMP[66] = // cmd #11
{
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
};
-static u8 option_allowed_cmd_CDUMP[65] = // cmd #12
+static u8 option_allowed_cmd_CDUMP[66] = // cmd #12
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_HEXDUMP[65] = // cmd #13
+static u8 option_allowed_cmd_HEXDUMP[66] = // 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,1, 1,1,1,1,1, 1,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, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_PORT[65] = // cmd #14
+static u8 option_allowed_cmd_PORT[66] = // cmd #14
{
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,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,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_WHERE[65] = // cmd #15
+static u8 option_allowed_cmd_WHERE[66] = // cmd #15
{
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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_HTTPS[65] = // cmd #16
+static u8 option_allowed_cmd_HTTPS[66] = // cmd #16
{
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
};
-static u8 option_allowed_cmd_EXTRACT[65] = // cmd #17
+static u8 option_allowed_cmd_EXTRACT[66] = // cmd #17
{
0,0,0,0,0, 0,1,1,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_TRACKS[65] = // cmd #18
+static u8 option_allowed_cmd_TRACKS[66] = // cmd #18
{
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
};
-static u8 option_allowed_cmd_ARENAS[65] = // cmd #19
+static u8 option_allowed_cmd_ARENAS[66] = // cmd #19
{
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
};
-static u8 option_allowed_cmd_FILES[65] = // cmd #20
+static u8 option_allowed_cmd_FILES[66] = // 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
};
-static u8 option_allowed_cmd_FIND[65] = // cmd #21
+static u8 option_allowed_cmd_FIND[66] = // cmd #21
{
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
};
-static u8 option_allowed_cmd_POINTS[65] = // cmd #22
+static u8 option_allowed_cmd_POINTS[66] = // cmd #22
{
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
};
-static u8 option_allowed_cmd_ANALYZE[65] = // cmd #23
+static u8 option_allowed_cmd_ANALYZE[66] = // cmd #23
{
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
};
-static u8 option_allowed_cmd_PATCH[65] = // cmd #24
+static u8 option_allowed_cmd_PATCH[66] = // cmd #24
{
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,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0
+ 0,0,0,0,0, 0
};
@@ -1594,6 +1614,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -1772,6 +1793,7 @@ static const InfoOption_t * option_tab_cmd_PORT[] =
OptionInfo + OPT_PORT_DB,
OptionInfo + OPT_ORDER,
OptionInfo + OPT_NO_0X,
+ OptionInfo + OPT_UPPER,
&option_cmd_PORT_NO_HEADER,
&option_cmd_PORT_BRIEF,
&option_cmd_PORT_LONG,
@@ -1783,6 +1805,7 @@ static const InfoOption_t * option_tab_cmd_WHERE[] =
{
OptionInfo + OPT_ORDER,
OptionInfo + OPT_NO_0X,
+ OptionInfo + OPT_UPPER,
&option_cmd_WHERE_NO_HEADER,
&option_cmd_WHERE_BRIEF,
&option_cmd_WHERE_LONG,
@@ -1997,7 +2020,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,
- 39,
+ 40,
option_tab_tool,
0
},
@@ -2218,12 +2241,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"The command expects a list of keywords or hex numbers. Keywords are"
" PAL (default), USA, JAPAN, KOREA, or any abbreviation of them. They"
" select the region for the following addresses. The hex numbers (with"
- " or without 0x prefix) are interpreted as addresses. If possible,"
- " they are ported to all other regions. The result is printed as"
- " colorized table.\n"
- " This address porting is EXPERIMENTAL!",
+ " or without 0x prefix) are interpreted as addresses. If an address"
+ " begins with m or s, then it is interpreted as a file offset for"
+ " main.dol or staticr.rel. All addresses are ported to all other"
+ " regions. The result is printed as colorized table. See"
+ " https://szs.wiimm.de/cmd/wstrt/port for more details.",
0,
- 6,
+ 7,
option_tab_cmd_PORT,
option_allowed_cmd_PORT
},
@@ -2239,9 +2263,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" in which the specified addresses are located is calculated for each"
" region. The result is output as a human and machine readable table.\n"
" This command is well suited to converting addresses into file"
- " offsets and vice versa.",
+ " offsets and vice versa. See https://szs.wiimm.de/cmd/wstrt/where for"
+ " more details.",
0,
- 5,
+ 6,
option_tab_cmd_WHERE,
option_allowed_cmd_WHERE
},
diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h
index f3ca5e2..31ecfe0 100644
--- a/project/src/ui/ui-wstrt.h
+++ b/project/src/ui/ui-wstrt.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -89,6 +89,7 @@ typedef enum enumOptions
OPT_PORT_DB,
OPT_ORDER,
OPT_NO_0X,
+ OPT_UPPER,
OPT_VADDR,
OPT_FADDR,
OPT_SNAME,
@@ -121,7 +122,7 @@ typedef enum enumOptions
OPT_WIDE,
OPT_BYTES,
- OPT__N_SPECIFIC, // == 65
+ OPT__N_SPECIFIC, // == 66
//----- global options -----
@@ -137,6 +138,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -177,7 +179,7 @@ typedef enum enumOptions
OPT_CLEAN_DOL,
OPT_CT_DIR,
- OPT__N_TOTAL // == 116
+ OPT__N_TOTAL // == 118
} enumOptions;
@@ -225,6 +227,7 @@ typedef enum enumOptions
// OB_PORT_DB = 1llu << OPT_PORT_DB,
// OB_ORDER = 1llu << OPT_ORDER,
// OB_NO_0X = 1llu << OPT_NO_0X,
+// OB_UPPER = 1llu << OPT_UPPER,
// OB_VADDR = 1llu << OPT_VADDR,
// OB_FADDR = 1llu << OPT_FADDR,
// OB_SNAME = 1llu << OPT_SNAME,
@@ -340,12 +343,14 @@ typedef enum enumOptions
// OB_CMD_PORT = OB_PORT_DB
// | OB_ORDER
// | OB_NO_0X
+// | OB_UPPER
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_LONG,
//
// OB_CMD_WHERE = OB_ORDER
// | OB_NO_0X
+// | OB_UPPER
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_LONG,
@@ -459,7 +464,9 @@ typedef enum enumGetOpt
GO_LOGGING = 'L',
GO_REGION = 'R',
GO_TRACKS = 'T',
+ GO_UPPER = 'U',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_CONST = 'c',
GO_DEST = 'd',
diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c
index 124c1ea..1d62e8e 100644
--- a/project/src/ui/ui-wszst.c
+++ b/project/src/ui/ui-wszst.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -466,7 +466,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_CODING, false, false, false, false, false, 0, "coding",
"mode",
"Define the coding of the non alphanumeric characters for BASE64:"
- " STANDART (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)."
+ " STANDARD (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)."
},
{ OPT_VERIFY, false, false, false, false, false, 0, "verify",
@@ -720,6 +720,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" https://szs.wiimm.de/opt/source for more details."
},
+ { OPT_REFERENCE, false, false, false, false, false, 0, "ref",
+ "path",
+ "Define a reference SZS."
+ },
+
{ OPT_DEST, false, false, false, false, false, 'd', "dest",
"path",
"Define a destination path (directory/file). The destination - means:"
@@ -1127,7 +1132,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 == 134
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 135
//----- global options -----
@@ -1183,8 +1188,8 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
"maxwidth",
"Define the maximum terminal width (number of columns) for help and"
- " some other messages and disable the automatic detection of the"
- " terminal width. This option is ignored if --width is set."
+ " some other messages. The default is 120. This option is ignored if"
+ " --width is set."
},
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
@@ -1205,6 +1210,16 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"This debug option enables the logging of internal lists and maps."
},
+ { OPT_WARN, false, false, false, false, false, 'W', "warn",
+ "list",
+ "Enable or disable warnings. Parameter 'list' is a comma separated"
+ " list of keywords. A minus sign before a keyword disables a warning."
+ " Each occurrence of the option will only change entered warning and"
+ " all other warnings are untouched.\n"
+ " Keyword DEFAULT resets the default settings, OFF disables and ALL"
+ " enables all. The other allowed keywords are: INVALID-OFFSET."
+ },
+
{ OPT_DE, false, false, false, false, false, 0, "de",
0,
"Use german track and arena names."
@@ -1264,7 +1279,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_BATTLE, true, false, false, false, false, 0, "battle",
"[=mode]",
"MODE is either OFF, AUTO (default) or ON. Without value, ON is used.\n"
- " If mode is ON, assume a battle arena and enable a spüecial battle"
+ " If mode is ON, assume a battle arena and enable a special battle"
" support. If mode is OFF, disable special battle arena support. If"
" mode is AUTO, analyse the KMP and estimate, if it is a battle"
" areana. Modes ON and OFF override KMP parameter BATTLE-MODE."
@@ -1753,7 +1768,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 == 209
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 211
};
@@ -1964,6 +1979,18 @@ static const InfoOption_t option_cmd_TRACKS_LONG =
" old BRRES sub file formats too."
};
+static const InfoOption_t option_cmd_SIZEOF_SORT =
+ { OPT_SORT, false, false, false, false, false, 'S', "sort",
+ "mode",
+ "Define a sort mode. Keywords are: NONE (default), NAME end SIZE."
+ };
+
+static const InfoOption_t option_cmd_SIZEOF_BRIEF =
+ { OPT_BRIEF, false, false, false, false, false, 'B', "brief",
+ 0,
+ "Limit output to SZS specific data."
+ };
+
static const InfoOption_t option_cmd_LIST_LONG =
{ OPT_LONG, false, false, false, false, false, 'l', "long",
0,
@@ -2058,6 +2085,12 @@ static const InfoOption_t option_cmd_ANALYZE_QUIET =
"Suppress logging of input and output files."
};
+static const InfoOption_t option_cmd_IS_TEXTURE_LONG =
+ { OPT_LONG, false, false, false, false, false, 'l', "long",
+ 0,
+ "Append a colon and the filename after each status."
+ };
+
static const InfoOption_t option_cmd_FEATURES_BRIEF =
{ OPT_BRIEF, false, false, false, false, false, 'B', "brief",
0,
@@ -2068,7 +2101,7 @@ static const InfoOption_t option_cmd_FEATURES_BRIEF =
static const InfoOption_t option_cmd_FEATURES_LONG =
{ OPT_LONG, false, false, false, false, false, 'l', "long",
0,
- "Print additnal comments."
+ "Print additional comments."
};
static const InfoOption_t option_cmd_FEATURES_QUIET =
@@ -2258,6 +2291,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_TRACKS, "TRACKS", 0, 0 },
{ CMD_SCANCACHE, "SCANCACHE", 0, 0 },
{ CMD_EXPORT, "_EXPORT", 0, 0 },
+ { CMD_SIZEOF, "SIZEOF", 0, 0 },
{ CMD_CODE, "_CODE", 0, 0 },
{ CMD_RECODE, "_RECODE", 0, 0 },
{ CMD_SUBFILE, "_SUBFILE", 0, 0 },
@@ -2288,6 +2322,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_SHA1, "SHA1", 0, 0 },
{ CMD_ANALYZE, "ANALYZE", "ANA", 0 },
{ CMD_ANALYZE, "ANALYSE", 0, 0 },
+ { CMD_IS_TEXTURE, "IS-TEXTURE", "ISTEXTURE", 0 },
{ CMD_FEATURES, "FEATURES", 0, 0 },
{ CMD_DISTRIBUTION, "DISTRIBUTION", "DIST", 0 },
{ CMD_DIFF, "DIFF", "CMP", 0 },
@@ -2330,7 +2365,7 @@ static const KeywordTab_t CommandTab[] =
/////////////// OptionShort & OptionLong ///////////////
///////////////////////////////////////////////////////////////////////////////
-static const char OptionShort[] = "VhqvLc:lHB1XPS:M:T:A:x:ts:d:D:E:orupiNC:nRea";
+static const char OptionShort[] = "VhqvLW:c:lHB1XPS:M:T:A:x:ts:d:D:E:orupiNC:nRea";
static const struct option OptionLong[] =
{
@@ -2347,6 +2382,7 @@ static const struct option OptionLong[] =
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
{ "no-colors", 0, 0, GO_NO_COLORS },
@@ -2575,6 +2611,8 @@ static const struct option OptionLong[] =
{ "EXTRACT", 1, 0, GO_EXTRACT },
{ "source", 1, 0, 's' },
{ "src", 1, 0, 's' },
+ { "ref", 1, 0, GO_REFERENCE },
+ { "reference", 1, 0, GO_REFERENCE },
{ "dest", 1, 0, 'd' },
{ "DEST", 1, 0, 'D' },
{ "esc", 1, 0, 'E' },
@@ -2721,7 +2759,7 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x054 T */ OPT_TRACKS,
/* 0x055 */ 0,
/* 0x056 V */ OPT_VERSION,
- /* 0x057 */ 0,
+ /* 0x057 W */ OPT_WARN,
/* 0x058 X */ OPT_EXPORT,
/* 0x059 */ 0,0,0,0, 0,0,0,0,
/* 0x061 a */ OPT_ALL,
@@ -2880,49 +2918,50 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x102 */ OPT_STD,
/* 0x103 */ OPT_NEW,
/* 0x104 */ OPT_EXTRACT,
- /* 0x105 */ OPT_NUMBER,
- /* 0x106 */ OPT_REMOVE_SRC,
- /* 0x107 */ OPT_IGNORE_SETUP,
- /* 0x108 */ OPT_PURGE,
- /* 0x109 */ OPT_ALIGN_U8,
- /* 0x10a */ OPT_ALIGN_PACK,
- /* 0x10b */ OPT_ALIGN_BRRES,
- /* 0x10c */ OPT_ALIGN_BREFF,
- /* 0x10d */ OPT_ALIGN_BREFT,
- /* 0x10e */ OPT_ALIGN,
- /* 0x10f */ OPT_ENCODE_ALL,
- /* 0x110 */ OPT_ENCODE_IMG,
- /* 0x111 */ OPT_NO_ENCODE,
- /* 0x112 */ OPT_NO_RECURSE,
- /* 0x113 */ OPT_AUTO_ADD,
- /* 0x114 */ OPT_NO_ECHO,
- /* 0x115 */ OPT_PT_DIR,
- /* 0x116 */ OPT_RM_AIPARAM,
- /* 0x117 */ OPT_U8,
- /* 0x118 */ OPT_SZS,
- /* 0x119 */ OPT_WU8,
- /* 0x11a */ OPT_XWU8,
- /* 0x11b */ OPT_WBZ,
- /* 0x11c */ OPT_PACK,
- /* 0x11d */ OPT_BRRES,
- /* 0x11e */ OPT_BREFF,
- /* 0x11f */ OPT_BREFT,
- /* 0x120 */ OPT_NO_COMPRESS,
- /* 0x121 */ OPT_FAST,
- /* 0x122 */ OPT_LINKS,
- /* 0x123 */ OPT_BASEDIR,
- /* 0x124 */ OPT_DECODE,
- /* 0x125 */ OPT_MIPMAPS,
- /* 0x126 */ OPT_NO_MIPMAPS,
- /* 0x127 */ OPT_N_MIPMAPS,
- /* 0x128 */ OPT_MAX_MIPMAPS,
- /* 0x129 */ OPT_MIPMAP_SIZE,
- /* 0x12a */ OPT_FAST_MIPMAPS,
- /* 0x12b */ OPT_CMPR_DEFAULT,
- /* 0x12c */ OPT_CUT,
- /* 0x12d */ OPT_RAW,
- /* 0x12e */ OPT_SECTIONS,
- /* 0x12f */ 0,0,0,0, 0,0,0,
+ /* 0x105 */ OPT_REFERENCE,
+ /* 0x106 */ OPT_NUMBER,
+ /* 0x107 */ OPT_REMOVE_SRC,
+ /* 0x108 */ OPT_IGNORE_SETUP,
+ /* 0x109 */ OPT_PURGE,
+ /* 0x10a */ OPT_ALIGN_U8,
+ /* 0x10b */ OPT_ALIGN_PACK,
+ /* 0x10c */ OPT_ALIGN_BRRES,
+ /* 0x10d */ OPT_ALIGN_BREFF,
+ /* 0x10e */ OPT_ALIGN_BREFT,
+ /* 0x10f */ OPT_ALIGN,
+ /* 0x110 */ OPT_ENCODE_ALL,
+ /* 0x111 */ OPT_ENCODE_IMG,
+ /* 0x112 */ OPT_NO_ENCODE,
+ /* 0x113 */ OPT_NO_RECURSE,
+ /* 0x114 */ OPT_AUTO_ADD,
+ /* 0x115 */ OPT_NO_ECHO,
+ /* 0x116 */ OPT_PT_DIR,
+ /* 0x117 */ OPT_RM_AIPARAM,
+ /* 0x118 */ OPT_U8,
+ /* 0x119 */ OPT_SZS,
+ /* 0x11a */ OPT_WU8,
+ /* 0x11b */ OPT_XWU8,
+ /* 0x11c */ OPT_WBZ,
+ /* 0x11d */ OPT_PACK,
+ /* 0x11e */ OPT_BRRES,
+ /* 0x11f */ OPT_BREFF,
+ /* 0x120 */ OPT_BREFT,
+ /* 0x121 */ OPT_NO_COMPRESS,
+ /* 0x122 */ OPT_FAST,
+ /* 0x123 */ OPT_LINKS,
+ /* 0x124 */ OPT_BASEDIR,
+ /* 0x125 */ OPT_DECODE,
+ /* 0x126 */ OPT_MIPMAPS,
+ /* 0x127 */ OPT_NO_MIPMAPS,
+ /* 0x128 */ OPT_N_MIPMAPS,
+ /* 0x129 */ OPT_MAX_MIPMAPS,
+ /* 0x12a */ OPT_MIPMAP_SIZE,
+ /* 0x12b */ OPT_FAST_MIPMAPS,
+ /* 0x12c */ OPT_CMPR_DEFAULT,
+ /* 0x12d */ OPT_CUT,
+ /* 0x12e */ OPT_RAW,
+ /* 0x12f */ OPT_SECTIONS,
+ /* 0x130 */ 0,0,0,0, 0,0,
};
//
@@ -2930,688 +2969,706 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[134] = // cmd #1
+static u8 option_allowed_cmd_VERSION[135] = // 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,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,1
};
-static u8 option_allowed_cmd_HELP[134] = // cmd #2
+static u8 option_allowed_cmd_HELP[135] = // 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
};
-static u8 option_allowed_cmd_CONFIG[134] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[135] = // 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,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,1
};
-static u8 option_allowed_cmd_INSTALL[134] = // cmd #4
+static u8 option_allowed_cmd_INSTALL[135] = // 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
};
-static u8 option_allowed_cmd_ARGTEST[134] = // cmd #5
+static u8 option_allowed_cmd_ARGTEST[135] = // 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
};
-static u8 option_allowed_cmd_TEST[134] = // cmd #6
+static u8 option_allowed_cmd_TEST[135] = // 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
};
-static u8 option_allowed_cmd_COLORS[134] = // cmd #7
+static u8 option_allowed_cmd_COLORS[135] = // cmd #7
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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
};
-static u8 option_allowed_cmd_ERROR[134] = // cmd #8
+static u8 option_allowed_cmd_ERROR[135] = // 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,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,1
};
-static u8 option_allowed_cmd_FILETYPE[134] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[135] = // 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,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,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
};
-static u8 option_allowed_cmd_FILEATTRIB[134] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[135] = // 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,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #11
+static u8 option_allowed_cmd_BRSUB[135] = // 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,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,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
};
-static u8 option_allowed_cmd_SYMBOLS[134] = // cmd #12
+static u8 option_allowed_cmd_SYMBOLS[135] = // 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,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #13
+static u8 option_allowed_cmd_FUNCTIONS[135] = // 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,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
};
-static u8 option_allowed_cmd_CALCULATE[134] = // cmd #14
+static u8 option_allowed_cmd_CALCULATE[135] = // cmd #14
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #15
+static u8 option_allowed_cmd_MATRIX[135] = // cmd #15
{
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
};
-static u8 option_allowed_cmd_FLOAT[134] = // cmd #16
+static u8 option_allowed_cmd_FLOAT[135] = // cmd #16
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #17
+static u8 option_allowed_cmd_VR_CALC[135] = // cmd #17
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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
};
-static u8 option_allowed_cmd_VR_RACE[134] = // cmd #18
+static u8 option_allowed_cmd_VR_RACE[135] = // 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,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #19
+static u8 option_allowed_cmd_AUTOADD[135] = // cmd #19
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,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
};
-static u8 option_allowed_cmd_TRACKS[134] = // cmd #20
+static u8 option_allowed_cmd_TRACKS[135] = // 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,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,1,0,0
};
-static u8 option_allowed_cmd_SCANCACHE[134] = // cmd #21
+static u8 option_allowed_cmd_SCANCACHE[135] = // cmd #21
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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[134] = // cmd #22
+static u8 option_allowed_cmd_EXPORT[135] = // 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,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #23
+static u8 option_allowed_cmd_SIZEOF[135] = // 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,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
+};
+
+static u8 option_allowed_cmd_CODE[135] = // cmd #24
+{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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[134] = // cmd #24
+static u8 option_allowed_cmd_RECODE[135] = // 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
};
-static u8 option_allowed_cmd_SUBFILE[134] = // cmd #25
+static u8 option_allowed_cmd_SUBFILE[135] = // 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,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
};
-static u8 option_allowed_cmd_TESTNORM[134] = // cmd #26
+static u8 option_allowed_cmd_TESTNORM[135] = // 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, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #27
+static u8 option_allowed_cmd_LIST[135] = // 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,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,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,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[134] = // cmd #28
+static u8 option_allowed_cmd_LIST_L[135] = // 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,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,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,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[134] = // cmd #29
+static u8 option_allowed_cmd_LIST_LL[135] = // 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,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,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,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[134] = // cmd #30
+static u8 option_allowed_cmd_LIST_LLL[135] = // 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,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,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,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[134] = // cmd #31
+static u8 option_allowed_cmd_LIST_A[135] = // 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,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,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,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[134] = // cmd #32
+static u8 option_allowed_cmd_LIST_LA[135] = // 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,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,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,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[134] = // cmd #33
+static u8 option_allowed_cmd_NAME_REF[135] = // cmd #34
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,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
};
-static u8 option_allowed_cmd_ILIST[134] = // cmd #34
+static u8 option_allowed_cmd_ILIST[135] = // 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,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,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,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[134] = // cmd #35
+static u8 option_allowed_cmd_ILIST_L[135] = // 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,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,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,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[134] = // cmd #36
+static u8 option_allowed_cmd_ILIST_LL[135] = // 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,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,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,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[134] = // cmd #37
+static u8 option_allowed_cmd_ILIST_A[135] = // 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,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,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,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[134] = // cmd #38
+static u8 option_allowed_cmd_ILIST_LA[135] = // 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,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,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,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[134] = // cmd #39
+static u8 option_allowed_cmd_MEMORY[135] = // 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,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,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,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[134] = // cmd #40
+static u8 option_allowed_cmd_MEMORY_A[135] = // 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,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,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,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[134] = // cmd #41
+static u8 option_allowed_cmd_DUMP[135] = // cmd #42
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,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, 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[134] = // cmd #42
+static u8 option_allowed_cmd_SHA1[135] = // 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,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,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, 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[135] = // 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,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_ANALYZE[134] = // cmd #43
+static u8 option_allowed_cmd_IS_TEXTURE[135] = // 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,1,0,0, 0,0,0,0,0, 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,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,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FEATURES[134] = // cmd #44
+static u8 option_allowed_cmd_FEATURES[135] = // cmd #46
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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,1,1, 0,0,0,0,0, 0,0,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,0,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,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
};
-static u8 option_allowed_cmd_DISTRIBUTION[134] = // cmd #45
+static u8 option_allowed_cmd_DISTRIBUTION[135] = // 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,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,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, 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[134] = // cmd #46
+static u8 option_allowed_cmd_DIFF[135] = // 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,0,0, 0,0,0,0,0, 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,1,0,0,0, 0,0,0,0,0, 0,1,1,0,0
};
-static u8 option_allowed_cmd_CHECK[134] = // cmd #47
+static u8 option_allowed_cmd_CHECK[135] = // cmd #49
{
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,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, 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[134] = // cmd #48
+static u8 option_allowed_cmd_SLOTS[135] = // cmd #50
{
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,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, 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[134] = // cmd #49
+static u8 option_allowed_cmd_STGI[135] = // cmd #51
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,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
};
-static u8 option_allowed_cmd_ISARENA[134] = // cmd #50
+static u8 option_allowed_cmd_ISARENA[135] = // cmd #52
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 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[134] = // cmd #51
+static u8 option_allowed_cmd_NORMALIZE[135] = // cmd #53
{
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,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, 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[134] = // cmd #52
+static u8 option_allowed_cmd_PATCH[135] = // cmd #54
{
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,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, 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[134] = // cmd #53
+static u8 option_allowed_cmd_COPY[135] = // cmd #55
{
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,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, 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[134] = // cmd #54
+static u8 option_allowed_cmd_DUPLICATE[135] = // cmd #56
{
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,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, 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[134] = // cmd #55
+static u8 option_allowed_cmd_MINIMAP[135] = // cmd #57
{
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,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,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[134] = // cmd #56
+static u8 option_allowed_cmd_COMPRESS[135] = // cmd #58
{
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,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, 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[134] = // cmd #57
+static u8 option_allowed_cmd_DECOMPRESS[135] = // cmd #59
{
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,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, 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[134] = // cmd #58
+static u8 option_allowed_cmd_ENCODE[135] = // cmd #60
{
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,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, 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[134] = // cmd #59
+static u8 option_allowed_cmd_CREATE[135] = // cmd #61
{
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,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, 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[134] = // cmd #60
+static u8 option_allowed_cmd_UPDATE[135] = // cmd #62
{
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,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, 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[134] = // cmd #61
+static u8 option_allowed_cmd_EXTRACT[135] = // cmd #63
{
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,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,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[134] = // cmd #62
+static u8 option_allowed_cmd_XDECODE[135] = // cmd #64
{
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,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,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[134] = // cmd #63
+static u8 option_allowed_cmd_XEXPORT[135] = // cmd #65
{
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,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,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[134] = // cmd #64
+static u8 option_allowed_cmd_XALL[135] = // cmd #66
{
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,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,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[134] = // cmd #65
+static u8 option_allowed_cmd_XCOMMON[135] = // cmd #67
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,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
};
-static u8 option_allowed_cmd_BINARY[134] = // cmd #66
+static u8 option_allowed_cmd_BINARY[135] = // cmd #68
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,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
};
-static u8 option_allowed_cmd_TEXT[134] = // cmd #67
+static u8 option_allowed_cmd_TEXT[135] = // 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,1,1,1, 0,1,1,0,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,0,1, 1,1,1,0,0,
+ 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,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
};
-static u8 option_allowed_cmd_CAT[134] = // cmd #68
+static u8 option_allowed_cmd_CAT[135] = // 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,1,1,1, 0,1,1,0,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 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,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
};
-static u8 option_allowed_cmd_BMG[134] = // cmd #69
+static u8 option_allowed_cmd_BMG[135] = // 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,1,1,1, 0,0,0,0,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 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
};
-static u8 option_allowed_cmd_KCL[134] = // cmd #70
+static u8 option_allowed_cmd_KCL[135] = // cmd #72
{
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,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,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[134] = // cmd #71
+static u8 option_allowed_cmd_KMP[135] = // cmd #73
{
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,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,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[134] = // cmd #72
+static u8 option_allowed_cmd_LEX[135] = // cmd #74
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 0,0,0,0,0, 0,0,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
};
-static u8 option_allowed_cmd_INFO[134] = // cmd #73
+static u8 option_allowed_cmd_INFO[135] = // cmd #75
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,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
};
-static u8 option_allowed_cmd_GHOST[134] = // cmd #74
+static u8 option_allowed_cmd_GHOST[135] = // 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,1,0, 0,0,0,0,0, 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,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,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
};
-static u8 option_allowed_cmd_YAZDUMP[134] = // cmd #75
+static u8 option_allowed_cmd_YAZDUMP[135] = // 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,0, 0,0,0,0,0, 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
};
-static u8 option_allowed_cmd_VEHICLE[134] = // cmd #76
+static u8 option_allowed_cmd_VEHICLE[135] = // 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,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,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
};
@@ -3633,6 +3690,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
@@ -3916,6 +3974,15 @@ static const InfoOption_t * option_tab_cmd_EXPORT[] =
0
};
+static const InfoOption_t * option_tab_cmd_SIZEOF[] =
+{
+ &option_cmd_SIZEOF_SORT,
+ &option_cmd_SIZEOF_BRIEF,
+ OptionInfo + OPT_LOGGING,
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_CODE[] =
{
@@ -4908,12 +4975,23 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] =
OptionInfo + OPT_NONE, // separator
+ OptionInfo + OPT_REFERENCE,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
0
};
+static const InfoOption_t * option_tab_cmd_IS_TEXTURE[] =
+{
+ OptionInfo + OPT_IGNORE,
+ OptionInfo + OPT_REFERENCE,
+ OptionInfo + OPT_BATTLE,
+ &option_cmd_IS_TEXTURE_LONG,
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_FEATURES[] =
{
&option_cmd_FEATURES_BRIEF,
@@ -6825,7 +6903,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,
- 66,
+ 67,
option_tab_tool,
0
},
@@ -7204,6 +7282,21 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
option_allowed_cmd_EXPORT
},
+ { CMD_SIZEOF,
+ true,
+ false,
+ false,
+ "SIZEOF",
+ 0,
+ "wszst SIZEOF key...",
+ "This hidden command prints a list with the size of data structures"
+ " and variables.",
+ 0,
+ 3,
+ option_tab_cmd_SIZEOF,
+ option_allowed_cmd_SIZEOF
+ },
+
{ CMD_CODE,
true,
false,
@@ -7503,7 +7596,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst SHA1 [source]...",
"Print a SHA1 checksum for each source. The checksum is calculated by"
- " using the uncompressed data.",
+ " using the uncompressed data and after patching.",
0,
48,
option_tab_cmd_SHA1,
@@ -7519,11 +7612,31 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst ANALYZE [source]...",
"Analyse track files and print results in machine readable format.",
0,
- 15,
+ 16,
option_tab_cmd_ANALYZE,
option_allowed_cmd_ANALYZE
},
+ { CMD_IS_TEXTURE,
+ false,
+ false,
+ false,
+ "IS-TEXTURE",
+ "ISTEXTURE",
+ "wszst IS-TEXTURE --reference reference [source]...",
+ "Test each source to see if it's a texture hack versus a reference"
+ " file. For each source, one human and machine readable status line is"
+ " printed. It is either »-1=err« on error, »1=yes« for a texture"
+ " hack, or »0=no LIST« with a comma separated list of reasons.\n"
+ " At the moment KCL, KMP (see notes) and LEX are checked. KMP section"
+ " CAME has been intentionally left out. Section ENPT is only checked"
+ " if KCL contains a least one face of type force-recalculation.",
+ 0,
+ 4,
+ option_tab_cmd_IS_TEXTURE,
+ option_allowed_cmd_IS_TEXTURE
+ },
+
{ CMD_FEATURES,
true,
false,
@@ -7531,7 +7644,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FEATURES",
0,
"wszst FEATURES [source]...",
- "Analyse track files and a feature list in machine readable format.",
+ "Analyse track files and create a feature list in machine readable"
+ " format.",
0,
18,
option_tab_cmd_FEATURES,
diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h
index 997abfe..161aa7e 100644
--- a/project/src/ui/ui-wszst.h
+++ b/project/src/ui/ui-wszst.h
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -133,6 +133,7 @@ typedef enum enumOptions
OPT_ANALYZE,
OPT_ANALYZE_MODE,
OPT_SOURCE,
+ OPT_REFERENCE,
OPT_DEST,
OPT_DEST2,
OPT_ESC,
@@ -190,7 +191,7 @@ typedef enum enumOptions
OPT_RAW,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 134
+ OPT__N_SPECIFIC, // == 135
//----- global options -----
@@ -205,6 +206,7 @@ typedef enum enumOptions
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
@@ -270,7 +272,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 209
+ OPT__N_TOTAL // == 211
} enumOptions;
@@ -362,6 +364,7 @@ typedef enum enumOptions
// OB_ANALYZE = 1llu << OPT_ANALYZE,
// OB_ANALYZE_MODE = 1llu << OPT_ANALYZE_MODE,
// OB_SOURCE = 1llu << OPT_SOURCE,
+// OB_REFERENCE = 1llu << OPT_REFERENCE,
// OB_DEST = 1llu << OPT_DEST,
// OB_DEST2 = 1llu << OPT_DEST2,
// OB_ESC = 1llu << OPT_ESC,
@@ -625,6 +628,9 @@ typedef enum enumOptions
//
// OB_CMD_EXPORT = 0,
//
+// OB_CMD_SIZEOF = OB_SORT
+// | OB_BRIEF,
+//
// OB_CMD_CODE = 0,
//
// OB_CMD_RECODE = 0,
@@ -713,9 +719,14 @@ typedef enum enumOptions
// OB_CMD_ANALYZE = OB_LONG
// | OB_IGNORE
// | OB_GRP_SCRIPT
+// | OB_REFERENCE
// | OB_DEST
// | OB_DEST2,
//
+// OB_CMD_IS_TEXTURE = OB_IGNORE
+// | OB_REFERENCE
+// | OB_LONG,
+//
// OB_CMD_FEATURES = OB_BRIEF
// | OB_LONG
// | OB_IGNORE
@@ -955,6 +966,7 @@ typedef enum enumCommands
CMD_TRACKS,
CMD_SCANCACHE,
CMD_EXPORT,
+ CMD_SIZEOF,
CMD_CODE,
CMD_RECODE,
CMD_SUBFILE,
@@ -980,6 +992,7 @@ typedef enum enumCommands
CMD_SHA1,
CMD_ANALYZE,
+ CMD_IS_TEXTURE,
CMD_FEATURES,
CMD_DISTRIBUTION,
@@ -1018,7 +1031,7 @@ typedef enum enumCommands
CMD_VEHICLE,
- CMD__N // == 77
+ CMD__N // == 79
} enumCommands;
@@ -1047,6 +1060,7 @@ typedef enum enumGetOpt
GO_SORT = 'S',
GO_TRACKS = 'T',
GO_VERSION = 'V',
+ GO_WARN = 'W',
GO_EXPORT = 'X',
GO_ALL = 'a',
@@ -1200,6 +1214,7 @@ typedef enum enumGetOpt
GO_STD,
GO_NEW,
GO_EXTRACT,
+ GO_REFERENCE,
GO_NUMBER,
GO_REMOVE_SRC,
GO_IGNORE_SETUP,
diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def
index 4631580..8e47764 100644
--- a/project/src/ui/ui.def
+++ b/project/src/ui/ui.def
@@ -246,12 +246,22 @@
#:def_cmd( "SHA1", "SHA1", \
"wszst SHA1 [source]...", \
"Print a SHA1 checksum for each source. The checksum is calculated by" \
- " using the uncompressed data." )
+ " using the uncompressed data and after patching." )
#:def_cmd( "ANALYZE", "ANALYZE|ANA|ANALYSE", \
"wszst ANALYZE [source]...", \
"Analyse track files and print results in machine readable format." )
+#:def_cmd( "IS_TEXTURE", "IS-TEXTURE|ISTEXTURE", \
+ "wszst IS-TEXTURE --reference reference [source]...", \
+ "Test each source to see if it's a texture hack versus a reference" \
+ " file. For each source, one human and machine readable status line is" \
+ " printed. It is either »-1=err« on error, »1=yes« for a texture" \
+ " hack, or »0=no LIST« with a comma separated list of reasons.\n" \
+ " At the moment KCL, KMP (see notes) and LEX are checked. KMP section" \
+ " CAME has been intentionally left out. Section ENPT is only checked" \
+ " if KCL contains a least one face of type force-recalculation." )
+
#:def_cmd( "DISTRIBUTION", "DISTRIBUTION|DIST", \
"wszst DISTRIBUTION result source...\n" \
"wszst DISTRIBUTION directory [source]...", \
@@ -524,8 +534,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -542,6 +552,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -825,11 +844,10 @@
"[=mode]", \
"@MODE@ is either @OFF@, @AUTO@ (default) or @ON@. Without value, @ON@" \
" is used.\n" \
- " If mode is @ON@, assume a battle arena and enable a spüecial" \
- " battle support. If mode is @OFF@, disable special battle arena" \
- " support. If mode is @AUTO@, analyse the KMP and estimate, if it is a" \
- " battle areana. Modes @ON@ and @OFF@ override KMP parameter" \
- " @BATTLE-MODE@." )
+ " If mode is @ON@, assume a battle arena and enable a special battle" \
+ " support. If mode is @OFF@, disable special battle arena support. If" \
+ " mode is @AUTO@, analyse the KMP and estimate, if it is a battle" \
+ " areana. Modes @ON@ and @OFF@ override KMP parameter @BATTLE-MODE@." )
#:def_opt( "EXPORT_FLAGS", "export-flags|exportflags|exflags", "GO", \
"[=mode]", \
@@ -1224,7 +1242,7 @@
#:def_opt( "CODING", "coding", "CP", \
"mode", \
"Define the coding of the non alphanumeric characters for BASE64:" \
- " STANDART (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)." )
+ " STANDARD (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)." )
#:def_opt( "VERIFY", "verify", "C", \
"", \
@@ -1538,6 +1556,10 @@
" A @'?'@ direct behind @'%'@ in @%E@ and @%T@ conversions avoid that" \
" the same extension is used twice in row." )
+#:def_opt( "REFERENCE", "ref|reference", "CP", \
+ "path", \
+ "Define a reference SZS." )
+
#:def_opt( "DEST", "d|dest", "CP", \
"path", \
"Define a destination path (directory/file). The destination @-@" \
@@ -2229,6 +2251,19 @@
"", \
"" )
+#:def_cmd_opt( "SIZEOF", "SORT", \
+ "", \
+ "Define a sort mode. Keywords are: @NONE@ (default), @NAME@ end" \
+ " @SIZE@." )
+
+#:def_cmd_opt( "SIZEOF", "BRIEF", \
+ "", \
+ "Limit output to SZS specific data." )
+
+#:def_cmd_opt( "SIZEOF", "LOGGING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SUBFILE", "DEST", \
"", \
"" )
@@ -5138,6 +5173,10 @@
"", \
"" )
+#:def_cmd_opt( "ANALYZE", "REFERENCE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ANALYZE", "DEST", \
"", \
"" )
@@ -5146,6 +5185,22 @@
"", \
"" )
+#:def_cmd_opt( "IS_TEXTURE", "IGNORE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "IS_TEXTURE", "REFERENCE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "IS_TEXTURE", "BATTLE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "IS_TEXTURE", "LONG", \
+ "", \
+ "Append a colon and the filename after each status." )
+
#:def_cmd_opt( "FEATURES", "BRIEF", \
"", \
"Suppres any comments at all. If set twice, suppress empty lines (for" \
@@ -5153,7 +5208,7 @@
#:def_cmd_opt( "FEATURES", "LONG", \
"", \
- "Print additnal comments." )
+ "Print additional comments." )
#:def_cmd_opt( "FEATURES", "IGNORE", \
"", \
@@ -11349,8 +11404,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -11367,6 +11422,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -12601,8 +12665,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -12619,6 +12683,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -13954,8 +14027,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -13972,6 +14045,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -14894,6 +14976,11 @@
" output. The exit status is @'DIFFER'@ if at least one KMP warning" \
" found." )
+#:def_cmd( "SHA1", "SHA1", \
+ "wszst SHA1 [source]...", \
+ "Print a SHA1 checksum of the KCL for each source. The checksum is" \
+ " calculated after patching." )
+
#:def_cmd( "BLOW", "BLOW", \
"wkclt BLOW source...", \
"Try to calculate the used blow size (KCL_BLOW) of a KCL. Print one" \
@@ -14945,8 +15032,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -14963,6 +15050,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -15237,6 +15333,30 @@
" are also accepted. For some conversions, the auto-add library is" \
" needed." )
+#:def_opt( "ID", "id", "C", \
+ "", \
+ "Print an ID with 8 characters instead of a SHA-1 sum with 40" \
+ " characters. The SHA-1 sum is used to calculate the ID. The ID" \
+ " consists of '0'-'9' and 'a'-'w' (32 characters)." )
+
+#:def_opt( "BASE64", "base64", "CO", \
+ "[=mode]", \
+ "Encode the the checksum string as BASE64 with 27 characters instead" \
+ " of hex. If a parameter is set, it acts like {--coding=mode}." )
+
+#:def_opt( "DB64", "db64", "CO", \
+ "[=mode]", \
+ "Encode the the checksum string and some length as BASE64 with 32" \
+ " characters instead of hex for database searches. This options" \
+ " implies {--coding=URL} if no other coding is defined. If a parameter" \
+ " is set, it acts like {--coding=mode}. Option {--db64} has priority" \
+ " over {--base64}." )
+
+#:def_opt( "CODING", "coding", "CP", \
+ "mode", \
+ "Define the coding of the non alphanumeric characters for BASE64:" \
+ " STANDARD (+/=, default), URL (-_=), STAR (-_*) or XML (.-*)." )
+
#:def_opt( "ROUND", "round", "C", \
"", \
"Print additional lines with rounded values (to 3 and 2 bytes for" \
@@ -16152,6 +16272,14 @@
"", \
"" )
+#:def_cmd_opt( "TYPES", "NO_HEADER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "TYPES", "BRIEF", \
+ "", \
+ "Print only the resulting flag." )
+
#:def_cmd_opt( "FLAGS", "NO_HEADER", \
"", \
"" )
@@ -16940,6 +17068,122 @@
"", \
"" )
+#:def_cmd_opt( "SHA1", "IGNORE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "ID", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "BASE64", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "DB64", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "CODING", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "BRIEF", \
+ "", \
+ "Suppress output of the filename." )
+
+#:def_cmd_opt( "SHA1", "CONST", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "SCALE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "SHIFT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "XSS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "YSS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "ZSS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "ROT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "XROT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "YROT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "ZROT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "TRANSLATE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "NULL", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "NEXT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "ASCALE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "AROT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "TFORM_SCRIPT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "KCL", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "KCL_FLAG", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "KCL_SCRIPT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "TRI_AREA", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "TRI_HEIGHT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "FLAG_FILE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "SLOT", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ANALYZE", "IGNORE", \
"", \
"" )
@@ -17295,8 +17539,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -17313,6 +17557,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -17524,11 +17777,10 @@
"[=mode]", \
"@MODE@ is either @OFF@, @AUTO@ (default) or @ON@. Without value, @ON@" \
" is used.\n" \
- " If mode is @ON@, assume a battle arena and enable a spüecial" \
- " battle support. If mode is @OFF@, disable special battle arena" \
- " support. If mode is @AUTO@, analyse the KMP and estimate, if it is a" \
- " battle areana. Modes @ON@ and @OFF@ override KMP parameter" \
- " @BATTLE-MODE@." )
+ " If mode is @ON@, assume a battle arena and enable a special battle" \
+ " support. If mode is @OFF@, disable special battle arena support. If" \
+ " mode is @AUTO@, analyse the KMP and estimate, if it is a battle" \
+ " areana. Modes @ON@ and @OFF@ override KMP parameter @BATTLE-MODE@." )
#:def_opt( "EXPORT_FLAGS", "export-flags|exportflags|exflags", "GO", \
"[=mode]", \
@@ -19356,8 +19608,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -19374,6 +19626,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -20618,8 +20879,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -20636,6 +20897,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -21874,8 +22144,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -21892,6 +22162,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -22384,9 +22663,10 @@
" @PAL@ (default), @USA@, @JAPAN@, @KOREA@, or any abbreviation of" \
" them. They select the region for the following addresses. The hex" \
" numbers (with or without @0x@ prefix) are interpreted as addresses." \
- " If possible, they are ported to all other regions. The result is" \
- " printed as colorized table.\n" \
- " This address porting is EXPERIMENTAL!" )
+ " If an address begins with @m@ or @s@, then it is interpreted as a" \
+ " file offset for @main.dol@ or @staticr.rel@. All addresses are" \
+ " ported to all other regions. The result is printed as colorized" \
+ " table." )
#:def_cmd( "WHERE", "WHERE", \
"wstrt WHERE address...", \
@@ -22489,8 +22769,8 @@
#:def_opt( "MAX_WIDTH", "max-width|maxwidth", "GP", \
"maxwidth", \
"Define the maximum terminal width (number of columns) for help and" \
- " some other messages and disable the automatic detection of the" \
- " terminal width. This option is ignored if {--width} is set." )
+ " some other messages. The default is 120. This option is ignored if" \
+ " --width is set." )
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
@@ -22507,6 +22787,15 @@
"", \
"This debug option enables the logging of internal lists and maps." )
+#:def_opt( "WARN", "W|warn", "GP", \
+ "list", \
+ "Enable or disable warnings. Parameter @'list'@ is a comma separated" \
+ " list of keywords. A minus sign before a keyword disables a warning." \
+ " Each occurrence of the option will only change entered warning and" \
+ " all other warnings are untouched.\n" \
+ " Keyword @DEFAULT@ resets the default settings, @OFF@ disables and" \
+ " @ALL@ enables all. The other allowed keywords are: @INVALID-OFFSET@." )
+
#:def_opt( "DE", "de", "G", \
"", \
"Use german track and arena names." )
@@ -22867,7 +23156,13 @@
#:def_opt( "NO_0X", "0|no-0x|no0x", "C", \
"", \
- "Suppress 0x prefix of hex numbers." )
+ "Suppress 0x prefix of hex numbers. This is the default for cheat" \
+ " codes." )
+
+#:def_opt( "UPPER", "U|upper", "C", \
+ "", \
+ "Print digits A-F of hex numbers in upper case. This is the default" \
+ " for cheat codes." )
#:def_opt( "VADDR", "vaddr|va", "CP", \
"RANGE", \
@@ -23243,6 +23538,10 @@
"", \
"" )
+#:def_cmd_opt( "PORT", "UPPER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PORT", "NO_HEADER", \
"", \
"Suppress the table header and footer and output exactly 1 line for" \
@@ -23264,6 +23563,10 @@
"", \
"" )
+#:def_cmd_opt( "WHERE", "UPPER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "WHERE", "NO_HEADER", \
"", \
"Suppress the table header and footer and output exactly 1 line for" \
diff --git a/project/src/ui/ui.h b/project/src/ui/ui.h
index 72b5a90..409b8fd 100644
--- a/project/src/ui/ui.h
+++ b/project/src/ui/ui.h
@@ -17,7 +17,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2022 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *