aboutsummaryrefslogtreecommitdiff
path: root/project/src/ui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--project/src/ui/tab-wbmgt.inc16
-rw-r--r--project/src/ui/tab-wctct.inc21
-rw-r--r--project/src/ui/tab-wimgt.inc16
-rw-r--r--project/src/ui/tab-wkclt.inc15
-rw-r--r--project/src/ui/tab-wkmpt.inc15
-rw-r--r--project/src/ui/tab-wlect.inc74
-rw-r--r--project/src/ui/tab-wmdlt.inc15
-rw-r--r--project/src/ui/tab-wpatt.inc15
-rw-r--r--project/src/ui/tab-wstrt.inc17
-rw-r--r--project/src/ui/tab-wszst.inc96
-rw-r--r--project/src/ui/ui-wbmgt.c169
-rw-r--r--project/src/ui/ui-wbmgt.h11
-rw-r--r--project/src/ui/ui-wctct.c218
-rw-r--r--project/src/ui/ui-wctct.h13
-rw-r--r--project/src/ui/ui-wimgt.c143
-rw-r--r--project/src/ui/ui-wimgt.h11
-rw-r--r--project/src/ui/ui-wkclt.c222
-rw-r--r--project/src/ui/ui-wkclt.h11
-rw-r--r--project/src/ui/ui-wkmpt.c244
-rw-r--r--project/src/ui/ui-wkmpt.h11
-rw-r--r--project/src/ui/ui-wlect.c447
-rw-r--r--project/src/ui/ui-wlect.h39
-rw-r--r--project/src/ui/ui-wmdlt.c176
-rw-r--r--project/src/ui/ui-wmdlt.h11
-rw-r--r--project/src/ui/ui-wpatt.c135
-rw-r--r--project/src/ui/ui-wpatt.h11
-rw-r--r--project/src/ui/ui-wstrt.c285
-rw-r--r--project/src/ui/ui-wstrt.h11
-rw-r--r--project/src/ui/ui-wszst.c1235
-rw-r--r--project/src/ui/ui-wszst.h25
-rw-r--r--project/src/ui/ui.def686
31 files changed, 3042 insertions, 1372 deletions
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc
index 753342c..8e38144 100644
--- a/project/src/ui/tab-wbmgt.inc
+++ b/project/src/ui/tab-wbmgt.inc
@@ -67,6 +67,10 @@
"wbmgt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wbmgt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wbmgt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -212,6 +216,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -221,6 +229,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -471,13 +482,16 @@
//---------- COMMAND wbmgt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+ //---------- COMMAND wbmgt EXPAND ----------
+
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wbmgt TEST ----------
{ T_CMD_BEG, "TEST", 0,0,0 },
-
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wbmgt COLORS ----------
diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc
index bb24731..312a34a 100644
--- a/project/src/ui/tab-wctct.inc
+++ b/project/src/ui/tab-wctct.inc
@@ -68,6 +68,10 @@
"wctct ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wctct EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wctct TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -199,6 +203,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -208,6 +216,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -346,6 +357,11 @@
{ T_OPT_GO, "REPAIR_MAGICS", "repair-magics|repairmagics",
0, 0 /* copy of wszst */ },
+ { T_OPT_GP, "CREATE_DISTRIB", "create-distrib|createdistrib",
+ "file",
+ "Create a LE-CODE distribution dump with a track list and more info about"
+ " the current distribution. Store the dump info a file." },
+
#if OPT_OLD_NEW
{ H_OPT_GM, "OLD", "OLD",
0, 0 /* copy of wszst */ },
@@ -589,13 +605,16 @@
//---------- COMMAND wctct ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+
+ //---------- COMMAND wctct EXPAND ----------
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wctct TEST ----------
{ T_CMD_BEG, "TEST", 0,0,0 },
-
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wctct COLORS ----------
diff --git a/project/src/ui/tab-wimgt.inc b/project/src/ui/tab-wimgt.inc
index 3ab70bd..bc5e27e 100644
--- a/project/src/ui/tab-wimgt.inc
+++ b/project/src/ui/tab-wimgt.inc
@@ -68,6 +68,10 @@
"wimgt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wimgt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wimgt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -169,6 +173,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -178,6 +186,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -419,13 +430,16 @@
//---------- COMMAND wimgt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+ //---------- COMMAND wimgt EXPAND ----------
+
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wimgt TEST ----------
{ T_CMD_BEG, "TEST", 0,0,0 },
-
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wimgt COLORS ----------
diff --git a/project/src/ui/tab-wkclt.inc b/project/src/ui/tab-wkclt.inc
index 2a137c8..ebeda48 100644
--- a/project/src/ui/tab-wkclt.inc
+++ b/project/src/ui/tab-wkclt.inc
@@ -67,6 +67,10 @@
"wkclt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wkclt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wkclt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -282,6 +286,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -291,6 +299,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -588,7 +599,11 @@
//---------- COMMAND wkclt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+
+ //---------- COMMAND wkclt EXPAND ----------
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wkclt TEST ----------
diff --git a/project/src/ui/tab-wkmpt.inc b/project/src/ui/tab-wkmpt.inc
index 0b2a49a..b647c4d 100644
--- a/project/src/ui/tab-wkmpt.inc
+++ b/project/src/ui/tab-wkmpt.inc
@@ -67,6 +67,10 @@
"wkmpt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wkmpt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wkmpt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -266,6 +270,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -275,6 +283,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -685,7 +696,11 @@
//---------- COMMAND wkmpt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+
+ //---------- COMMAND wkmpt EXPAND ----------
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wkmpt TEST ----------
diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc
index d5ac35d..3581bef 100644
--- a/project/src/ui/tab-wlect.inc
+++ b/project/src/ui/tab-wlect.inc
@@ -67,6 +67,10 @@
"wlect ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wlect EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wlect TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -161,17 +165,23 @@
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
{ T_DEF_CMD, "CREATE", "CREATE|CR",
- "wlect CREATE [keyword]",
+ "wlect CREATE [keyword] ...",
"Create a file and print it to standard output."
+ " Options {--dest} and {--DEST} can forc another destination."
" The kind of file is defined by KEYWORD."
- " Use command without keywords to get a list of possible keywords."
+ " The command can create LEX files, a LPAR file or a track listing."
+ "\n "
+ " Use the command without keyword to get an extended description." },
+
+ { T_DEF_CMD, "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB",
+ "wlect DISTRIBUTION [argument]...",
+ "This command manages data for LE-CODE track distributions."
+ " It reads any number of source files with different file types,"
+ " collects the data and creates any number of files with different file types."
"\n "
- " The following keywords are possible:"
- " @LEX@ for a LEX text file with all known sections except @TEST@."
- " @LEX+@ for a LEX text file with all known sections including @TEST@."
- " @SET1, CANN, HIPT@ and @TEST@ (section names)"
- " for a LEX text file with 1 section only."
- " @LPAR@ for an example LE-CODE parameter file." },
+ " Use the command without keyword to get an extended description."
+ "\n "
+ "This command is still under development. Its use is therefore EXPERIMENTAL!" },
{ T_DEF_CMD, "CAT", "CAT",
"wlect CAT [source]...",
@@ -222,6 +232,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -231,6 +245,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -253,6 +270,12 @@
"This option is completely ignored by wlect."
" It only exists due to compatibility with the other tools." },
+ { T_OPT_GP, "LOAD_PREFIX", "load-prefix|loadprefix",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_CP, "PLUS", "plus",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
@@ -407,6 +430,11 @@
{ T_OPT_GO, "REPAIR_MAGICS", "repair-magics|repairmagics",
0, 0 /* copy of wszst */ },
+ { T_OPT_CP, "CREATE_DISTRIB", "create-distrib|createdistrib",
+ "file",
+ "Create a LE-CODE distribution dump with a track list and more info about"
+ " the current distribution. Store the dump info a file." },
+
#if OPT_OLD_NEW
{ H_OPT_GM, "OLD", "OLD",
0, 0 /* copy of wszst */ },
@@ -542,6 +570,15 @@
" directory specified by option {--track-dir}."
" If linking fails, the file is copied." },
+ { T_OPT_CP, "SZS_MODE", "szs-mode|szsmode",
+ "mode",
+ "If a track is inserted via the SZS file,"
+ " then the associated directory is automatically included in the list"
+ " of search directories for option {--track-dir}."
+ " This option now sets the transfer mode. @OFF@ turns this feature off."
+ " The values @COPY@, @MOVE@, @MOVE1@ and @LINK@ define one of the 4 modes."
+ " Default mode is @LINK@." },
+
{ T_SEP_OPT, 0,0,0,0 }, //----- separator -----
{ T_OPT_C, "COMPLETE", "C|complete",
@@ -721,13 +758,16 @@
//---------- COMMAND wlect ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+ //---------- COMMAND wlect EXPAND ----------
+
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wlect TEST ----------
{ T_CMD_BEG, "TEST", 0,0,0 },
-
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wlect COLORS ----------
@@ -821,6 +861,7 @@
{ T_COPT, "VERBOSE", 0,0,
"For LE-CODE binaries: If set, print a track slot usage table." },
{ T_COPY_GRP, "PATCH", 0,0,0 },
+ { T_COPT, "CREATE_DISTRIB",0,0,0 },
//---------- COMMAND wlect DL ----------
@@ -851,6 +892,7 @@
{ T_COPY_GRP, "DEST", 0,0,0 },
// { T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_COPT, "CREATE_DISTRIB",0,0,0 },
//---------- COMMAND wlect LPAR ----------
@@ -878,8 +920,22 @@
{ T_COPT, "LEX_PURGE", 0,0,0 },
{ H_COPT, "LEX_RM_FEAT", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "LE_DEFINE", 0,0,0 },
+ { T_COPT, "LOAD_BMG", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "PARAM", 0,0,0 },
+ //---------- COMMAND wlect DISTRIBUTION ----------
+
+ { T_CMD_BEG, "DISTRIBUTION", 0,0,0 },
+ { T_COPT, "LOAD_PREFIX", 0,0,0 },
+ { T_COPT, "PLUS", 0,0,0 },
+ { T_COPY_GRP, "TRACK_COPY", 0,0,0 },
+ { T_COPT, "SZS_MODE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "TEXTOUT", 0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
+
//---------- COMMAND wlect CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
diff --git a/project/src/ui/tab-wmdlt.inc b/project/src/ui/tab-wmdlt.inc
index 85018fd..bb03e3b 100644
--- a/project/src/ui/tab-wmdlt.inc
+++ b/project/src/ui/tab-wmdlt.inc
@@ -67,6 +67,10 @@
"wmdlt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wmdlt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wmdlt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -192,6 +196,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -201,6 +209,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -457,7 +468,11 @@
//---------- COMMAND wmdlt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+
+ //---------- COMMAND wmdlt EXPAND ----------
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wmdlt TEST ----------
diff --git a/project/src/ui/tab-wpatt.inc b/project/src/ui/tab-wpatt.inc
index b2f193e..aa7b71d 100644
--- a/project/src/ui/tab-wpatt.inc
+++ b/project/src/ui/tab-wpatt.inc
@@ -67,6 +67,10 @@
"wpatt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wpatt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wpatt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -160,6 +164,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -169,6 +177,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -355,7 +366,11 @@
//---------- COMMAND wpatt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+
+ //---------- COMMAND wpatt EXPAND ----------
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wpatt TEST ----------
diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc
index 4015738..d540bcd 100644
--- a/project/src/ui/tab-wstrt.inc
+++ b/project/src/ui/tab-wstrt.inc
@@ -68,6 +68,10 @@
"wstrt ARGTEST ...",
0 /* copy of wszst */ },
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wstrt EXPAND ...",
+ 0 /* copy of wszst */ },
+
{ T_DEF_CMD, "TEST", "TEST",
"wstrt TEST [options]... [ignored]...",
0 /* copy of wszst */ },
@@ -223,6 +227,10 @@
"MAX_WIDTH", "max-width|maxwidth",
0, 0 /* copy of wszst */ },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0, 0 /* copy of wszst */ },
@@ -232,6 +240,9 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0, 0 /* copy of wszst */ },
+ { T_OPT_GM, "TIMING", "timing",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "WARN", "W|warn",
0, 0 /* copy of wszst */ },
@@ -923,13 +934,16 @@
//---------- COMMAND wstrt ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+ //---------- COMMAND wstrt EXPAND ----------
+
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wstrt TEST ----------
{ T_CMD_BEG, "TEST", 0,0,0 },
-
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wstrt COLORS ----------
@@ -997,6 +1011,7 @@
{ T_COPT, "FADDR", 0,0,0 },
{ T_COPT, "SNAME", 0,0,0 },
{ T_COPT, "LOGGING", 0,0,0 },
+ { T_COPT, "TIMING", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "HEXDUMP", 0,0,0 },
diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc
index d836fdf..3fbde8d 100644
--- a/project/src/ui/tab-wszst.inc
+++ b/project/src/ui/tab-wszst.inc
@@ -89,7 +89,18 @@
{ T_DEF_CMD, "ARGTEST", "ARGTEST",
"wszst ARGTEST ...",
"This debug command accepts all kinds of parameters"
- " and prints one line for each parameter." },
+ " and prints one line for each parameter."
+ " All tools know the ARGTEST command." },
+
+ { T_DEF_CMD, "EXPAND", "EXPAND",
+ "wszst EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters"
+ " and prints one line for each parameter."
+ " After that, the parameter is treated as a filename with wildcards"
+ " and all matching files are searched."
+ " The special parameters '+h' and '/h' enable or disable the search"
+ " for hidden directories and files (files beginning with a point)."
+ " All tools know the EXPAND command." },
{ T_DEF_CMD, "TEST", "TEST",
"wszst TEST [options]... [ignored]...",
@@ -105,12 +116,14 @@
{ T_DEF_CMD, "ERROR", "ERROR|ERR",
"wszst ERROR [error_code]",
"Translate an exit code to a message name."
- " If no exit code is entered, print a table with all error messages." },
+ " If no exit code is entered, print a table with all error messages."
+ " All tools know the ERROR command." },
{ T_DEF_CMD, "FILETYPE", "FILETYPE|FT",
"wszst FILETYPE file...",
"Scan the header of the entered files and print file type"
- " and path for each file as list." },
+ " and path for each file as list."
+ " All tools know the FILETYPE command." },
{ T_DEF_CMD, "FILEATTRIB", "FILEATTRIB|FA",
"wszst FILEATTRIB [keyword]...",
@@ -118,7 +131,8 @@
" If at least one keyword is entered, only matching file types"
" are printed."
" A keyword is either a file type (like 'BRRES' or 'BMG')"
- " or one of the printed keywords (like 'ARCHIVE' or 'EXTRACT')." },
+ " or one of the printed keywords (like 'ARCHIVE' or 'EXTRACT')."
+ " All tools know the FILEATTRIB command." },
{ T_DEF_CMD, "BRSUB", "BRSUB",
"wszst BRSUB [file]...",
@@ -130,17 +144,20 @@
{ T_DEF_CMD, "SYMBOLS", "SYMBOLS",
"wszst SYMBOLS",
- "Print predefined symbols of text parser to standard output." },
+ "Print predefined symbols of text parser to standard output."
+ " Many tools know the SYMBOLS command." },
{ T_DEF_CMD, "FUNCTIONS", "FUNCTIONS",
"wszst FUNCTIONS [key]...",
"Print a list with all parser functions."
" If one or more keys entered,"
- " then only functions that match at least one key are printed." },
+ " then only functions that match at least one key are printed."
+ " Many tools know the FUNCTIONS command." },
{ T_DEF_CMD, "CALCULATE", "CALCULATE",
"wszst CALCULATE expression...",
- "Calculate each expression and print the result to standard output." },
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command." },
{ T_DEF_CMD, "MATRIX", "MATRIX",
"wszst MATRIX [patch-option]... [vector]...",
@@ -352,6 +369,11 @@
"wszst ANALYZE [source]...",
"Analyse track files and print results in machine readable format." },
+ { T_DEF_CMD, "SPLIT", "SPLIT",
+ "wszst SPLIT [source]...",
+ "Analyse (file) names and split them into the different parts."
+ " Print the 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."
@@ -368,7 +390,7 @@
"wszst FEATURES [source]...",
"Analyse track files and create a feature list in machine readable format." },
- { T_DEF_CMD, "DISTRIBUTION", "DISTRIBUTION|DIST",
+ { T_DEF_CMD, "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB",
"wszst DISTRIBUTION result source...\n"
"wszst DISTRIBUTION directory [source]...",
"Load each @SOURCE@ (SZS, WBZ, U8 or WU8) and calculate a checksum"
@@ -384,7 +406,9 @@
"\n "
" If file @RESULT@ exists, it is automatically added as last source"
" to the list of option --source, but only if not already added."
- " On scanning of file @result@, parameters are scanned too." },
+ " On scanning of file @result@, parameters are scanned too."
+ "\n "
+ "See »welect DISTRIBUTION« for a new and alternative implementation of this." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -694,6 +718,11 @@
" for help and some other messages."
" The default is 120. This option is ignored if --width is set." },
+ { T_OPT_G|F_IGNORE,
+ "NO_PAGER", "no-pager|nopager",
+ 0,
+ "Forbid the internal usage of a pager." },
+
{ T_OPT_GM, "QUIET", "q|quiet",
0,
"Be quiet and print only error messages."
@@ -710,7 +739,13 @@
{ T_OPT_GM, "LOGGING", "L|logging",
0,
- "This debug option enables the logging of internal lists and maps." },
+ "This debug option enables the logging of internal lists and maps."
+ " Set it up to three times to be more verbose.\n" },
+
+ { T_OPT_GM, "TIMING", "timing",
+ 0,
+ "Activate the timing of some operations."
+ " Logging level 3 activates them too.\n" },
{ T_OPT_GP, "WARN", "W|warn",
"list",
@@ -765,6 +800,25 @@
" The optional parameter is deprecated and ignored."
"\1 See https://szs.wiimm.de/opt/lecode for details." },
+ { T_OPT_GP, "LOAD_PREFIX", "load-prefix|loadprefix",
+ "file",
+ "Read in a PREFIX file and replace the internal prefix database with the content."
+ " https://ct.wiimm.de/export/prefix is the authoritative source for this." },
+
+ { T_OPT_CP, "PLUS", "plus",
+ "chars",
+ "If a name begins with a plus sign, then all characters up to the first space"
+ " are recognized as a plus prefix."
+ " The first part consists of all the plus signs followed by any other characters."
+ " The first character of the second part is used to determine the sort value."
+ " If the second part is empty, then the last plus sign is used instead."
+ "\n "
+ " The higher sorting value is now calculated from the number of plus signs"
+ " in the first part, the more plus signs, the smaller the value."
+ " The first character from the second part determines the lower value."
+ " If it is in parameter CHARS then the position determines the value,"
+ " otherwise the ASCII value to which 500 is added." },
+
{ T_OPT_GMP, "CHDIR", "chdir",
"dir",
"Set a new working directory for all following options,"
@@ -1531,7 +1585,7 @@
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)." },
+ " The ID consists of '0'-'9' and 'a'-'v' (32 different characters)." },
{ T_OPT_CO, "BASE64", "base64",
"[=mode]",
@@ -2578,6 +2632,7 @@
{ T_COPT, "RM_AIPARAM", 0,0,0 },
{ T_COPY_GRP, "ALIGN", 0,0,0 },
{ T_COPT, "LOGGING", 0,0,0 },
+ { T_COPT, "TIMING", 0,0,0 },
{ T_COPY_GRP, "ENCODE", 0,0,0 },
{ T_COPT, "AUTO_ADD", 0,0,0 },
{ T_COPT, "MIPMAPS", 0,0,0 },
@@ -2663,7 +2718,11 @@
//---------- COMMAND wszst ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
+ { T_ALL_OPT, 0, 0,0,0 },
+
+ //---------- COMMAND wszst EXPAND ----------
+ { T_CMD_BEG, "EXPAND", 0,0,0 },
{ T_ALL_OPT, 0, 0,0,0 },
//---------- COMMAND wszst TEST ----------
@@ -2840,6 +2899,7 @@
{ T_COPT, "BRIEF", 0,0,
"Limit output to SZS specific data." },
{ T_COPT, "LOGGING", 0,0,0 },
+ { T_COPT, "TIMING", 0,0,0 },
//---------- COMMAND wszst _CODE ----------
@@ -3030,6 +3090,19 @@
{ T_COPT, "DEST", 0,0,0 },
{ T_COPT, "DEST2", 0,0,0 },
+ //---------- COMMAND wszst SPLIT ----------
+
+ { T_CMD_BEG, "SPLIT", 0,0,0 },
+ { T_COPT, "LOAD_PREFIX", 0,0,0 },
+ { T_COPT, "PLUS", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "SCRIPT", 0,0,0 },
+ { T_SEP_OPT, 0,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 },
@@ -3247,6 +3320,7 @@
{ T_COPT, "IGNORE_SETUP", 0,0,0 },
{ T_COPY_GRP, "ALIGN", 0,0,0 },
{ T_COPT, "LOGGING", 0,0,0 },
+ { T_COPT, "TIMING", 0,0,0 },
{ T_COPY_GRP, "ENCODE", 0,0,0 },
{ T_COPT, "MIPMAPS", 0,0,0 },
{ T_COPT, "NO_MIPMAPS", 0,0,0 },
diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c
index aa991c4..0741af3 100644
--- a/project/src/ui/ui-wbmgt.c
+++ b/project/src/ui/ui-wbmgt.c
@@ -353,6 +353,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -368,7 +373,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -541,7 +553,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 == 64
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 66
};
@@ -641,6 +653,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -684,9 +697,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -840,39 +856,41 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_POINTS,
- /* 0x08d */ OPT_UTF_8,
- /* 0x08e */ OPT_NO_UTF_8,
- /* 0x08f */ OPT_FORCE,
- /* 0x090 */ OPT_REPAIR_MAGICS,
- /* 0x091 */ OPT_OLD,
- /* 0x092 */ OPT_STD,
- /* 0x093 */ OPT_NEW,
- /* 0x094 */ OPT_EXTRACT,
- /* 0x095 */ OPT_NUMBER,
- /* 0x096 */ OPT_ALIGN,
- /* 0x097 */ OPT_MACRO_BMG,
- /* 0x098 */ OPT_FILTER_BMG,
- /* 0x099 */ OPT_BMG_ENDIAN,
- /* 0x09a */ OPT_BMG_ENCODING,
- /* 0x09b */ OPT_BMG_INF_SIZE,
- /* 0x09c */ OPT_BMG_MID,
- /* 0x09d */ OPT_FORCE_ATTRIB,
- /* 0x09e */ OPT_DEF_ATTRIB,
- /* 0x09f */ OPT_NO_ATTRIB,
- /* 0x0a0 */ OPT_X_ESCAPES,
- /* 0x0a1 */ OPT_OLD_ESCAPES,
- /* 0x0a2 */ OPT_NO_BMG_COLORS,
- /* 0x0a3 */ OPT_BMG_COLORS,
- /* 0x0a4 */ OPT_NO_BMG_INLINE,
- /* 0x0a5 */ OPT_SECTIONS,
- /* 0x0a6 */ 0,0,0,0, 0,0,0,0, 0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_POINTS,
+ /* 0x08f */ OPT_UTF_8,
+ /* 0x090 */ OPT_NO_UTF_8,
+ /* 0x091 */ OPT_FORCE,
+ /* 0x092 */ OPT_REPAIR_MAGICS,
+ /* 0x093 */ OPT_OLD,
+ /* 0x094 */ OPT_STD,
+ /* 0x095 */ OPT_NEW,
+ /* 0x096 */ OPT_EXTRACT,
+ /* 0x097 */ OPT_NUMBER,
+ /* 0x098 */ OPT_ALIGN,
+ /* 0x099 */ OPT_MACRO_BMG,
+ /* 0x09a */ OPT_FILTER_BMG,
+ /* 0x09b */ OPT_BMG_ENDIAN,
+ /* 0x09c */ OPT_BMG_ENCODING,
+ /* 0x09d */ OPT_BMG_INF_SIZE,
+ /* 0x09e */ OPT_BMG_MID,
+ /* 0x09f */ OPT_FORCE_ATTRIB,
+ /* 0x0a0 */ OPT_DEF_ATTRIB,
+ /* 0x0a1 */ OPT_NO_ATTRIB,
+ /* 0x0a2 */ OPT_X_ESCAPES,
+ /* 0x0a3 */ OPT_OLD_ESCAPES,
+ /* 0x0a4 */ OPT_NO_BMG_COLORS,
+ /* 0x0a5 */ OPT_BMG_COLORS,
+ /* 0x0a6 */ OPT_NO_BMG_INLINE,
+ /* 0x0a7 */ OPT_SECTIONS,
+ /* 0x0a8 */ 0,0,0,0, 0,0,0,0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -913,109 +931,115 @@ static u8 option_allowed_cmd_ARGTEST[32] = // cmd #4
1,1
};
-static u8 option_allowed_cmd_TEST[32] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[32] = // 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
};
-static u8 option_allowed_cmd_COLORS[32] = // cmd #6
+static u8 option_allowed_cmd_TEST[32] = // 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
+};
+
+static u8 option_allowed_cmd_COLORS[32] = // cmd #7
{
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
};
-static u8 option_allowed_cmd_ERROR[32] = // cmd #7
+static u8 option_allowed_cmd_ERROR[32] = // cmd #8
{
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
};
-static u8 option_allowed_cmd_FILETYPE[32] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[32] = // cmd #9
{
0,1,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0
};
-static u8 option_allowed_cmd_FILEATTRIB[32] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[32] = // cmd #10
{
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
};
-static u8 option_allowed_cmd_POINTS[32] = // cmd #10
+static u8 option_allowed_cmd_POINTS[32] = // cmd #11
{
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
};
-static u8 option_allowed_cmd_REGEXP[32] = // cmd #11
+static u8 option_allowed_cmd_REGEXP[32] = // 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
};
-static u8 option_allowed_cmd_EXTRACT[32] = // cmd #12
+static u8 option_allowed_cmd_EXTRACT[32] = // cmd #13
{
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
};
-static u8 option_allowed_cmd_SECTIONS[32] = // cmd #13
+static u8 option_allowed_cmd_SECTIONS[32] = // cmd #14
{
0,0,0,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
};
-static u8 option_allowed_cmd_LIST[32] = // cmd #14
+static u8 option_allowed_cmd_LIST[32] = // cmd #15
{
0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0
};
-static u8 option_allowed_cmd_SLOTS[32] = // cmd #15
+static u8 option_allowed_cmd_SLOTS[32] = // cmd #16
{
0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0
};
-static u8 option_allowed_cmd_DIFF[32] = // cmd #16
+static u8 option_allowed_cmd_DIFF[32] = // cmd #17
{
0,0,0,0,1, 0,1,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
};
-static u8 option_allowed_cmd_CAT[32] = // cmd #17
+static u8 option_allowed_cmd_CAT[32] = // cmd #18
{
0,1,1,1,0, 0,0,0,0,0, 0,0,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,0
};
-static u8 option_allowed_cmd_MIX[32] = // cmd #18
+static u8 option_allowed_cmd_MIX[32] = // cmd #19
{
0,1,1,1,0, 0,0,0,0,0, 0,0,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,0
};
-static u8 option_allowed_cmd_IDENTIFIER[32] = // cmd #19
+static u8 option_allowed_cmd_IDENTIFIER[32] = // cmd #20
{
0,1,1,1,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,0
};
-static u8 option_allowed_cmd_DECODE[32] = // cmd #20
+static u8 option_allowed_cmd_DECODE[32] = // cmd #21
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,0
};
-static u8 option_allowed_cmd_ENCODE[32] = // cmd #21
+static u8 option_allowed_cmd_ENCODE[32] = // cmd #22
{
0,0,0,0,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
};
-static u8 option_allowed_cmd_PATCH[32] = // cmd #22
+static u8 option_allowed_cmd_PATCH[32] = // cmd #23
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,0
@@ -1037,9 +1061,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -1094,6 +1120,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
@@ -1422,7 +1454,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,
- 26,
+ 28,
option_tab_tool,
0
},
@@ -1488,13 +1520,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wbmgt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wbmgt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -1534,7 +1585,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wbmgt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -1549,7 +1601,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wbmgt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -1566,7 +1618,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
diff --git a/project/src/ui/ui-wbmgt.h b/project/src/ui/ui-wbmgt.h
index 855342f..31f238f 100644
--- a/project/src/ui/ui-wbmgt.h
+++ b/project/src/ui/ui-wbmgt.h
@@ -100,9 +100,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -125,7 +127,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 64
+ OPT__N_TOTAL // == 66
} enumOptions;
@@ -212,6 +214,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -304,6 +308,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -326,7 +331,7 @@ typedef enum enumCommands
CMD_PATCH,
- CMD__N // == 23
+ CMD__N // == 24
} enumCommands;
@@ -373,6 +378,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c
index 1344aa3..2d15c1f 100644
--- a/project/src/ui/ui-wctct.c
+++ b/project/src/ui/ui-wctct.c
@@ -453,6 +453,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -468,7 +473,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -616,6 +628,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
">>> THE RESULT MAY BE INVALID OUTPUT FILES! <<<"
},
+ { OPT_CREATE_DISTRIB, false, false, false, false, false, 0, "create-distrib",
+ "file",
+ "Create a LE-CODE distribution dump with a track list and more info"
+ " about the current distribution. Store the dump info a file."
+ },
+
{ OPT_OLD, false, true, false, false, false, 0, "OLD",
0,
"Developer option: Cancel --NEW and use old implementation if"
@@ -672,7 +690,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 == 83
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 86
};
@@ -834,6 +852,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -875,9 +894,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -944,6 +966,8 @@ static const struct option OptionLong[] =
{ "force", 0, 0, GO_FORCE },
{ "repair-magics", 2, 0, GO_REPAIR_MAGICS },
{ "repairmagics", 2, 0, GO_REPAIR_MAGICS },
+ { "create-distrib", 1, 0, GO_CREATE_DISTRIB },
+ { "createdistrib", 1, 0, GO_CREATE_DISTRIB },
{ "OLD", 0, 0, GO_OLD },
{ "STD", 0, 0, GO_STD },
{ "NEW", 0, 0, GO_NEW },
@@ -1058,57 +1082,60 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_OLD_SPINY,
- /* 0x08c */ OPT_CRS1,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_ROUND,
- /* 0x08f */ OPT_RAW,
- /* 0x090 */ OPT_BMG_ENDIAN,
- /* 0x091 */ OPT_BMG_ENCODING,
- /* 0x092 */ OPT_BMG_INF_SIZE,
- /* 0x093 */ OPT_BMG_MID,
- /* 0x094 */ OPT_FORCE_ATTRIB,
- /* 0x095 */ OPT_DEF_ATTRIB,
- /* 0x096 */ OPT_NO_ATTRIB,
- /* 0x097 */ OPT_X_ESCAPES,
- /* 0x098 */ OPT_OLD_ESCAPES,
- /* 0x099 */ OPT_NO_BMG_COLORS,
- /* 0x09a */ OPT_BMG_COLORS,
- /* 0x09b */ OPT_NO_BMG_INLINE,
- /* 0x09c */ OPT_NO_ECHO,
- /* 0x09d */ OPT_UTF_8,
- /* 0x09e */ OPT_NO_UTF_8,
- /* 0x09f */ OPT_FORCE,
- /* 0x0a0 */ OPT_REPAIR_MAGICS,
- /* 0x0a1 */ OPT_OLD,
- /* 0x0a2 */ OPT_STD,
- /* 0x0a3 */ OPT_NEW,
- /* 0x0a4 */ OPT_EXTRACT,
- /* 0x0a5 */ OPT_LIST,
- /* 0x0a6 */ OPT_REF,
- /* 0x0a7 */ OPT_FULL,
- /* 0x0a8 */ OPT_HEX,
- /* 0x0a9 */ OPT_CT_DIR,
- /* 0x0aa */ OPT_CT_LOG,
- /* 0x0ab */ OPT_ALLOW_SLOTS,
- /* 0x0ac */ OPT_IMAGES,
- /* 0x0ad */ OPT_LOAD_BMG,
- /* 0x0ae */ OPT_PATCH_BMG,
- /* 0x0af */ OPT_MACRO_BMG,
- /* 0x0b0 */ OPT_FILTER_BMG,
- /* 0x0b1 */ OPT_PATCH_NAMES,
- /* 0x0b2 */ OPT_ORDER_BY,
- /* 0x0b3 */ OPT_ORDER_ALL,
- /* 0x0b4 */ OPT_DYNAMIC,
- /* 0x0b5 */ OPT_WRITE_TRACKS,
- /* 0x0b6 */ OPT_NUMBER,
- /* 0x0b7 */ OPT_SECTIONS,
- /* 0x0b8 */ 0,0,0,0, 0,0,0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_OLD_SPINY,
+ /* 0x08e */ OPT_CRS1,
+ /* 0x08f */ OPT_CHDIR,
+ /* 0x090 */ OPT_ROUND,
+ /* 0x091 */ OPT_RAW,
+ /* 0x092 */ OPT_BMG_ENDIAN,
+ /* 0x093 */ OPT_BMG_ENCODING,
+ /* 0x094 */ OPT_BMG_INF_SIZE,
+ /* 0x095 */ OPT_BMG_MID,
+ /* 0x096 */ OPT_FORCE_ATTRIB,
+ /* 0x097 */ OPT_DEF_ATTRIB,
+ /* 0x098 */ OPT_NO_ATTRIB,
+ /* 0x099 */ OPT_X_ESCAPES,
+ /* 0x09a */ OPT_OLD_ESCAPES,
+ /* 0x09b */ OPT_NO_BMG_COLORS,
+ /* 0x09c */ OPT_BMG_COLORS,
+ /* 0x09d */ OPT_NO_BMG_INLINE,
+ /* 0x09e */ OPT_NO_ECHO,
+ /* 0x09f */ OPT_UTF_8,
+ /* 0x0a0 */ OPT_NO_UTF_8,
+ /* 0x0a1 */ OPT_FORCE,
+ /* 0x0a2 */ OPT_REPAIR_MAGICS,
+ /* 0x0a3 */ OPT_CREATE_DISTRIB,
+ /* 0x0a4 */ OPT_OLD,
+ /* 0x0a5 */ OPT_STD,
+ /* 0x0a6 */ OPT_NEW,
+ /* 0x0a7 */ OPT_EXTRACT,
+ /* 0x0a8 */ OPT_LIST,
+ /* 0x0a9 */ OPT_REF,
+ /* 0x0aa */ OPT_FULL,
+ /* 0x0ab */ OPT_HEX,
+ /* 0x0ac */ OPT_CT_DIR,
+ /* 0x0ad */ OPT_CT_LOG,
+ /* 0x0ae */ OPT_ALLOW_SLOTS,
+ /* 0x0af */ OPT_IMAGES,
+ /* 0x0b0 */ OPT_LOAD_BMG,
+ /* 0x0b1 */ OPT_PATCH_BMG,
+ /* 0x0b2 */ OPT_MACRO_BMG,
+ /* 0x0b3 */ OPT_FILTER_BMG,
+ /* 0x0b4 */ OPT_PATCH_NAMES,
+ /* 0x0b5 */ OPT_ORDER_BY,
+ /* 0x0b6 */ OPT_ORDER_ALL,
+ /* 0x0b7 */ OPT_DYNAMIC,
+ /* 0x0b8 */ OPT_WRITE_TRACKS,
+ /* 0x0b9 */ OPT_NUMBER,
+ /* 0x0ba */ OPT_SECTIONS,
+ /* 0x0bb */ 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,
@@ -1148,109 +1175,115 @@ static u8 option_allowed_cmd_ARGTEST[47] = // cmd #4
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
};
-static u8 option_allowed_cmd_TEST[47] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[47] = // 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
+};
+
+static u8 option_allowed_cmd_TEST[47] = // 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
};
-static u8 option_allowed_cmd_COLORS[47] = // cmd #6
+static u8 option_allowed_cmd_COLORS[47] = // cmd #7
{
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
};
-static u8 option_allowed_cmd_ERROR[47] = // cmd #7
+static u8 option_allowed_cmd_ERROR[47] = // cmd #8
{
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,1
};
-static u8 option_allowed_cmd_FILETYPE[47] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[47] = // cmd #9
{
0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[47] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[47] = // 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
};
-static u8 option_allowed_cmd_SYMBOLS[47] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[47] = // cmd #11
{
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
};
-static u8 option_allowed_cmd_FUNCTIONS[47] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[47] = // cmd #12
{
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
};
-static u8 option_allowed_cmd_CALCULATE[47] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[47] = // 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
};
-static u8 option_allowed_cmd_FLOAT[47] = // cmd #13
+static u8 option_allowed_cmd_FLOAT[47] = // cmd #14
{
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
};
-static u8 option_allowed_cmd_EXPORT[47] = // cmd #14
+static u8 option_allowed_cmd_EXPORT[47] = // 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
};
-static u8 option_allowed_cmd_RAWDUMP[47] = // cmd #15
+static u8 option_allowed_cmd_RAWDUMP[47] = // 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,1,1,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_DUMP[47] = // cmd #16
+static u8 option_allowed_cmd_DUMP[47] = // cmd #17
{
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,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_CAT[47] = // cmd #17
+static u8 option_allowed_cmd_CAT[47] = // cmd #18
{
0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,1,1, 1,1,0,1,1,
1,1,1,1,1, 0,1,0,0,0, 0,0,0,0,0, 1,0
};
-static u8 option_allowed_cmd_BMG[47] = // cmd #18
+static u8 option_allowed_cmd_BMG[47] = // cmd #19
{
0,0,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,1,1, 1,1,0,1,1,
1,1,1,1,1, 0,1,0,0,0, 0,0,0,0,0, 1,0
};
-static u8 option_allowed_cmd_TRACKS[47] = // cmd #19
+static u8 option_allowed_cmd_TRACKS[47] = // cmd #20
{
0,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,1,1, 1,1,0,1,1,
1,1,1,1,1, 0,1,0,0,0, 0,0,0,0,0, 1,0
};
-static u8 option_allowed_cmd_DECODE[47] = // cmd #20
+static u8 option_allowed_cmd_DECODE[47] = // cmd #21
{
0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,1,1, 1,1,0,1,1,
1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,0
};
-static u8 option_allowed_cmd_CREATE[47] = // cmd #21
+static u8 option_allowed_cmd_CREATE[47] = // cmd #22
{
0,0,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,0,0, 0,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0
};
-static u8 option_allowed_cmd_PATCH[47] = // cmd #22
+static u8 option_allowed_cmd_PATCH[47] = // cmd #23
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,1,1,
1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,0
@@ -1272,9 +1305,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -1292,6 +1327,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_TEST,
OptionInfo + OPT_FORCE,
OptionInfo + OPT_REPAIR_MAGICS,
+ OptionInfo + OPT_CREATE_DISTRIB,
OptionInfo + OPT_NONE, // separator
@@ -1334,6 +1370,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
@@ -1654,7 +1696,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,
- 28,
+ 31,
option_tab_tool,
0
},
@@ -1720,13 +1762,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wctct ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wctct EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -1766,7 +1827,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wctct ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -1781,7 +1843,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wctct FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -1798,7 +1860,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -1843,7 +1906,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wctct CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h
index 532b082..f55d4ad 100644
--- a/project/src/ui/ui-wctct.h
+++ b/project/src/ui/ui-wctct.h
@@ -115,9 +115,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -136,6 +138,7 @@ typedef enum enumOptions
OPT_TEST,
OPT_FORCE,
OPT_REPAIR_MAGICS,
+ OPT_CREATE_DISTRIB,
OPT_OLD,
OPT_STD,
OPT_NEW,
@@ -144,7 +147,7 @@ typedef enum enumOptions
OPT_CT_LOG,
OPT_ALLOW_SLOTS,
- OPT__N_TOTAL // == 83
+ OPT__N_TOTAL // == 86
} enumOptions;
@@ -248,6 +251,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -374,6 +379,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -395,7 +401,7 @@ typedef enum enumCommands
CMD_PATCH,
- CMD__N // == 23
+ CMD__N // == 24
} enumCommands;
@@ -443,6 +449,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
@@ -470,6 +478,7 @@ typedef enum enumGetOpt
GO_NO_UTF_8,
GO_FORCE,
GO_REPAIR_MAGICS,
+ GO_CREATE_DISTRIB,
GO_OLD,
GO_STD,
GO_NEW,
diff --git a/project/src/ui/ui-wimgt.c b/project/src/ui/ui-wimgt.c
index 7ffff1c..c6eca37 100644
--- a/project/src/ui/ui-wimgt.c
+++ b/project/src/ui/ui-wimgt.c
@@ -316,6 +316,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -331,7 +336,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -492,7 +504,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 == 57
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 59
};
@@ -588,6 +600,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -625,9 +638,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -766,33 +782,34 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_UTF_8,
- /* 0x08d */ OPT_NO_UTF_8,
- /* 0x08e */ OPT_FORCE,
- /* 0x08f */ OPT_REPAIR_MAGICS,
- /* 0x090 */ OPT_OLD,
- /* 0x091 */ OPT_STD,
- /* 0x092 */ OPT_NEW,
- /* 0x093 */ OPT_EXTRACT,
- /* 0x094 */ OPT_NUMBER,
- /* 0x095 */ OPT_MIPMAPS,
- /* 0x096 */ OPT_NO_MIPMAPS,
- /* 0x097 */ OPT_N_MIPMAPS,
- /* 0x098 */ OPT_MAX_MIPMAPS,
- /* 0x099 */ OPT_MIPMAP_SIZE,
- /* 0x09a */ OPT_FAST_MIPMAPS,
- /* 0x09b */ OPT_CMPR_DEFAULT,
- /* 0x09c */ OPT_PRE_CONVERT,
- /* 0x09d */ OPT_STRIP,
- /* 0x09e */ OPT_SECTIONS,
- /* 0x09f */ 0,
- /* 0x0a0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_UTF_8,
+ /* 0x08f */ OPT_NO_UTF_8,
+ /* 0x090 */ OPT_FORCE,
+ /* 0x091 */ OPT_REPAIR_MAGICS,
+ /* 0x092 */ OPT_OLD,
+ /* 0x093 */ OPT_STD,
+ /* 0x094 */ OPT_NEW,
+ /* 0x095 */ OPT_EXTRACT,
+ /* 0x096 */ OPT_NUMBER,
+ /* 0x097 */ OPT_MIPMAPS,
+ /* 0x098 */ OPT_NO_MIPMAPS,
+ /* 0x099 */ OPT_N_MIPMAPS,
+ /* 0x09a */ OPT_MAX_MIPMAPS,
+ /* 0x09b */ OPT_MIPMAP_SIZE,
+ /* 0x09c */ OPT_FAST_MIPMAPS,
+ /* 0x09d */ OPT_CMPR_DEFAULT,
+ /* 0x09e */ OPT_PRE_CONVERT,
+ /* 0x09f */ OPT_STRIP,
+ /* 0x0a0 */ OPT_SECTIONS,
+ /* 0x0a1 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -829,62 +846,67 @@ static u8 option_allowed_cmd_ARGTEST[26] = // 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
};
-static u8 option_allowed_cmd_TEST[26] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[26] = // 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
};
-static u8 option_allowed_cmd_COLORS[26] = // cmd #6
+static u8 option_allowed_cmd_TEST[26] = // 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
+};
+
+static u8 option_allowed_cmd_COLORS[26] = // cmd #7
{
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
};
-static u8 option_allowed_cmd_ERROR[26] = // cmd #7
+static u8 option_allowed_cmd_ERROR[26] = // cmd #8
{
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, 1
};
-static u8 option_allowed_cmd_FILETYPE[26] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[26] = // cmd #9
{
0,1,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FILEATTRIB[26] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[26] = // cmd #10
{
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
};
-static u8 option_allowed_cmd_LIST[26] = // cmd #10
+static u8 option_allowed_cmd_LIST[26] = // cmd #11
{
0,1,1,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_LIST_L[26] = // cmd #11
+static u8 option_allowed_cmd_LIST_L[26] = // cmd #12
{
0,1,1,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_LIST_LL[26] = // cmd #12
+static u8 option_allowed_cmd_LIST_LL[26] = // cmd #13
{
0,1,1,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_DECODE[26] = // cmd #13
+static u8 option_allowed_cmd_DECODE[26] = // cmd #14
{
0,0,0,0,1, 1,1,1,1,1, 1,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_ENCODE[26] = // cmd #14
+static u8 option_allowed_cmd_ENCODE[26] = // cmd #15
{
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
};
-static u8 option_allowed_cmd_CONVERT[26] = // cmd #15
+static u8 option_allowed_cmd_CONVERT[26] = // cmd #16
{
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
};
-static u8 option_allowed_cmd_COPY[26] = // cmd #16
+static u8 option_allowed_cmd_COPY[26] = // cmd #17
{
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
};
@@ -905,9 +927,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -959,6 +983,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
@@ -1188,7 +1218,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,
- 23,
+ 25,
option_tab_tool,
0
},
@@ -1254,13 +1284,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wimgt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wimgt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -1300,7 +1349,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wimgt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -1315,7 +1365,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wimgt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -1332,7 +1382,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
diff --git a/project/src/ui/ui-wimgt.h b/project/src/ui/ui-wimgt.h
index 4595e8e..1373c02 100644
--- a/project/src/ui/ui-wimgt.h
+++ b/project/src/ui/ui-wimgt.h
@@ -94,9 +94,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -118,7 +120,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 57
+ OPT__N_TOTAL // == 59
} enumOptions;
@@ -193,6 +195,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -244,6 +248,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -260,7 +265,7 @@ typedef enum enumCommands
CMD_COPY,
- CMD__N // == 17
+ CMD__N // == 18
} enumCommands;
@@ -306,6 +311,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wkclt.c b/project/src/ui/ui-wkclt.c
index adcb273..df62da4 100644
--- a/project/src/ui/ui-wkclt.c
+++ b/project/src/ui/ui-wkclt.c
@@ -265,7 +265,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
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)."
+ " consists of '0'-'9' and 'a'-'v' (32 different characters)."
},
{ OPT_BASE64, true, false, false, false, false, 0, "base64",
@@ -453,6 +453,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -468,7 +473,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -680,7 +692,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
};
@@ -914,6 +926,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -965,9 +978,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -1122,53 +1138,55 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_SCALE,
- /* 0x08d */ OPT_SHIFT,
- /* 0x08e */ OPT_XSS,
- /* 0x08f */ OPT_YSS,
- /* 0x090 */ OPT_ZSS,
- /* 0x091 */ OPT_ROT,
- /* 0x092 */ OPT_XROT,
- /* 0x093 */ OPT_YROT,
- /* 0x094 */ OPT_ZROT,
- /* 0x095 */ OPT_TRANSLATE,
- /* 0x096 */ OPT_NULL,
- /* 0x097 */ OPT_NEXT,
- /* 0x098 */ OPT_ASCALE,
- /* 0x099 */ OPT_AROT,
- /* 0x09a */ OPT_TFORM_SCRIPT,
- /* 0x09b */ OPT_KCL,
- /* 0x09c */ OPT_KCL_FLAG,
- /* 0x09d */ OPT_KCL_SCRIPT,
- /* 0x09e */ OPT_TRI_AREA,
- /* 0x09f */ OPT_TRI_HEIGHT,
- /* 0x0a0 */ OPT_FLAG_FILE,
- /* 0x0a1 */ OPT_XTRIDATA,
- /* 0x0a2 */ OPT_SLOT,
- /* 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,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_SCALE,
+ /* 0x08f */ OPT_SHIFT,
+ /* 0x090 */ OPT_XSS,
+ /* 0x091 */ OPT_YSS,
+ /* 0x092 */ OPT_ZSS,
+ /* 0x093 */ OPT_ROT,
+ /* 0x094 */ OPT_XROT,
+ /* 0x095 */ OPT_YROT,
+ /* 0x096 */ OPT_ZROT,
+ /* 0x097 */ OPT_TRANSLATE,
+ /* 0x098 */ OPT_NULL,
+ /* 0x099 */ OPT_NEXT,
+ /* 0x09a */ OPT_ASCALE,
+ /* 0x09b */ OPT_AROT,
+ /* 0x09c */ OPT_TFORM_SCRIPT,
+ /* 0x09d */ OPT_KCL,
+ /* 0x09e */ OPT_KCL_FLAG,
+ /* 0x09f */ OPT_KCL_SCRIPT,
+ /* 0x0a0 */ OPT_TRI_AREA,
+ /* 0x0a1 */ OPT_TRI_HEIGHT,
+ /* 0x0a2 */ OPT_FLAG_FILE,
+ /* 0x0a3 */ OPT_XTRIDATA,
+ /* 0x0a4 */ OPT_SLOT,
+ /* 0x0a5 */ OPT_ID,
+ /* 0x0a6 */ OPT_BASE64,
+ /* 0x0a7 */ OPT_DB64,
+ /* 0x0a8 */ OPT_CODING,
+ /* 0x0a9 */ OPT_ROUND,
+ /* 0x0aa */ OPT_NO_ECHO,
+ /* 0x0ab */ OPT_UTF_8,
+ /* 0x0ac */ OPT_NO_UTF_8,
+ /* 0x0ad */ OPT_FORCE,
+ /* 0x0ae */ OPT_REPAIR_MAGICS,
+ /* 0x0af */ OPT_TINY,
+ /* 0x0b0 */ OPT_OLD,
+ /* 0x0b1 */ OPT_STD,
+ /* 0x0b2 */ OPT_NEW,
+ /* 0x0b3 */ OPT_EXTRACT,
+ /* 0x0b4 */ OPT_NUMBER,
+ /* 0x0b5 */ OPT_SECTIONS,
+ /* 0x0b6 */ 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,
@@ -1208,169 +1226,175 @@ static u8 option_allowed_cmd_ARGTEST[41] = // cmd #4
1,1,1,1,1, 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_TEST[41] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[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
};
-static u8 option_allowed_cmd_COLORS[41] = // cmd #6
+static u8 option_allowed_cmd_TEST[41] = // 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
+};
+
+static u8 option_allowed_cmd_COLORS[41] = // 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, 1,0,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ERROR[41] = // cmd #7
+static u8 option_allowed_cmd_ERROR[41] = // 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, 1,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_FILETYPE[41] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[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,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[41] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[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,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[41] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[41] = // 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,1,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FUNCTIONS[41] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[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, 1,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_CALCULATE[41] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[41] = // 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
};
-static u8 option_allowed_cmd_MATRIX[41] = // cmd #13
+static u8 option_allowed_cmd_MATRIX[41] = // cmd #14
{
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[41] = // cmd #14
+static u8 option_allowed_cmd_FLOAT[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,1, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_EXPORT[41] = // cmd #15
+static u8 option_allowed_cmd_EXPORT[41] = // 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
};
-static u8 option_allowed_cmd_CAT[41] = // cmd #16
+static u8 option_allowed_cmd_CAT[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, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_DECODE[41] = // cmd #17
+static u8 option_allowed_cmd_DECODE[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, 0,0,0,0,1,
1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_ENCODE[41] = // cmd #18
+static u8 option_allowed_cmd_ENCODE[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, 0,0,0,0,1,
1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_COPY[41] = // cmd #19
+static u8 option_allowed_cmd_COPY[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, 0,0,0,0,1,
1,1,1,1,1, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_CFF[41] = // cmd #20
+static u8 option_allowed_cmd_CFF[41] = // cmd #21
{
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_TYPES[41] = // cmd #21
+static u8 option_allowed_cmd_TYPES[41] = // 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,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FLAGS[41] = // cmd #22
+static u8 option_allowed_cmd_FLAGS[41] = // cmd #23
{
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[41] = // cmd #23
+static u8 option_allowed_cmd_DUMP[41] = // cmd #24
{
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[41] = // cmd #24
+static u8 option_allowed_cmd_DBRIEF[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, 1,0,1,0,0,
1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_LIST[41] = // cmd #25
+static u8 option_allowed_cmd_LIST[41] = // cmd #26
{
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[41] = // cmd #26
+static u8 option_allowed_cmd_TRIANGLES[41] = // cmd #27
{
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[41] = // cmd #27
+static u8 option_allowed_cmd_TRAVERSE[41] = // cmd #28
{
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[41] = // cmd #28
+static u8 option_allowed_cmd_FALL[41] = // cmd #29
{
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[41] = // cmd #29
+static u8 option_allowed_cmd_CHECK[41] = // 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, 1,0,1,0,1,
1,0,0,0,0, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_SHA1[41] = // cmd #30
+static u8 option_allowed_cmd_SHA1[41] = // cmd #31
{
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
+static u8 option_allowed_cmd_ANALYZE[41] = // cmd #32
{
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, 0,0,0,0,1, 0
};
-static u8 option_allowed_cmd_BLOW[41] = // cmd #32
+static u8 option_allowed_cmd_BLOW[41] = // cmd #33
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,1, 0
@@ -1392,9 +1416,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -1450,6 +1476,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
&option_cmd_TEST_VERBOSE,
@@ -2131,7 +2163,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms KCL Tool : Analyze, modify, export and create KCL and OBJ"
" files.",
0,
- 27,
+ 29,
option_tab_tool,
0
},
@@ -2197,13 +2229,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkclt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wkclt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -2243,7 +2294,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wkclt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -2258,7 +2310,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wkclt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -2275,7 +2327,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -2320,7 +2373,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wkclt CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
diff --git a/project/src/ui/ui-wkclt.h b/project/src/ui/ui-wkclt.h
index 50c89ca..352a4b8 100644
--- a/project/src/ui/ui-wkclt.h
+++ b/project/src/ui/ui-wkclt.h
@@ -109,9 +109,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -138,7 +140,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 77
+ OPT__N_TOTAL // == 79
} enumOptions;
@@ -240,6 +242,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -367,6 +371,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -398,7 +403,7 @@ typedef enum enumCommands
CMD_BLOW,
- CMD__N // == 33
+ CMD__N // == 34
} enumCommands;
@@ -443,6 +448,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wkmpt.c b/project/src/ui/ui-wkmpt.c
index 3d566eb..6cce3b2 100644
--- a/project/src/ui/ui-wkmpt.c
+++ b/project/src/ui/ui-wkmpt.c
@@ -545,6 +545,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -560,7 +565,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -877,7 +889,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 == 94
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 96
};
@@ -1125,6 +1137,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -1175,9 +1188,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -1366,67 +1382,69 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_SCALE,
- /* 0x08d */ OPT_SHIFT,
- /* 0x08e */ OPT_XSS,
- /* 0x08f */ OPT_YSS,
- /* 0x090 */ OPT_ZSS,
- /* 0x091 */ OPT_ROT,
- /* 0x092 */ OPT_XROT,
- /* 0x093 */ OPT_YROT,
- /* 0x094 */ OPT_ZROT,
- /* 0x095 */ OPT_YPOS,
- /* 0x096 */ OPT_TRANSLATE,
- /* 0x097 */ OPT_NULL,
- /* 0x098 */ OPT_NEXT,
- /* 0x099 */ OPT_ASCALE,
- /* 0x09a */ OPT_AROT,
- /* 0x09b */ OPT_TFORM_SCRIPT,
- /* 0x09c */ OPT_RM_GOBJ,
- /* 0x09d */ OPT_BATTLE,
- /* 0x09e */ OPT_EXPORT_FLAGS,
- /* 0x09f */ OPT_ROUTE_OPTIONS,
- /* 0x0a0 */ OPT_WIM0,
- /* 0x0a1 */ OPT_SLOT,
- /* 0x0a2 */ OPT_POS_MODE,
- /* 0x0a3 */ OPT_POS_FILE,
- /* 0x0a4 */ OPT_PNG,
- /* 0x0a5 */ OPT_LOAD_KCL,
- /* 0x0a6 */ OPT_KCL,
- /* 0x0a7 */ OPT_KCL_FLAG,
- /* 0x0a8 */ OPT_KCL_SCRIPT,
- /* 0x0a9 */ OPT_TRI_AREA,
- /* 0x0aa */ OPT_TRI_HEIGHT,
- /* 0x0ab */ OPT_FLAG_FILE,
- /* 0x0ac */ OPT_XTRIDATA,
- /* 0x0ad */ OPT_KMP,
- /* 0x0ae */ OPT_SPEED_MOD,
- /* 0x0af */ OPT_KTPT2,
- /* 0x0b0 */ OPT_TFORM_KMP,
- /* 0x0b1 */ OPT_REPAIR_XPF,
- /* 0x0b2 */ OPT_GAMEMODES,
- /* 0x0b3 */ OPT_ROUND,
- /* 0x0b4 */ OPT_EPSILON,
- /* 0x0b5 */ OPT_DIFF,
- /* 0x0b6 */ OPT_NO_ECHO,
- /* 0x0b7 */ OPT_UTF_8,
- /* 0x0b8 */ OPT_NO_UTF_8,
- /* 0x0b9 */ OPT_FORCE,
- /* 0x0ba */ OPT_REPAIR_MAGICS,
- /* 0x0bb */ OPT_TINY,
- /* 0x0bc */ OPT_OLD,
- /* 0x0bd */ OPT_STD,
- /* 0x0be */ OPT_NEW,
- /* 0x0bf */ OPT_EXTRACT,
- /* 0x0c0 */ OPT_NUMBER,
- /* 0x0c1 */ OPT_SECTIONS,
- /* 0x0c2 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_SCALE,
+ /* 0x08f */ OPT_SHIFT,
+ /* 0x090 */ OPT_XSS,
+ /* 0x091 */ OPT_YSS,
+ /* 0x092 */ OPT_ZSS,
+ /* 0x093 */ OPT_ROT,
+ /* 0x094 */ OPT_XROT,
+ /* 0x095 */ OPT_YROT,
+ /* 0x096 */ OPT_ZROT,
+ /* 0x097 */ OPT_YPOS,
+ /* 0x098 */ OPT_TRANSLATE,
+ /* 0x099 */ OPT_NULL,
+ /* 0x09a */ OPT_NEXT,
+ /* 0x09b */ OPT_ASCALE,
+ /* 0x09c */ OPT_AROT,
+ /* 0x09d */ OPT_TFORM_SCRIPT,
+ /* 0x09e */ OPT_RM_GOBJ,
+ /* 0x09f */ OPT_BATTLE,
+ /* 0x0a0 */ OPT_EXPORT_FLAGS,
+ /* 0x0a1 */ OPT_ROUTE_OPTIONS,
+ /* 0x0a2 */ OPT_WIM0,
+ /* 0x0a3 */ OPT_SLOT,
+ /* 0x0a4 */ OPT_POS_MODE,
+ /* 0x0a5 */ OPT_POS_FILE,
+ /* 0x0a6 */ OPT_PNG,
+ /* 0x0a7 */ OPT_LOAD_KCL,
+ /* 0x0a8 */ OPT_KCL,
+ /* 0x0a9 */ OPT_KCL_FLAG,
+ /* 0x0aa */ OPT_KCL_SCRIPT,
+ /* 0x0ab */ OPT_TRI_AREA,
+ /* 0x0ac */ OPT_TRI_HEIGHT,
+ /* 0x0ad */ OPT_FLAG_FILE,
+ /* 0x0ae */ OPT_XTRIDATA,
+ /* 0x0af */ OPT_KMP,
+ /* 0x0b0 */ OPT_SPEED_MOD,
+ /* 0x0b1 */ OPT_KTPT2,
+ /* 0x0b2 */ OPT_TFORM_KMP,
+ /* 0x0b3 */ OPT_REPAIR_XPF,
+ /* 0x0b4 */ OPT_GAMEMODES,
+ /* 0x0b5 */ OPT_ROUND,
+ /* 0x0b6 */ OPT_EPSILON,
+ /* 0x0b7 */ OPT_DIFF,
+ /* 0x0b8 */ OPT_NO_ECHO,
+ /* 0x0b9 */ OPT_UTF_8,
+ /* 0x0ba */ OPT_NO_UTF_8,
+ /* 0x0bb */ OPT_FORCE,
+ /* 0x0bc */ OPT_REPAIR_MAGICS,
+ /* 0x0bd */ OPT_TINY,
+ /* 0x0be */ OPT_OLD,
+ /* 0x0bf */ OPT_STD,
+ /* 0x0c0 */ OPT_NEW,
+ /* 0x0c1 */ OPT_EXTRACT,
+ /* 0x0c2 */ OPT_NUMBER,
+ /* 0x0c3 */ OPT_SECTIONS,
+ /* 0x0c4 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1465,157 +1483,163 @@ static u8 option_allowed_cmd_ARGTEST[49] = // cmd #4
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[49] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[49] = // 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
};
-static u8 option_allowed_cmd_COLORS[49] = // cmd #6
+static u8 option_allowed_cmd_TEST[49] = // 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
+};
+
+static u8 option_allowed_cmd_COLORS[49] = // 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,1,
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ERROR[49] = // cmd #7
+static u8 option_allowed_cmd_ERROR[49] = // 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,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[49] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[49] = // 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,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[49] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[49] = // 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,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_SYMBOLS[49] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[49] = // 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,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[49] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[49] = // 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,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_CALCULATE[49] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[49] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_MATRIX[49] = // cmd #13
+static u8 option_allowed_cmd_MATRIX[49] = // cmd #14
{
0,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,1,0,0,1,
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FLOAT[49] = // cmd #14
+static u8 option_allowed_cmd_FLOAT[49] = // 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,1,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_STARTPOS[49] = // cmd #15
+static u8 option_allowed_cmd_STARTPOS[49] = // cmd #16
{
0,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,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_OBJECTS[49] = // cmd #16
+static u8 option_allowed_cmd_OBJECTS[49] = // 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,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_EXPORT[49] = // cmd #17
+static u8 option_allowed_cmd_EXPORT[49] = // cmd #18
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_XEXPORT[49] = // cmd #18
+static u8 option_allowed_cmd_XEXPORT[49] = // 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
};
-static u8 option_allowed_cmd_CAT[49] = // cmd #19
+static u8 option_allowed_cmd_CAT[49] = // cmd #20
{
0,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,1,0,0,0,
1,1,1,1,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_DECODE[49] = // cmd #20
+static u8 option_allowed_cmd_DECODE[49] = // cmd #21
{
0,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,1,0,0,0,
1,1,1,1,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_ENCODE[49] = // cmd #21
+static u8 option_allowed_cmd_ENCODE[49] = // cmd #22
{
0,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,1,0,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_DIFF[49] = // cmd #22
+static u8 option_allowed_cmd_DIFF[49] = // 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,1, 1,0,0,0,1, 0,1,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DRAW[49] = // cmd #23
+static u8 option_allowed_cmd_DRAW[49] = // cmd #24
{
0,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,1,0,0,0,
1,1,1,1,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_CHECK[49] = // cmd #24
+static u8 option_allowed_cmd_CHECK[49] = // 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,1,
0,1,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_STGI[49] = // cmd #25
+static u8 option_allowed_cmd_STGI[49] = // 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,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_KTPT[49] = // cmd #26
+static u8 option_allowed_cmd_KTPT[49] = // 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,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_ROUTES[49] = // cmd #27
+static u8 option_allowed_cmd_ROUTES[49] = // 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,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_GOBJ[49] = // cmd #28
+static u8 option_allowed_cmd_GOBJ[49] = // 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,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_GAMEMODES[49] = // cmd #29
+static u8 option_allowed_cmd_GAMEMODES[49] = // 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,1,0,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_WIM0[49] = // cmd #30
+static u8 option_allowed_cmd_WIM0[49] = // 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,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
@@ -1637,9 +1661,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -1704,6 +1730,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
&option_cmd_TEST_VERBOSE,
@@ -2196,7 +2228,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms KMP Tool : Analyze, modify, export and create (compile) KMP"
" files.",
0,
- 36,
+ 38,
option_tab_tool,
0
},
@@ -2262,13 +2294,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkmpt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wkmpt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -2308,7 +2359,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wkmpt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -2323,7 +2375,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wkmpt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -2340,7 +2392,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -2385,7 +2438,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wkmpt CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
diff --git a/project/src/ui/ui-wkmpt.h b/project/src/ui/ui-wkmpt.h
index a40d695..9bef264 100644
--- a/project/src/ui/ui-wkmpt.h
+++ b/project/src/ui/ui-wkmpt.h
@@ -117,9 +117,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -155,7 +157,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 94
+ OPT__N_TOTAL // == 96
} enumOptions;
@@ -267,6 +269,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -382,6 +386,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -411,7 +416,7 @@ typedef enum enumCommands
CMD_WIM0,
- CMD__N // == 31
+ CMD__N // == 32
} enumCommands;
@@ -459,6 +464,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c
index 1c67b0d..720e084 100644
--- a/project/src/ui/ui-wlect.c
+++ b/project/src/ui/ui-wlect.c
@@ -53,6 +53,20 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
//----- command specific options -----
+ { OPT_PLUS, false, false, false, false, false, 0, "plus",
+ "chars",
+ "If a name begins with a plus sign, then all characters up to the"
+ " first space are recognized as a plus prefix. The first part consists"
+ " of all the plus signs followed by any other characters. The first"
+ " character of the second part is used to determine the sort value. If"
+ " the second part is empty, then the last plus sign is used instead.\n"
+ " The higher sorting value is now calculated from the number of plus"
+ " signs in the first part, the more plus signs, the smaller the value."
+ " The first character from the second part determines the lower value."
+ " If it is in parameter CHARS then the position determines the value,"
+ " otherwise the ASCII value to which 500 is added."
+ },
+
{ OPT_ROUND, false, false, false, false, false, 0, "round",
0,
"Print additional lines with rounded values (to 3 and 2 bytes for"
@@ -110,6 +124,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" values. If needed, LEX section TEST is created or removed if empty."
},
+ { OPT_CREATE_DISTRIB, false, false, false, false, false, 0, "create-distrib",
+ "file",
+ "Create a LE-CODE distribution dump with a track list and more info"
+ " about the current distribution. Store the dump info a file."
+ },
+
{ OPT_LE_DEFINE, false, false, false, false, true, 0, "le-define",
"file",
"Use this file as definition file to patch LE-CODE. The file format"
@@ -230,6 +250,15 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --track-dir. If linking fails, the file is copied."
},
+ { OPT_SZS_MODE, false, false, false, false, false, 0, "szs-mode",
+ "mode",
+ "If a track is inserted via the SZS file, then the associated"
+ " directory is automatically included in the list of search"
+ " directories for option --track-dir. This option now sets the"
+ " transfer mode. OFF turns this feature off. The values COPY, MOVE,"
+ " MOVE1 and LINK define one of the 4 modes. Default mode is LINK."
+ },
+
{ OPT_COMPLETE, false, false, false, false, true, 'C', "complete",
0,
" Append missing sections to the LEX file."
@@ -358,7 +387,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 == 44
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 47
//----- global options -----
@@ -418,6 +447,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -433,7 +467,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -482,6 +523,13 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" compatibility with the other tools."
},
+ { OPT_LOAD_PREFIX, false, false, false, false, false, 0, "load-prefix",
+ "file",
+ "Read in a PREFIX file and replace the internal prefix database with"
+ " the content. https://ct.wiimm.de/export/prefix is the authoritative"
+ " source for this."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -612,7 +660,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 79
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 85
};
@@ -742,6 +790,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -761,6 +810,8 @@ static const KeywordTab_t CommandTab[] =
{ CMD_PATCH, "PATCH", "P", 0 },
{ CMD_LPAR, "LPAR", 0, 0 },
{ CMD_CREATE, "CREATE", "CR", 0 },
+ { CMD_DISTRIBUTION, "DISTRIBUTION", "DIS", 0 },
+ { CMD_DISTRIBUTION, "DISTRIB", 0, 0 },
{ CMD_CAT, "CAT", 0, 0 },
{ CMD_DECODE, "DECODE", "DEC", 0 },
{ CMD_ENCODE, "ENCODE", "ENC", 0 },
@@ -787,9 +838,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -799,6 +853,9 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "load-prefix", 1, 0, GO_LOAD_PREFIX },
+ { "loadprefix", 1, 0, GO_LOAD_PREFIX },
+ { "plus", 1, 0, GO_PLUS },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "round", 0, 0, GO_ROUND },
@@ -845,6 +902,8 @@ static const struct option OptionLong[] =
{ "force", 0, 0, GO_FORCE },
{ "repair-magics", 2, 0, GO_REPAIR_MAGICS },
{ "repairmagics", 2, 0, GO_REPAIR_MAGICS },
+ { "create-distrib", 1, 0, GO_CREATE_DISTRIB },
+ { "createdistrib", 1, 0, GO_CREATE_DISTRIB },
{ "OLD", 0, 0, GO_OLD },
{ "STD", 0, 0, GO_STD },
{ "NEW", 0, 0, GO_NEW },
@@ -874,6 +933,8 @@ static const struct option OptionLong[] =
{ "move1tracks", 1, 0, GO_MOVE1_TRACKS },
{ "link-tracks", 1, 0, GO_LINK_TRACKS },
{ "linktracks", 1, 0, GO_LINK_TRACKS },
+ { "szs-mode", 1, 0, GO_SZS_MODE },
+ { "szsmode", 1, 0, GO_SZS_MODE },
{ "complete", 0, 0, 'C' },
{ "load-bmg", 1, 0, GO_LOAD_BMG },
{ "loadbmg", 1, 0, GO_LOAD_BMG },
@@ -962,56 +1023,62 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_ROUND,
- /* 0x08d */ OPT_NO_ECHO,
- /* 0x08e */ OPT_UTF_8,
- /* 0x08f */ OPT_NO_UTF_8,
- /* 0x090 */ OPT_LT_CLEAR,
- /* 0x091 */ OPT_LT_ONLINE,
- /* 0x092 */ OPT_LT_N_PLAYERS,
- /* 0x093 */ OPT_LT_COND_BIT,
- /* 0x094 */ OPT_LT_GAME_MODE,
- /* 0x095 */ OPT_LT_ENGINE,
- /* 0x096 */ OPT_LT_RANDOM,
- /* 0x097 */ OPT_LEX_PURGE,
- /* 0x098 */ OPT_LEX_RM_FEAT,
- /* 0x099 */ OPT_FORCE,
- /* 0x09a */ OPT_REPAIR_MAGICS,
- /* 0x09b */ OPT_OLD,
- /* 0x09c */ OPT_STD,
- /* 0x09d */ OPT_NEW,
- /* 0x09e */ OPT_EXTRACT,
- /* 0x09f */ OPT_LE_DEFINE,
- /* 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,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_LOAD_PREFIX,
+ /* 0x08e */ OPT_PLUS,
+ /* 0x08f */ OPT_CHDIR,
+ /* 0x090 */ OPT_ROUND,
+ /* 0x091 */ OPT_NO_ECHO,
+ /* 0x092 */ OPT_UTF_8,
+ /* 0x093 */ OPT_NO_UTF_8,
+ /* 0x094 */ OPT_LT_CLEAR,
+ /* 0x095 */ OPT_LT_ONLINE,
+ /* 0x096 */ OPT_LT_N_PLAYERS,
+ /* 0x097 */ OPT_LT_COND_BIT,
+ /* 0x098 */ OPT_LT_GAME_MODE,
+ /* 0x099 */ OPT_LT_ENGINE,
+ /* 0x09a */ OPT_LT_RANDOM,
+ /* 0x09b */ OPT_LEX_PURGE,
+ /* 0x09c */ OPT_LEX_RM_FEAT,
+ /* 0x09d */ OPT_FORCE,
+ /* 0x09e */ OPT_REPAIR_MAGICS,
+ /* 0x09f */ OPT_CREATE_DISTRIB,
+ /* 0x0a0 */ OPT_OLD,
+ /* 0x0a1 */ OPT_STD,
+ /* 0x0a2 */ OPT_NEW,
+ /* 0x0a3 */ OPT_EXTRACT,
+ /* 0x0a4 */ OPT_LE_DEFINE,
+ /* 0x0a5 */ OPT_LE_ARENA,
+ /* 0x0a6 */ OPT_LPAR,
+ /* 0x0a7 */ OPT_ALIAS,
+ /* 0x0a8 */ OPT_ENGINE,
+ /* 0x0a9 */ OPT_200CC,
+ /* 0x0aa */ OPT_PERFMON,
+ /* 0x0ab */ OPT_CUSTOM_TT,
+ /* 0x0ac */ OPT_XPFLAGS,
+ /* 0x0ad */ OPT_SPEEDOMETER,
+ /* 0x0ae */ OPT_DEBUG,
+ /* 0x0af */ OPT_TRACK_DIR,
+ /* 0x0b0 */ OPT_COPY_TRACKS,
+ /* 0x0b1 */ OPT_MOVE_TRACKS,
+ /* 0x0b2 */ OPT_MOVE1_TRACKS,
+ /* 0x0b3 */ OPT_LINK_TRACKS,
+ /* 0x0b4 */ OPT_SZS_MODE,
+ /* 0x0b5 */ OPT_LOAD_BMG,
+ /* 0x0b6 */ OPT_PATCH_BMG,
+ /* 0x0b7 */ OPT_MACRO_BMG,
+ /* 0x0b8 */ OPT_PATCH_NAMES,
+ /* 0x0b9 */ OPT_ORDER_BY,
+ /* 0x0ba */ OPT_ORDER_ALL,
+ /* 0x0bb */ OPT_NUMBER,
+ /* 0x0bc */ OPT_SECTIONS,
+ /* 0x0bd */ 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,
@@ -1027,154 +1094,166 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[44] = // cmd #1
+static u8 option_allowed_cmd_VERSION[47] = // 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,0,1
+ 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,1
};
-static u8 option_allowed_cmd_HELP[44] = // cmd #2
+static u8 option_allowed_cmd_HELP[47] = // 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
};
-static u8 option_allowed_cmd_CONFIG[44] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[47] = // 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,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
};
-static u8 option_allowed_cmd_ARGTEST[44] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[47] = // 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
};
-static u8 option_allowed_cmd_TEST[44] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[47] = // 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
};
-static u8 option_allowed_cmd_COLORS[44] = // cmd #6
+static u8 option_allowed_cmd_TEST[47] = // 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
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,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_ERROR[44] = // cmd #7
+static u8 option_allowed_cmd_COLORS[47] = // 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,0,1
+ 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
};
-static u8 option_allowed_cmd_FILETYPE[44] = // cmd #8
+static u8 option_allowed_cmd_ERROR[47] = // 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,0,1,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,1
};
-static u8 option_allowed_cmd_FILEATTRIB[44] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[47] = // 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, 1,0
};
-static u8 option_allowed_cmd_SYMBOLS[44] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[47] = // 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,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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[44] = // cmd #11
+static u8 option_allowed_cmd_SYMBOLS[47] = // 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,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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[44] = // cmd #12
+static u8 option_allowed_cmd_FUNCTIONS[47] = // cmd #12
+{
+ 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
+};
+
+static u8 option_allowed_cmd_CALCULATE[47] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_FLOAT[44] = // cmd #13
+static u8 option_allowed_cmd_FLOAT[47] = // cmd #14
{
- 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[44] = // cmd #14
+static u8 option_allowed_cmd_EXPORT[47] = // cmd #15
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_DPAD[44] = // cmd #15
+static u8 option_allowed_cmd_DPAD[47] = // cmd #16
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_DUMP[44] = // cmd #16
+static u8 option_allowed_cmd_DUMP[47] = // cmd #17
{
- 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
+ 0,0,0,1,0, 0,0,0,0,0, 0,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,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_DL[44] = // cmd #17
+static u8 option_allowed_cmd_DL[47] = // cmd #18
{
- 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
+ 0,0,0,1,0, 0,0,0,0,0, 0,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,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_DLL[44] = // cmd #18
+static u8 option_allowed_cmd_DLL[47] = // cmd #19
{
- 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
+ 0,0,0,1,0, 0,0,0,0,0, 0,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,0,0,0,0, 0,0,0,0,0, 0,0
};
-static u8 option_allowed_cmd_BIN_DIFF[44] = // cmd #19
+static u8 option_allowed_cmd_BIN_DIFF[47] = // 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
+};
+
+static u8 option_allowed_cmd_PATCH[47] = // cmd #21
+{
+ 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,0,
+ 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,1, 1,0
};
-static u8 option_allowed_cmd_PATCH[44] = // cmd #20
+static u8 option_allowed_cmd_LPAR[47] = // cmd #22
{
- 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
+ 0,0,0,0,1, 1,1,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,1,1,1, 1,1,1,1,1, 1,0
};
-static u8 option_allowed_cmd_LPAR[44] = // cmd #21
+static u8 option_allowed_cmd_CREATE[47] = // cmd #23
{
- 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
+ 0,0,0,0,1, 1,1,0,1,1, 1,1,0,1,0, 1,0,1,1,1, 1,1,1,1,0, 0,0,0,0,0,
+ 0,1,0,0,0, 0,0,1,1,1, 1,1,1,1,1, 1,0
};
-static u8 option_allowed_cmd_CREATE[44] = // cmd #22
+static u8 option_allowed_cmd_DISTRIBUTION[47] = // cmd #24
{
- 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
+ 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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_CAT[44] = // cmd #23
+static u8 option_allowed_cmd_CAT[47] = // cmd #25
{
- 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
+ 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,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0
};
-static u8 option_allowed_cmd_DECODE[44] = // cmd #24
+static u8 option_allowed_cmd_DECODE[47] = // cmd #26
{
- 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
+ 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,
+ 1,0,0,0,0, 0,0,1,1,1, 1,1,1,1,1, 1,0
};
-static u8 option_allowed_cmd_ENCODE[44] = // cmd #25
+static u8 option_allowed_cmd_ENCODE[47] = // cmd #27
{
- 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
+ 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,0,0,0,0, 0,0,1,1,1, 1,1,1,1,1, 1,0
};
@@ -1193,15 +1272,18 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LOAD_PREFIX,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_MAX_FILE_SIZE,
@@ -1255,6 +1337,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
@@ -1355,6 +1443,7 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
&option_cmd_DUMP_LONG,
&option_cmd_DUMP_VERBOSE,
+ OptionInfo + OPT_CREATE_DISTRIB,
0
};
@@ -1376,6 +1465,7 @@ static const InfoOption_t * option_tab_cmd_DL[] =
&option_cmd_DUMP_LONG,
&option_cmd_DUMP_VERBOSE,
+ OptionInfo + OPT_CREATE_DISTRIB,
0
};
@@ -1397,6 +1487,7 @@ static const InfoOption_t * option_tab_cmd_DLL[] =
&option_cmd_DUMP_LONG,
&option_cmd_DUMP_VERBOSE,
+ OptionInfo + OPT_CREATE_DISTRIB,
0
};
@@ -1441,6 +1532,7 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_IGNORE,
+ OptionInfo + OPT_CREATE_DISTRIB,
0
};
@@ -1512,6 +1604,11 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_NONE, // separator
+ OptionInfo + OPT_LE_DEFINE,
+ OptionInfo + OPT_LOAD_BMG,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ENGINE,
OptionInfo + OPT_200CC,
OptionInfo + OPT_PERFMON,
@@ -1523,6 +1620,38 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
0
};
+static const InfoOption_t * option_tab_cmd_DISTRIBUTION[] =
+{
+ OptionInfo + OPT_LOAD_PREFIX,
+ OptionInfo + OPT_PLUS,
+ OptionInfo + OPT_TRACK_DIR,
+ OptionInfo + OPT_COPY_TRACKS,
+ OptionInfo + OPT_MOVE_TRACKS,
+ OptionInfo + OPT_MOVE1_TRACKS,
+ OptionInfo + OPT_LINK_TRACKS,
+ OptionInfo + OPT_SZS_MODE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_IGNORE,
+ &option_grp_TEXTOPT_NO_HEADER,
+ OptionInfo + OPT_BRIEF,
+ OptionInfo + OPT_EXPORT,
+ OptionInfo + OPT_DEST,
+ OptionInfo + OPT_DEST2,
+ OptionInfo + OPT_ESC,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_OVERWRITE,
+ OptionInfo + OPT_NUMBER,
+ OptionInfo + OPT_REMOVE_DEST,
+ OptionInfo + OPT_UPDATE,
+ OptionInfo + OPT_PRESERVE,
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_CAT[] =
{
OptionInfo + OPT_COMPLETE,
@@ -1595,7 +1724,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,
- 28,
+ 31,
option_tab_tool,
0
},
@@ -1661,13 +1790,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wlect ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wlect EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -1707,7 +1855,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wlect ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -1722,7 +1871,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wlect FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -1739,7 +1888,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -1784,7 +1934,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wlect CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
@@ -1852,7 +2003,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print an information dump for each source file. LE-CODE binaries and"
" LEX binaries are accepted as input.",
0,
- 12,
+ 13,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -1866,7 +2017,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DL [source]...",
"Short cut for 'DUMP --long'.",
0,
- 12,
+ 13,
option_tab_cmd_DL,
option_allowed_cmd_DL
},
@@ -1880,7 +2031,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DLL [source]...",
"Short cut for 'DUMP --long --long'.",
0,
- 12,
+ 13,
option_tab_cmd_DLL,
option_allowed_cmd_DLL
},
@@ -1917,7 +2068,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Read each LE-BIN file and patch it. Use --le-define to setup cups and"
" tracks.",
0,
- 24,
+ 25,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
@@ -1944,21 +2095,37 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
true,
"CREATE",
"CR",
- "wlect CREATE [keyword]",
- "Create a file and print it to standard output. The kind of file is"
- " defined by KEYWORD. Use command without keywords to get a list of"
- " possible keywords.\n"
- " The following keywords are possible: LEX for a LEX text file with"
- " all known sections except TEST. LEX+ for a LEX text file with all"
- " known sections including TEST. SET1, CANN, HIPT and TEST (section"
- " names) for a LEX text file with 1 section only. LPAR for an example"
- " LE-CODE parameter file.",
+ "wlect CREATE [keyword] ...",
+ "Create a file and print it to standard output. Options --dest and"
+ " --DEST can forc another destination. The kind of file is defined by"
+ " KEYWORD. The command can create LEX files, a LPAR file or a track"
+ " listing.\n"
+ " Use the command without keyword to get an extended description.",
0,
- 29,
+ 31,
option_tab_cmd_CREATE,
option_allowed_cmd_CREATE
},
+ { CMD_DISTRIBUTION,
+ false,
+ false,
+ false,
+ "DISTRIBUTION",
+ "DIS",
+ "wlect DISTRIBUTION [argument]...",
+ "This command manages data for LE-CODE track distributions. It reads"
+ " any number of source files with different file types, collects the"
+ " data and creates any number of files with different file types.\n"
+ " Use the command without keyword to get an extended description.\n"
+ " This command is still under development. Its use is therefore"
+ " EXPERIMENTAL!",
+ 0,
+ 20,
+ option_tab_cmd_DISTRIBUTION,
+ option_allowed_cmd_DISTRIBUTION
+ },
+
{ CMD_CAT,
false,
false,
diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h
index 4e6198e..854d96a 100644
--- a/project/src/ui/ui-wlect.h
+++ b/project/src/ui/ui-wlect.h
@@ -56,6 +56,7 @@ typedef enum enumOptions
//----- command specific options -----
+ OPT_PLUS,
OPT_ROUND,
OPT_LONG,
OPT_NO_HEADER,
@@ -66,6 +67,7 @@ typedef enum enumOptions
OPT_LT_CLEAR,
OPT_LT_ONLINE,
OPT_LT_N_PLAYERS,
+ OPT_CREATE_DISTRIB,
OPT_LE_DEFINE,
OPT_LE_ARENA,
OPT_LPAR,
@@ -82,6 +84,7 @@ typedef enum enumOptions
OPT_MOVE_TRACKS,
OPT_MOVE1_TRACKS,
OPT_LINK_TRACKS,
+ OPT_SZS_MODE,
OPT_COMPLETE,
OPT_LOAD_BMG,
OPT_PATCH_BMG,
@@ -100,7 +103,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 44
+ OPT__N_SPECIFIC, // == 47
//----- global options -----
@@ -112,15 +115,18 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LOAD_PREFIX,
OPT_CHDIR,
OPT_CONST,
OPT_MAX_FILE_SIZE,
@@ -140,7 +146,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 79
+ OPT__N_TOTAL // == 85
} enumOptions;
@@ -155,6 +161,7 @@ typedef enum enumOptions
//{
// //----- command specific options -----
//
+// OB_PLUS = 1llu << OPT_PLUS,
// OB_ROUND = 1llu << OPT_ROUND,
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
@@ -165,6 +172,7 @@ typedef enum enumOptions
// OB_LT_CLEAR = 1llu << OPT_LT_CLEAR,
// OB_LT_ONLINE = 1llu << OPT_LT_ONLINE,
// OB_LT_N_PLAYERS = 1llu << OPT_LT_N_PLAYERS,
+// OB_CREATE_DISTRIB = 1llu << OPT_CREATE_DISTRIB,
// OB_LE_DEFINE = 1llu << OPT_LE_DEFINE,
// OB_LE_ARENA = 1llu << OPT_LE_ARENA,
// OB_LPAR = 1llu << OPT_LPAR,
@@ -181,6 +189,7 @@ typedef enum enumOptions
// OB_MOVE_TRACKS = 1llu << OPT_MOVE_TRACKS,
// OB_MOVE1_TRACKS = 1llu << OPT_MOVE1_TRACKS,
// OB_LINK_TRACKS = 1llu << OPT_LINK_TRACKS,
+// OB_SZS_MODE = 1llu << OPT_SZS_MODE,
// OB_COMPLETE = 1llu << OPT_COMPLETE,
// OB_LOAD_BMG = 1llu << OPT_LOAD_BMG,
// OB_PATCH_BMG = 1llu << OPT_PATCH_BMG,
@@ -248,6 +257,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -279,7 +290,8 @@ typedef enum enumOptions
//
// OB_CMD_DUMP = OB_GRP_PATCH
// | OB_LONG
-// | OB_GRP_PATCH,
+// | OB_GRP_PATCH
+// | OB_CREATE_DISTRIB,
//
// OB_CMD_DL = OB_CMD_DUMP,
//
@@ -290,7 +302,8 @@ typedef enum enumOptions
// OB_CMD_PATCH = OB_GRP_PATCH
// | OB_GRP_TRACK_COPY
// | OB_GRP_DEST
-// | OB_IGNORE,
+// | OB_IGNORE
+// | OB_CREATE_DISTRIB,
//
// OB_CMD_LPAR = OB_GRP_PATCH
// | OB_GRP_DEST
@@ -303,8 +316,16 @@ typedef enum enumOptions
// | OB_LT_CLEAR
// | OB_LT_ONLINE
// | OB_LT_N_PLAYERS
+// | OB_LE_DEFINE
+// | OB_LOAD_BMG
// | OB_GRP_PARAM,
//
+// OB_CMD_DISTRIBUTION = OB_PLUS
+// | OB_GRP_TRACK_COPY
+// | OB_SZS_MODE
+// | OB_GRP_TEXTOUT
+// | OB_GRP_DEST,
+//
// OB_CMD_CAT = OB_COMPLETE
// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
@@ -336,6 +357,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -356,12 +378,13 @@ typedef enum enumCommands
CMD_LPAR,
CMD_CREATE,
+ CMD_DISTRIBUTION,
CMD_CAT,
CMD_DECODE,
CMD_ENCODE,
- CMD__N // == 26
+ CMD__N // == 28
} enumCommands;
@@ -405,11 +428,15 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LOAD_PREFIX,
+ GO_PLUS,
GO_CHDIR,
GO_ROUND,
GO_NO_ECHO,
@@ -426,6 +453,7 @@ typedef enum enumGetOpt
GO_LEX_RM_FEAT,
GO_FORCE,
GO_REPAIR_MAGICS,
+ GO_CREATE_DISTRIB,
GO_OLD,
GO_STD,
GO_NEW,
@@ -446,6 +474,7 @@ typedef enum enumGetOpt
GO_MOVE_TRACKS,
GO_MOVE1_TRACKS,
GO_LINK_TRACKS,
+ GO_SZS_MODE,
GO_LOAD_BMG,
GO_PATCH_BMG,
GO_MACRO_BMG,
diff --git a/project/src/ui/ui-wmdlt.c b/project/src/ui/ui-wmdlt.c
index 14d0016..0be480c 100644
--- a/project/src/ui/ui-wmdlt.c
+++ b/project/src/ui/ui-wmdlt.c
@@ -375,6 +375,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -390,7 +395,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -572,7 +584,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 66
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 68
};
@@ -703,6 +715,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -743,9 +756,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -879,42 +895,44 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_MDL,
- /* 0x08d */ OPT_SCALE,
- /* 0x08e */ OPT_SHIFT,
- /* 0x08f */ OPT_XSS,
- /* 0x090 */ OPT_YSS,
- /* 0x091 */ OPT_ZSS,
- /* 0x092 */ OPT_ROT,
- /* 0x093 */ OPT_XROT,
- /* 0x094 */ OPT_YROT,
- /* 0x095 */ OPT_ZROT,
- /* 0x096 */ OPT_TRANSLATE,
- /* 0x097 */ OPT_NULL,
- /* 0x098 */ OPT_NEXT,
- /* 0x099 */ OPT_ASCALE,
- /* 0x09a */ OPT_AROT,
- /* 0x09b */ OPT_TFORM_SCRIPT,
- /* 0x09c */ OPT_ROUND,
- /* 0x09d */ OPT_NO_ECHO,
- /* 0x09e */ OPT_UTF_8,
- /* 0x09f */ OPT_NO_UTF_8,
- /* 0x0a0 */ OPT_FORCE,
- /* 0x0a1 */ OPT_REPAIR_MAGICS,
- /* 0x0a2 */ OPT_TINY,
- /* 0x0a3 */ OPT_OLD,
- /* 0x0a4 */ OPT_STD,
- /* 0x0a5 */ OPT_NEW,
- /* 0x0a6 */ OPT_EXTRACT,
- /* 0x0a7 */ OPT_NUMBER,
- /* 0x0a8 */ OPT_SECTIONS,
- /* 0x0a9 */ 0,0,0,0, 0,0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_MDL,
+ /* 0x08f */ OPT_SCALE,
+ /* 0x090 */ OPT_SHIFT,
+ /* 0x091 */ OPT_XSS,
+ /* 0x092 */ OPT_YSS,
+ /* 0x093 */ OPT_ZSS,
+ /* 0x094 */ OPT_ROT,
+ /* 0x095 */ OPT_XROT,
+ /* 0x096 */ OPT_YROT,
+ /* 0x097 */ OPT_ZROT,
+ /* 0x098 */ OPT_TRANSLATE,
+ /* 0x099 */ OPT_NULL,
+ /* 0x09a */ OPT_NEXT,
+ /* 0x09b */ OPT_ASCALE,
+ /* 0x09c */ OPT_AROT,
+ /* 0x09d */ OPT_TFORM_SCRIPT,
+ /* 0x09e */ OPT_ROUND,
+ /* 0x09f */ OPT_NO_ECHO,
+ /* 0x0a0 */ OPT_UTF_8,
+ /* 0x0a1 */ OPT_NO_UTF_8,
+ /* 0x0a2 */ OPT_FORCE,
+ /* 0x0a3 */ OPT_REPAIR_MAGICS,
+ /* 0x0a4 */ OPT_TINY,
+ /* 0x0a5 */ OPT_OLD,
+ /* 0x0a6 */ OPT_STD,
+ /* 0x0a7 */ OPT_NEW,
+ /* 0x0a8 */ OPT_EXTRACT,
+ /* 0x0a9 */ OPT_NUMBER,
+ /* 0x0aa */ OPT_SECTIONS,
+ /* 0x0ab */ 0,0,0,0, 0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -955,103 +973,109 @@ static u8 option_allowed_cmd_ARGTEST[33] = // cmd #4
1,1,1
};
-static u8 option_allowed_cmd_TEST[33] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[33] = // 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
};
-static u8 option_allowed_cmd_COLORS[33] = // cmd #6
+static u8 option_allowed_cmd_TEST[33] = // 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
+};
+
+static u8 option_allowed_cmd_COLORS[33] = // cmd #7
{
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[33] = // cmd #7
+static u8 option_allowed_cmd_ERROR[33] = // cmd #8
{
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[33] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[33] = // cmd #9
{
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[33] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[33] = // cmd #10
{
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[33] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[33] = // cmd #11
{
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[33] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[33] = // cmd #12
{
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[33] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[33] = // 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
};
-static u8 option_allowed_cmd_MATRIX[33] = // cmd #13
+static u8 option_allowed_cmd_MATRIX[33] = // cmd #14
{
0,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
};
-static u8 option_allowed_cmd_FLOAT[33] = // cmd #14
+static u8 option_allowed_cmd_FLOAT[33] = // cmd #15
{
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[33] = // cmd #15
+static u8 option_allowed_cmd_EXPORT[33] = // 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
};
-static u8 option_allowed_cmd_CAT[33] = // cmd #16
+static u8 option_allowed_cmd_CAT[33] = // cmd #17
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0,
0,1,0
};
-static u8 option_allowed_cmd_DECODE[33] = // cmd #17
+static u8 option_allowed_cmd_DECODE[33] = // cmd #18
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1,
1,1,0
};
-static u8 option_allowed_cmd_ENCODE[33] = // cmd #18
+static u8 option_allowed_cmd_ENCODE[33] = // cmd #19
{
0,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
};
-static u8 option_allowed_cmd_STRINGS[33] = // cmd #19
+static u8 option_allowed_cmd_STRINGS[33] = // cmd #20
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0,
0,1,0
};
-static u8 option_allowed_cmd_GEOMETRY[33] = // cmd #20
+static u8 option_allowed_cmd_GEOMETRY[33] = // cmd #21
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0,
0,1,0
};
-static u8 option_allowed_cmd_XTEST[33] = // cmd #21
+static u8 option_allowed_cmd_XTEST[33] = // cmd #22
{
0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0,
0,1,0
@@ -1073,9 +1097,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -1129,6 +1155,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
&option_cmd_TEST_VERBOSE,
@@ -1452,7 +1484,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,
- 25,
+ 27,
option_tab_tool,
0
},
@@ -1518,13 +1550,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wmdlt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wmdlt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -1564,7 +1615,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wmdlt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -1579,7 +1631,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wmdlt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -1596,7 +1648,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -1641,7 +1694,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wmdlt CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
diff --git a/project/src/ui/ui-wmdlt.h b/project/src/ui/ui-wmdlt.h
index 54e94e3..242795b 100644
--- a/project/src/ui/ui-wmdlt.h
+++ b/project/src/ui/ui-wmdlt.h
@@ -101,9 +101,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -127,7 +129,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 66
+ OPT__N_TOTAL // == 68
} enumOptions;
@@ -217,6 +219,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -300,6 +304,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -320,7 +325,7 @@ typedef enum enumCommands
CMD_GEOMETRY,
CMD_XTEST,
- CMD__N // == 22
+ CMD__N // == 23
} enumCommands;
@@ -365,6 +370,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wpatt.c b/project/src/ui/ui-wpatt.c
index b0df846..d2b9b3a 100644
--- a/project/src/ui/ui-wpatt.c
+++ b/project/src/ui/ui-wpatt.c
@@ -217,6 +217,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -232,7 +237,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -403,7 +415,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 == 50
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 52
};
@@ -504,6 +516,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -540,9 +553,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -658,26 +674,28 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_ROUND,
- /* 0x08d */ OPT_NO_ECHO,
- /* 0x08e */ OPT_PAT,
- /* 0x08f */ OPT_UTF_8,
- /* 0x090 */ OPT_NO_UTF_8,
- /* 0x091 */ OPT_FORCE,
- /* 0x092 */ OPT_REPAIR_MAGICS,
- /* 0x093 */ OPT_OLD,
- /* 0x094 */ OPT_STD,
- /* 0x095 */ OPT_NEW,
- /* 0x096 */ OPT_EXTRACT,
- /* 0x097 */ OPT_NUMBER,
- /* 0x098 */ OPT_SECTIONS,
- /* 0x099 */ 0,0,0,0, 0,0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_ROUND,
+ /* 0x08f */ OPT_NO_ECHO,
+ /* 0x090 */ OPT_PAT,
+ /* 0x091 */ OPT_UTF_8,
+ /* 0x092 */ OPT_NO_UTF_8,
+ /* 0x093 */ OPT_FORCE,
+ /* 0x094 */ OPT_REPAIR_MAGICS,
+ /* 0x095 */ OPT_OLD,
+ /* 0x096 */ OPT_STD,
+ /* 0x097 */ OPT_NEW,
+ /* 0x098 */ OPT_EXTRACT,
+ /* 0x099 */ OPT_NUMBER,
+ /* 0x09a */ OPT_SECTIONS,
+ /* 0x09b */ 0,0,0,0, 0,
/* 0x0a0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -715,67 +733,72 @@ static u8 option_allowed_cmd_ARGTEST[18] = // cmd #4
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
};
-static u8 option_allowed_cmd_TEST[18] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[18] = // cmd #5
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
};
-static u8 option_allowed_cmd_COLORS[18] = // cmd #6
+static u8 option_allowed_cmd_TEST[18] = // cmd #6
+{
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
+};
+
+static u8 option_allowed_cmd_COLORS[18] = // cmd #7
{
0,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_ERROR[18] = // cmd #7
+static u8 option_allowed_cmd_ERROR[18] = // cmd #8
{
0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[18] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[18] = // cmd #9
{
0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[18] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[18] = // cmd #10
{
0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_SYMBOLS[18] = // cmd #10
+static u8 option_allowed_cmd_SYMBOLS[18] = // cmd #11
{
0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[18] = // cmd #11
+static u8 option_allowed_cmd_FUNCTIONS[18] = // cmd #12
{
0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_CALCULATE[18] = // cmd #12
+static u8 option_allowed_cmd_CALCULATE[18] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FLOAT[18] = // cmd #13
+static u8 option_allowed_cmd_FLOAT[18] = // cmd #14
{
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_EXPORT[18] = // cmd #14
+static u8 option_allowed_cmd_EXPORT[18] = // cmd #15
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_CAT[18] = // cmd #15
+static u8 option_allowed_cmd_CAT[18] = // cmd #16
{
0,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_DECODE[18] = // cmd #16
+static u8 option_allowed_cmd_DECODE[18] = // cmd #17
{
0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,0
};
-static u8 option_allowed_cmd_ENCODE[18] = // cmd #17
+static u8 option_allowed_cmd_ENCODE[18] = // cmd #18
{
0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,0
};
@@ -796,9 +819,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -851,6 +876,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
@@ -1000,7 +1031,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,
- 24,
+ 26,
option_tab_tool,
0
},
@@ -1066,13 +1097,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wpatt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wpatt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -1112,7 +1162,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wpatt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -1127,7 +1178,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wpatt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -1144,7 +1195,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -1189,7 +1241,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wpatt CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
diff --git a/project/src/ui/ui-wpatt.h b/project/src/ui/ui-wpatt.h
index 414f0a8..81e9549 100644
--- a/project/src/ui/ui-wpatt.h
+++ b/project/src/ui/ui-wpatt.h
@@ -86,9 +86,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -111,7 +113,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 50
+ OPT__N_TOTAL // == 52
} enumOptions;
@@ -170,6 +172,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -228,6 +232,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -243,7 +248,7 @@ typedef enum enumCommands
CMD_DECODE,
CMD_ENCODE,
- CMD__N // == 18
+ CMD__N // == 19
} enumCommands;
@@ -288,6 +293,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c
index b82ca2a..f3900b7 100644
--- a/project/src/ui/ui-wstrt.c
+++ b/project/src/ui/ui-wstrt.c
@@ -551,6 +551,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -566,7 +571,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -886,7 +898,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" directory."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 118
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 120
};
@@ -1066,6 +1078,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_HELP, "?", 0, 0 },
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -1111,9 +1124,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -1327,93 +1343,95 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_VS_REGION,
- /* 0x08d */ OPT_BT_REGION,
- /* 0x08e */ OPT_ALL_RANKS,
- /* 0x08f */ OPT_POINTS,
- /* 0x090 */ OPT_CHEAT,
- /* 0x091 */ OPT_HTTPS,
- /* 0x092 */ OPT_DOMAIN,
- /* 0x093 */ OPT_WIIMMFI,
- /* 0x094 */ OPT_TWIIMMFI,
- /* 0x095 */ OPT_WC24,
- /* 0x096 */ OPT_WCODE,
- /* 0x097 */ OPT_ADD_WCODE,
- /* 0x098 */ OPT_PB_MODE,
- /* 0x099 */ OPT_PATCHED_BY,
- /* 0x09a */ OPT_VS,
- /* 0x09b */ OPT_VS2,
- /* 0x09c */ OPT_BT,
- /* 0x09d */ OPT_BT2,
- /* 0x09e */ OPT_CANNON,
- /* 0x09f */ OPT_MENO,
- /* 0x0a0 */ OPT_UTF_8,
- /* 0x0a1 */ OPT_NO_UTF_8,
- /* 0x0a2 */ OPT_FORCE,
- /* 0x0a3 */ OPT_REPAIR_MAGICS,
- /* 0x0a4 */ OPT_OLD,
- /* 0x0a5 */ OPT_STD,
- /* 0x0a6 */ OPT_NEW,
- /* 0x0a7 */ OPT_EXTRACT,
- /* 0x0a8 */ OPT_NUMBER,
- /* 0x0a9 */ OPT_CLEAN_DOL,
- /* 0x0aa */ OPT_ADD_LECODE,
- /* 0x0ab */ OPT_ADD_CTCODE,
- /* 0x0ac */ OPT_CT_DIR,
- /* 0x0ad */ OPT_MOVE_D8,
- /* 0x0ae */ OPT_ADD_SECTION,
- /* 0x0af */ OPT_FULL_GCH,
- /* 0x0b0 */ OPT_GCT_NO_SEP,
- /* 0x0b1 */ OPT_GCT_SEP,
- /* 0x0b2 */ OPT_GCT_ASM_SEP,
- /* 0x0b3 */ OPT_GCT_LIST,
- /* 0x0b4 */ OPT_GCT_MOVE,
- /* 0x0b5 */ OPT_GCT_ADDR,
- /* 0x0b6 */ OPT_GCT_SPACE,
- /* 0x0b7 */ OPT_ALLOW_USER_GCH,
- /* 0x0b8 */ OPT_CREATE_SECT,
- /* 0x0b9 */ OPT_WPF,
- /* 0x0ba */ OPT_SECTIONS,
- /* 0x0bb */ OPT_PORT_DB,
- /* 0x0bc */ OPT_ORDER,
- /* 0x0bd */ OPT_VADDR,
- /* 0x0be */ OPT_FADDR,
- /* 0x0bf */ OPT_SNAME,
- /* 0x0c0 */ OPT_INT1,
- /* 0x0c1 */ OPT_INT2,
- /* 0x0c2 */ OPT_INT3,
- /* 0x0c3 */ OPT_INT4,
- /* 0x0c4 */ OPT_INT5,
- /* 0x0c5 */ OPT_INT6,
- /* 0x0c6 */ OPT_INT7,
- /* 0x0c7 */ OPT_INT8,
- /* 0x0c8 */ OPT_FLOAT,
- /* 0x0c9 */ OPT_DOUBLE,
- /* 0x0ca */ OPT_LE,
- /* 0x0cb */ OPT_BE,
- /* 0x0cc */ OPT_ZEROS,
- /* 0x0cd */ OPT_HEX,
- /* 0x0ce */ OPT_DEC,
- /* 0x0cf */ OPT_C_SYNTAX,
- /* 0x0d0 */ OPT_ADDR,
- /* 0x0d1 */ OPT_ALIGN,
- /* 0x0d2 */ OPT_TRIGGER,
- /* 0x0d3 */ OPT_NO_ADDR,
- /* 0x0d4 */ OPT_NO_NUMBERS,
- /* 0x0d5 */ OPT_NO_TEXT,
- /* 0x0d6 */ OPT_FORMAT,
- /* 0x0d7 */ OPT_NO_NULL,
- /* 0x0d8 */ OPT_NARROW,
- /* 0x0d9 */ OPT_SMALL,
- /* 0x0da */ OPT_WIDE,
- /* 0x0db */ OPT_BYTES,
- /* 0x0dc */ 0,0,0,0,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_CHDIR,
+ /* 0x08e */ OPT_VS_REGION,
+ /* 0x08f */ OPT_BT_REGION,
+ /* 0x090 */ OPT_ALL_RANKS,
+ /* 0x091 */ OPT_POINTS,
+ /* 0x092 */ OPT_CHEAT,
+ /* 0x093 */ OPT_HTTPS,
+ /* 0x094 */ OPT_DOMAIN,
+ /* 0x095 */ OPT_WIIMMFI,
+ /* 0x096 */ OPT_TWIIMMFI,
+ /* 0x097 */ OPT_WC24,
+ /* 0x098 */ OPT_WCODE,
+ /* 0x099 */ OPT_ADD_WCODE,
+ /* 0x09a */ OPT_PB_MODE,
+ /* 0x09b */ OPT_PATCHED_BY,
+ /* 0x09c */ OPT_VS,
+ /* 0x09d */ OPT_VS2,
+ /* 0x09e */ OPT_BT,
+ /* 0x09f */ OPT_BT2,
+ /* 0x0a0 */ OPT_CANNON,
+ /* 0x0a1 */ OPT_MENO,
+ /* 0x0a2 */ OPT_UTF_8,
+ /* 0x0a3 */ OPT_NO_UTF_8,
+ /* 0x0a4 */ OPT_FORCE,
+ /* 0x0a5 */ OPT_REPAIR_MAGICS,
+ /* 0x0a6 */ OPT_OLD,
+ /* 0x0a7 */ OPT_STD,
+ /* 0x0a8 */ OPT_NEW,
+ /* 0x0a9 */ OPT_EXTRACT,
+ /* 0x0aa */ OPT_NUMBER,
+ /* 0x0ab */ OPT_CLEAN_DOL,
+ /* 0x0ac */ OPT_ADD_LECODE,
+ /* 0x0ad */ OPT_ADD_CTCODE,
+ /* 0x0ae */ OPT_CT_DIR,
+ /* 0x0af */ OPT_MOVE_D8,
+ /* 0x0b0 */ OPT_ADD_SECTION,
+ /* 0x0b1 */ OPT_FULL_GCH,
+ /* 0x0b2 */ OPT_GCT_NO_SEP,
+ /* 0x0b3 */ OPT_GCT_SEP,
+ /* 0x0b4 */ OPT_GCT_ASM_SEP,
+ /* 0x0b5 */ OPT_GCT_LIST,
+ /* 0x0b6 */ OPT_GCT_MOVE,
+ /* 0x0b7 */ OPT_GCT_ADDR,
+ /* 0x0b8 */ OPT_GCT_SPACE,
+ /* 0x0b9 */ OPT_ALLOW_USER_GCH,
+ /* 0x0ba */ OPT_CREATE_SECT,
+ /* 0x0bb */ OPT_WPF,
+ /* 0x0bc */ OPT_SECTIONS,
+ /* 0x0bd */ OPT_PORT_DB,
+ /* 0x0be */ OPT_ORDER,
+ /* 0x0bf */ OPT_VADDR,
+ /* 0x0c0 */ OPT_FADDR,
+ /* 0x0c1 */ OPT_SNAME,
+ /* 0x0c2 */ OPT_INT1,
+ /* 0x0c3 */ OPT_INT2,
+ /* 0x0c4 */ OPT_INT3,
+ /* 0x0c5 */ OPT_INT4,
+ /* 0x0c6 */ OPT_INT5,
+ /* 0x0c7 */ OPT_INT6,
+ /* 0x0c8 */ OPT_INT7,
+ /* 0x0c9 */ OPT_INT8,
+ /* 0x0ca */ OPT_FLOAT,
+ /* 0x0cb */ OPT_DOUBLE,
+ /* 0x0cc */ OPT_LE,
+ /* 0x0cd */ OPT_BE,
+ /* 0x0ce */ OPT_ZEROS,
+ /* 0x0cf */ OPT_HEX,
+ /* 0x0d0 */ OPT_DEC,
+ /* 0x0d1 */ OPT_C_SYNTAX,
+ /* 0x0d2 */ OPT_ADDR,
+ /* 0x0d3 */ OPT_ALIGN,
+ /* 0x0d4 */ OPT_TRIGGER,
+ /* 0x0d5 */ OPT_NO_ADDR,
+ /* 0x0d6 */ OPT_NO_NUMBERS,
+ /* 0x0d7 */ OPT_NO_TEXT,
+ /* 0x0d8 */ OPT_FORMAT,
+ /* 0x0d9 */ OPT_NO_NULL,
+ /* 0x0da */ OPT_NARROW,
+ /* 0x0db */ OPT_SMALL,
+ /* 0x0dc */ OPT_WIDE,
+ /* 0x0dd */ OPT_BYTES,
+ /* 0x0de */ 0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x100 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1455,140 +1473,147 @@ static u8 option_allowed_cmd_ARGTEST[66] = // cmd #4
1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_TEST[66] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[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
};
-static u8 option_allowed_cmd_COLORS[66] = // cmd #6
+static u8 option_allowed_cmd_TEST[66] = // 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
+};
+
+static u8 option_allowed_cmd_COLORS[66] = // cmd #7
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ERROR[66] = // cmd #7
+static u8 option_allowed_cmd_ERROR[66] = // cmd #8
{
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
};
-static u8 option_allowed_cmd_FILETYPE[66] = // cmd #8
+static u8 option_allowed_cmd_FILETYPE[66] = // cmd #9
{
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
};
-static u8 option_allowed_cmd_FILEATTRIB[66] = // cmd #9
+static u8 option_allowed_cmd_FILEATTRIB[66] = // 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,0,0,0,
0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_RAWDUMP[66] = // cmd #10
+static u8 option_allowed_cmd_RAWDUMP[66] = // cmd #11
{
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
};
-static u8 option_allowed_cmd_DUMP[66] = // cmd #11
+static u8 option_allowed_cmd_DUMP[66] = // cmd #12
{
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
};
-static u8 option_allowed_cmd_CDUMP[66] = // cmd #12
+static u8 option_allowed_cmd_CDUMP[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,0, 0,0,0,0,0, 0,0,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[66] = // cmd #13
+static u8 option_allowed_cmd_HEXDUMP[66] = // 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, 1,1,1,1,1, 1,1,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[66] = // cmd #14
+static u8 option_allowed_cmd_PORT[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,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[66] = // cmd #15
+static u8 option_allowed_cmd_WHERE[66] = // cmd #16
{
0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_HTTPS[66] = // cmd #16
+static u8 option_allowed_cmd_HTTPS[66] = // cmd #17
{
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
};
-static u8 option_allowed_cmd_EXTRACT[66] = // cmd #17
+static u8 option_allowed_cmd_EXTRACT[66] = // cmd #18
{
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
};
-static u8 option_allowed_cmd_TRACKS[66] = // cmd #18
+static u8 option_allowed_cmd_TRACKS[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
};
-static u8 option_allowed_cmd_ARENAS[66] = // cmd #19
+static u8 option_allowed_cmd_ARENAS[66] = // cmd #20
{
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
};
-static u8 option_allowed_cmd_FILES[66] = // cmd #20
+static u8 option_allowed_cmd_FILES[66] = // 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
};
-static u8 option_allowed_cmd_FIND[66] = // cmd #21
+static u8 option_allowed_cmd_FIND[66] = // cmd #22
{
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_POINTS[66] = // cmd #22
+static u8 option_allowed_cmd_POINTS[66] = // cmd #23
{
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_ANALYZE[66] = // cmd #23
+static u8 option_allowed_cmd_ANALYZE[66] = // cmd #24
{
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
};
-static u8 option_allowed_cmd_PATCH[66] = // cmd #24
+static u8 option_allowed_cmd_PATCH[66] = // cmd #25
{
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,
@@ -1611,9 +1636,11 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
@@ -1685,6 +1712,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
@@ -1753,6 +1786,7 @@ static const InfoOption_t * option_tab_cmd_HEXDUMP[] =
OptionInfo + OPT_FADDR,
OptionInfo + OPT_SNAME,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_NONE, // separator
@@ -2020,7 +2054,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,
- 40,
+ 42,
option_tab_tool,
0
},
@@ -2086,13 +2120,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wstrt ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wstrt EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -2132,7 +2185,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wstrt ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -2147,7 +2201,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wstrt FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
2,
option_tab_cmd_FILETYPE,
@@ -2164,7 +2218,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -2226,7 +2281,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" Select parts by --vaddr, --faddr and --sname. Without selectors, the"
" whole file is dumped.",
0,
- 32,
+ 33,
option_tab_cmd_HEXDUMP,
option_allowed_cmd_HEXDUMP
},
diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h
index 31ecfe0..23742b8 100644
--- a/project/src/ui/ui-wstrt.h
+++ b/project/src/ui/ui-wstrt.h
@@ -135,9 +135,11 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
@@ -179,7 +181,7 @@ typedef enum enumOptions
OPT_CLEAN_DOL,
OPT_CT_DIR,
- OPT__N_TOTAL // == 118
+ OPT__N_TOTAL // == 120
} enumOptions;
@@ -313,6 +315,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -415,6 +419,7 @@ typedef enum enumCommands
CMD_HELP,
CMD_CONFIG,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -439,7 +444,7 @@ typedef enum enumCommands
CMD_ANALYZE,
CMD_PATCH,
- CMD__N // == 25
+ CMD__N // == 26
} enumCommands;
@@ -487,6 +492,8 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c
index 1d62e8e..7c4445c 100644
--- a/project/src/ui/ui-wszst.c
+++ b/project/src/ui/ui-wszst.c
@@ -53,6 +53,20 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
//----- command specific options -----
+ { OPT_PLUS, false, false, false, false, false, 0, "plus",
+ "chars",
+ "If a name begins with a plus sign, then all characters up to the"
+ " first space are recognized as a plus prefix. The first part consists"
+ " of all the plus signs followed by any other characters. The first"
+ " character of the second part is used to determine the sort value. If"
+ " the second part is empty, then the last plus sign is used instead.\n"
+ " The higher sorting value is now calculated from the number of plus"
+ " signs in the first part, the more plus signs, the smaller the value."
+ " The first character from the second part determines the lower value."
+ " If it is in parameter CHARS then the position determines the value,"
+ " otherwise the ASCII value to which 500 is added."
+ },
+
{ OPT_TOUCH, false, false, false, false, false, 0, "touch",
0,
"Mark the minimap as modified to force a new calculation of the"
@@ -445,7 +459,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
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)."
+ " consists of '0'-'9' and 'a'-'v' (32 different characters)."
},
{ OPT_BASE64, true, false, false, false, false, 0, "base64",
@@ -1132,7 +1146,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 == 135
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 136
//----- global options -----
@@ -1192,6 +1206,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" --width is set."
},
+ { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager",
+ 0,
+ "Forbid the internal usage of a pager."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -1207,7 +1226,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
0,
- "This debug option enables the logging of internal lists and maps."
+ "This debug option enables the logging of internal lists and maps. Set"
+ " it up to three times to be more verbose.\n"
+ },
+
+ { OPT_TIMING, false, false, false, false, false, 0, "timing",
+ 0,
+ "Activate the timing of some operations. Logging level 3 activates"
+ " them too.\n"
},
{ OPT_WARN, false, false, false, false, false, 'W', "warn",
@@ -1257,6 +1283,13 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LOAD_PREFIX, false, false, false, false, false, 0, "load-prefix",
+ "file",
+ "Read in a PREFIX file and replace the internal prefix database with"
+ " the content. https://ct.wiimm.de/export/prefix is the authoritative"
+ " source for this."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -1768,7 +1801,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 == 211
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 215
};
@@ -2274,6 +2307,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_CONFIG, "CONFIG", 0, 0 },
{ CMD_INSTALL, "INSTALL", 0, 0 },
{ CMD_ARGTEST, "ARGTEST", 0, 0 },
+ { CMD_EXPAND, "EXPAND", 0, 0 },
{ CMD_TEST, "TEST", 0, 0 },
{ CMD_COLORS, "COLORS", 0, 0 },
{ CMD_ERROR, "ERROR", "ERR", 0 },
@@ -2322,9 +2356,11 @@ static const KeywordTab_t CommandTab[] =
{ CMD_SHA1, "SHA1", 0, 0 },
{ CMD_ANALYZE, "ANALYZE", "ANA", 0 },
{ CMD_ANALYZE, "ANALYSE", 0, 0 },
+ { CMD_SPLIT, "SPLIT", 0, 0 },
{ CMD_IS_TEXTURE, "IS-TEXTURE", "ISTEXTURE", 0 },
{ CMD_FEATURES, "FEATURES", 0, 0 },
- { CMD_DISTRIBUTION, "DISTRIBUTION", "DIST", 0 },
+ { CMD_DISTRIBUTION, "DISTRIBUTION", "DIS", 0 },
+ { CMD_DISTRIBUTION, "DISTRIB", 0, 0 },
{ CMD_DIFF, "DIFF", "CMP", 0 },
{ CMD_CHECK, "CHECK", 0, 0 },
{ CMD_SLOTS, "SLOTS", 0, 0 },
@@ -2379,9 +2415,12 @@ static const struct option OptionLong[] =
{ "width", 1, 0, GO_WIDTH },
{ "max-width", 1, 0, GO_MAX_WIDTH },
{ "maxwidth", 1, 0, GO_MAX_WIDTH },
+ { "no-pager", 0, 0, GO_NO_PAGER },
+ { "nopager", 0, 0, GO_NO_PAGER },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
+ { "timing", 0, 0, GO_TIMING },
{ "warn", 1, 0, 'W' },
{ "de", 0, 0, GO_DE },
{ "colors", 2, 0, GO_COLORS },
@@ -2391,6 +2430,9 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "load-prefix", 1, 0, GO_LOAD_PREFIX },
+ { "loadprefix", 1, 0, GO_LOAD_PREFIX },
+ { "plus", 1, 0, GO_PLUS },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "touch", 0, 0, GO_TOUCH },
@@ -2791,177 +2833,181 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x083 */ OPT_COMPATIBLE,
/* 0x084 */ OPT_WIDTH,
/* 0x085 */ OPT_MAX_WIDTH,
- /* 0x086 */ OPT_DE,
- /* 0x087 */ OPT_COLORS,
- /* 0x088 */ OPT_NO_COLORS,
- /* 0x089 */ OPT_CT_CODE,
- /* 0x08a */ OPT_LE_CODE,
- /* 0x08b */ OPT_CHDIR,
- /* 0x08c */ OPT_TOUCH,
- /* 0x08d */ OPT_AUTO,
- /* 0x08e */ OPT_SET_FLAGS,
- /* 0x08f */ OPT_SET_SCALE,
- /* 0x090 */ OPT_SET_ROT,
- /* 0x091 */ OPT_SET_X,
- /* 0x092 */ OPT_SET_Y,
- /* 0x093 */ OPT_SET_Z,
- /* 0x094 */ OPT_XCENTER,
- /* 0x095 */ OPT_YCENTER,
- /* 0x096 */ OPT_ZCENTER,
- /* 0x097 */ OPT_CENTER,
- /* 0x098 */ OPT_SCALE,
- /* 0x099 */ OPT_SHIFT,
- /* 0x09a */ OPT_XSS,
- /* 0x09b */ OPT_YSS,
- /* 0x09c */ OPT_ZSS,
- /* 0x09d */ OPT_ROT,
- /* 0x09e */ OPT_XROT,
- /* 0x09f */ OPT_YROT,
- /* 0x0a0 */ OPT_ZROT,
- /* 0x0a1 */ OPT_YPOS,
- /* 0x0a2 */ OPT_TRANSLATE,
- /* 0x0a3 */ OPT_NULL,
- /* 0x0a4 */ OPT_NEXT,
- /* 0x0a5 */ OPT_ASCALE,
- /* 0x0a6 */ OPT_AROT,
- /* 0x0a7 */ OPT_TFORM_SCRIPT,
- /* 0x0a8 */ OPT_MINIMAP,
- /* 0x0a9 */ OPT_RM_GOBJ,
- /* 0x0aa */ OPT_BATTLE,
- /* 0x0ab */ OPT_EXPORT_FLAGS,
- /* 0x0ac */ OPT_ROUTE_OPTIONS,
- /* 0x0ad */ OPT_WIM0,
- /* 0x0ae */ OPT_SLOT,
- /* 0x0af */ OPT_LOAD_KCL,
- /* 0x0b0 */ OPT_KCL,
- /* 0x0b1 */ OPT_KCL_FLAG,
- /* 0x0b2 */ OPT_KCL_SCRIPT,
- /* 0x0b3 */ OPT_TRI_AREA,
- /* 0x0b4 */ OPT_TRI_HEIGHT,
- /* 0x0b5 */ OPT_FLAG_FILE,
- /* 0x0b6 */ OPT_XTRIDATA,
- /* 0x0b7 */ OPT_KMP,
- /* 0x0b8 */ OPT_SPEED_MOD,
- /* 0x0b9 */ OPT_KTPT2,
- /* 0x0ba */ OPT_TFORM_KMP,
- /* 0x0bb */ OPT_REPAIR_XPF,
- /* 0x0bc */ OPT_GAMEMODES,
- /* 0x0bd */ OPT_MDL,
- /* 0x0be */ OPT_PAT,
- /* 0x0bf */ OPT_PATCH_FILE,
- /* 0x0c0 */ OPT_KMG_LIMIT,
- /* 0x0c1 */ OPT_KMG_COPY,
- /* 0x0c2 */ OPT_LT_CLEAR,
- /* 0x0c3 */ OPT_LT_ONLINE,
- /* 0x0c4 */ OPT_LT_N_PLAYERS,
- /* 0x0c5 */ OPT_LT_COND_BIT,
- /* 0x0c6 */ OPT_LT_GAME_MODE,
- /* 0x0c7 */ OPT_LT_ENGINE,
- /* 0x0c8 */ OPT_LT_RANDOM,
- /* 0x0c9 */ OPT_LEX_PURGE,
- /* 0x0ca */ OPT_LEX_FEATURES,
- /* 0x0cb */ OPT_LEX_RM_FEAT,
- /* 0x0cc */ OPT_LOAD_BMG,
- /* 0x0cd */ OPT_PATCH_BMG,
- /* 0x0ce */ OPT_MACRO_BMG,
- /* 0x0cf */ OPT_FILTER_BMG,
- /* 0x0d0 */ OPT_CACHE,
- /* 0x0d1 */ OPT_CNAME,
- /* 0x0d2 */ OPT_ID,
- /* 0x0d3 */ OPT_BASE64,
- /* 0x0d4 */ OPT_DB64,
- /* 0x0d5 */ OPT_CODING,
- /* 0x0d6 */ OPT_VERIFY,
- /* 0x0d7 */ OPT_ROUND,
- /* 0x0d8 */ OPT_PIPE,
- /* 0x0d9 */ OPT_DELTA,
- /* 0x0da */ OPT_DIFF,
- /* 0x0db */ OPT_EPSILON,
- /* 0x0dc */ OPT_BMG_ENDIAN,
- /* 0x0dd */ OPT_BMG_ENCODING,
- /* 0x0de */ OPT_BMG_INF_SIZE,
- /* 0x0df */ OPT_BMG_MID,
- /* 0x0e0 */ OPT_FORCE_ATTRIB,
- /* 0x0e1 */ OPT_DEF_ATTRIB,
- /* 0x0e2 */ OPT_NO_ATTRIB,
- /* 0x0e3 */ OPT_X_ESCAPES,
- /* 0x0e4 */ OPT_OLD_ESCAPES,
- /* 0x0e5 */ OPT_NO_BMG_COLORS,
- /* 0x0e6 */ OPT_BMG_COLORS,
- /* 0x0e7 */ OPT_NO_BMG_INLINE,
- /* 0x0e8 */ OPT_AUTOADD_PATH,
- /* 0x0e9 */ OPT_STRIP,
- /* 0x0ea */ OPT_UTF_8,
- /* 0x0eb */ OPT_NO_UTF_8,
- /* 0x0ec */ OPT_FORCE,
- /* 0x0ed */ OPT_REPAIR_MAGICS,
- /* 0x0ee */ OPT_TINY,
- /* 0x0ef */ OPT_YAZ0,
- /* 0x0f0 */ OPT_YAZ1,
- /* 0x0f1 */ OPT_XYZ,
- /* 0x0f2 */ OPT_BZ,
- /* 0x0f3 */ OPT_SH,
- /* 0x0f4 */ OPT_BASH,
- /* 0x0f5 */ OPT_JSON,
- /* 0x0f6 */ OPT_PHP,
- /* 0x0f7 */ OPT_MAKEDOC,
- /* 0x0f8 */ OPT_VAR,
- /* 0x0f9 */ OPT_ARRAY,
- /* 0x0fa */ OPT_AVAR,
- /* 0x0fb */ OPT_CASE,
- /* 0x0fc */ OPT_PMODES,
- /* 0x0fd */ OPT_FMODES,
- /* 0x0fe */ OPT_INSTALL,
- /* 0x0ff */ OPT_ANALYZE,
- /* 0x100 */ OPT_ANALYZE_MODE,
- /* 0x101 */ OPT_OLD,
- /* 0x102 */ OPT_STD,
- /* 0x103 */ OPT_NEW,
- /* 0x104 */ OPT_EXTRACT,
- /* 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,
+ /* 0x086 */ OPT_NO_PAGER,
+ /* 0x087 */ OPT_TIMING,
+ /* 0x088 */ OPT_DE,
+ /* 0x089 */ OPT_COLORS,
+ /* 0x08a */ OPT_NO_COLORS,
+ /* 0x08b */ OPT_CT_CODE,
+ /* 0x08c */ OPT_LE_CODE,
+ /* 0x08d */ OPT_LOAD_PREFIX,
+ /* 0x08e */ OPT_PLUS,
+ /* 0x08f */ OPT_CHDIR,
+ /* 0x090 */ OPT_TOUCH,
+ /* 0x091 */ OPT_AUTO,
+ /* 0x092 */ OPT_SET_FLAGS,
+ /* 0x093 */ OPT_SET_SCALE,
+ /* 0x094 */ OPT_SET_ROT,
+ /* 0x095 */ OPT_SET_X,
+ /* 0x096 */ OPT_SET_Y,
+ /* 0x097 */ OPT_SET_Z,
+ /* 0x098 */ OPT_XCENTER,
+ /* 0x099 */ OPT_YCENTER,
+ /* 0x09a */ OPT_ZCENTER,
+ /* 0x09b */ OPT_CENTER,
+ /* 0x09c */ OPT_SCALE,
+ /* 0x09d */ OPT_SHIFT,
+ /* 0x09e */ OPT_XSS,
+ /* 0x09f */ OPT_YSS,
+ /* 0x0a0 */ OPT_ZSS,
+ /* 0x0a1 */ OPT_ROT,
+ /* 0x0a2 */ OPT_XROT,
+ /* 0x0a3 */ OPT_YROT,
+ /* 0x0a4 */ OPT_ZROT,
+ /* 0x0a5 */ OPT_YPOS,
+ /* 0x0a6 */ OPT_TRANSLATE,
+ /* 0x0a7 */ OPT_NULL,
+ /* 0x0a8 */ OPT_NEXT,
+ /* 0x0a9 */ OPT_ASCALE,
+ /* 0x0aa */ OPT_AROT,
+ /* 0x0ab */ OPT_TFORM_SCRIPT,
+ /* 0x0ac */ OPT_MINIMAP,
+ /* 0x0ad */ OPT_RM_GOBJ,
+ /* 0x0ae */ OPT_BATTLE,
+ /* 0x0af */ OPT_EXPORT_FLAGS,
+ /* 0x0b0 */ OPT_ROUTE_OPTIONS,
+ /* 0x0b1 */ OPT_WIM0,
+ /* 0x0b2 */ OPT_SLOT,
+ /* 0x0b3 */ OPT_LOAD_KCL,
+ /* 0x0b4 */ OPT_KCL,
+ /* 0x0b5 */ OPT_KCL_FLAG,
+ /* 0x0b6 */ OPT_KCL_SCRIPT,
+ /* 0x0b7 */ OPT_TRI_AREA,
+ /* 0x0b8 */ OPT_TRI_HEIGHT,
+ /* 0x0b9 */ OPT_FLAG_FILE,
+ /* 0x0ba */ OPT_XTRIDATA,
+ /* 0x0bb */ OPT_KMP,
+ /* 0x0bc */ OPT_SPEED_MOD,
+ /* 0x0bd */ OPT_KTPT2,
+ /* 0x0be */ OPT_TFORM_KMP,
+ /* 0x0bf */ OPT_REPAIR_XPF,
+ /* 0x0c0 */ OPT_GAMEMODES,
+ /* 0x0c1 */ OPT_MDL,
+ /* 0x0c2 */ OPT_PAT,
+ /* 0x0c3 */ OPT_PATCH_FILE,
+ /* 0x0c4 */ OPT_KMG_LIMIT,
+ /* 0x0c5 */ OPT_KMG_COPY,
+ /* 0x0c6 */ OPT_LT_CLEAR,
+ /* 0x0c7 */ OPT_LT_ONLINE,
+ /* 0x0c8 */ OPT_LT_N_PLAYERS,
+ /* 0x0c9 */ OPT_LT_COND_BIT,
+ /* 0x0ca */ OPT_LT_GAME_MODE,
+ /* 0x0cb */ OPT_LT_ENGINE,
+ /* 0x0cc */ OPT_LT_RANDOM,
+ /* 0x0cd */ OPT_LEX_PURGE,
+ /* 0x0ce */ OPT_LEX_FEATURES,
+ /* 0x0cf */ OPT_LEX_RM_FEAT,
+ /* 0x0d0 */ OPT_LOAD_BMG,
+ /* 0x0d1 */ OPT_PATCH_BMG,
+ /* 0x0d2 */ OPT_MACRO_BMG,
+ /* 0x0d3 */ OPT_FILTER_BMG,
+ /* 0x0d4 */ OPT_CACHE,
+ /* 0x0d5 */ OPT_CNAME,
+ /* 0x0d6 */ OPT_ID,
+ /* 0x0d7 */ OPT_BASE64,
+ /* 0x0d8 */ OPT_DB64,
+ /* 0x0d9 */ OPT_CODING,
+ /* 0x0da */ OPT_VERIFY,
+ /* 0x0db */ OPT_ROUND,
+ /* 0x0dc */ OPT_PIPE,
+ /* 0x0dd */ OPT_DELTA,
+ /* 0x0de */ OPT_DIFF,
+ /* 0x0df */ OPT_EPSILON,
+ /* 0x0e0 */ OPT_BMG_ENDIAN,
+ /* 0x0e1 */ OPT_BMG_ENCODING,
+ /* 0x0e2 */ OPT_BMG_INF_SIZE,
+ /* 0x0e3 */ OPT_BMG_MID,
+ /* 0x0e4 */ OPT_FORCE_ATTRIB,
+ /* 0x0e5 */ OPT_DEF_ATTRIB,
+ /* 0x0e6 */ OPT_NO_ATTRIB,
+ /* 0x0e7 */ OPT_X_ESCAPES,
+ /* 0x0e8 */ OPT_OLD_ESCAPES,
+ /* 0x0e9 */ OPT_NO_BMG_COLORS,
+ /* 0x0ea */ OPT_BMG_COLORS,
+ /* 0x0eb */ OPT_NO_BMG_INLINE,
+ /* 0x0ec */ OPT_AUTOADD_PATH,
+ /* 0x0ed */ OPT_STRIP,
+ /* 0x0ee */ OPT_UTF_8,
+ /* 0x0ef */ OPT_NO_UTF_8,
+ /* 0x0f0 */ OPT_FORCE,
+ /* 0x0f1 */ OPT_REPAIR_MAGICS,
+ /* 0x0f2 */ OPT_TINY,
+ /* 0x0f3 */ OPT_YAZ0,
+ /* 0x0f4 */ OPT_YAZ1,
+ /* 0x0f5 */ OPT_XYZ,
+ /* 0x0f6 */ OPT_BZ,
+ /* 0x0f7 */ OPT_SH,
+ /* 0x0f8 */ OPT_BASH,
+ /* 0x0f9 */ OPT_JSON,
+ /* 0x0fa */ OPT_PHP,
+ /* 0x0fb */ OPT_MAKEDOC,
+ /* 0x0fc */ OPT_VAR,
+ /* 0x0fd */ OPT_ARRAY,
+ /* 0x0fe */ OPT_AVAR,
+ /* 0x0ff */ OPT_CASE,
+ /* 0x100 */ OPT_PMODES,
+ /* 0x101 */ OPT_FMODES,
+ /* 0x102 */ OPT_INSTALL,
+ /* 0x103 */ OPT_ANALYZE,
+ /* 0x104 */ OPT_ANALYZE_MODE,
+ /* 0x105 */ OPT_OLD,
+ /* 0x106 */ OPT_STD,
+ /* 0x107 */ OPT_NEW,
+ /* 0x108 */ OPT_EXTRACT,
+ /* 0x109 */ OPT_REFERENCE,
+ /* 0x10a */ OPT_NUMBER,
+ /* 0x10b */ OPT_REMOVE_SRC,
+ /* 0x10c */ OPT_IGNORE_SETUP,
+ /* 0x10d */ OPT_PURGE,
+ /* 0x10e */ OPT_ALIGN_U8,
+ /* 0x10f */ OPT_ALIGN_PACK,
+ /* 0x110 */ OPT_ALIGN_BRRES,
+ /* 0x111 */ OPT_ALIGN_BREFF,
+ /* 0x112 */ OPT_ALIGN_BREFT,
+ /* 0x113 */ OPT_ALIGN,
+ /* 0x114 */ OPT_ENCODE_ALL,
+ /* 0x115 */ OPT_ENCODE_IMG,
+ /* 0x116 */ OPT_NO_ENCODE,
+ /* 0x117 */ OPT_NO_RECURSE,
+ /* 0x118 */ OPT_AUTO_ADD,
+ /* 0x119 */ OPT_NO_ECHO,
+ /* 0x11a */ OPT_PT_DIR,
+ /* 0x11b */ OPT_RM_AIPARAM,
+ /* 0x11c */ OPT_U8,
+ /* 0x11d */ OPT_SZS,
+ /* 0x11e */ OPT_WU8,
+ /* 0x11f */ OPT_XWU8,
+ /* 0x120 */ OPT_WBZ,
+ /* 0x121 */ OPT_PACK,
+ /* 0x122 */ OPT_BRRES,
+ /* 0x123 */ OPT_BREFF,
+ /* 0x124 */ OPT_BREFT,
+ /* 0x125 */ OPT_NO_COMPRESS,
+ /* 0x126 */ OPT_FAST,
+ /* 0x127 */ OPT_LINKS,
+ /* 0x128 */ OPT_BASEDIR,
+ /* 0x129 */ OPT_DECODE,
+ /* 0x12a */ OPT_MIPMAPS,
+ /* 0x12b */ OPT_NO_MIPMAPS,
+ /* 0x12c */ OPT_N_MIPMAPS,
+ /* 0x12d */ OPT_MAX_MIPMAPS,
+ /* 0x12e */ OPT_MIPMAP_SIZE,
+ /* 0x12f */ OPT_FAST_MIPMAPS,
+ /* 0x130 */ OPT_CMPR_DEFAULT,
+ /* 0x131 */ OPT_CUT,
+ /* 0x132 */ OPT_RAW,
+ /* 0x133 */ OPT_SECTIONS,
+ /* 0x134 */ 0,0,
};
//
@@ -2969,706 +3015,724 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[135] = // cmd #1
+static u8 option_allowed_cmd_VERSION[136] = // 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,1,0, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_HELP[135] = // cmd #2
+static u8 option_allowed_cmd_HELP[136] = // cmd #2
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_CONFIG[135] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[136] = // 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,1,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_INSTALL[135] = // cmd #4
+static u8 option_allowed_cmd_INSTALL[136] = // cmd #4
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
+};
+
+static u8 option_allowed_cmd_ARGTEST[136] = // 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
};
-static u8 option_allowed_cmd_ARGTEST[135] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[136] = // cmd #6
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_TEST[135] = // cmd #6
+static u8 option_allowed_cmd_TEST[136] = // cmd #7
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_COLORS[135] = // cmd #7
+static u8 option_allowed_cmd_COLORS[136] = // 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,0,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ERROR[135] = // cmd #8
+static u8 option_allowed_cmd_ERROR[136] = // 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,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_FILETYPE[135] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[136] = // 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,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,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[135] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[136] = // cmd #11
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,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_BRSUB[135] = // cmd #11
+static u8 option_allowed_cmd_BRSUB[136] = // 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,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,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[135] = // cmd #12
+static u8 option_allowed_cmd_SYMBOLS[136] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,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_FUNCTIONS[135] = // cmd #13
+static u8 option_allowed_cmd_FUNCTIONS[136] = // 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,1,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_CALCULATE[135] = // cmd #14
+static u8 option_allowed_cmd_CALCULATE[136] = // cmd #15
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_MATRIX[135] = // cmd #15
+static u8 option_allowed_cmd_MATRIX[136] = // cmd #16
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FLOAT[135] = // cmd #16
+static u8 option_allowed_cmd_FLOAT[136] = // 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,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_VR_CALC[135] = // cmd #17
+static u8 option_allowed_cmd_VR_CALC[136] = // cmd #18
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_VR_RACE[135] = // cmd #18
+static u8 option_allowed_cmd_VR_RACE[136] = // 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,1,0,0, 0,0,0,0,0, 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_AUTOADD[135] = // cmd #19
+static u8 option_allowed_cmd_AUTOADD[136] = // cmd #20
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0
};
-static u8 option_allowed_cmd_TRACKS[135] = // cmd #20
+static u8 option_allowed_cmd_TRACKS[136] = // 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,1,0,0, 0,0,0,0,0, 0,0,1,0,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,1,0, 0,1,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0
};
-static u8 option_allowed_cmd_SCANCACHE[135] = // cmd #21
+static u8 option_allowed_cmd_SCANCACHE[136] = // 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,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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[135] = // cmd #22
+static u8 option_allowed_cmd_EXPORT[136] = // cmd #23
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_SIZEOF[135] = // cmd #23
+static u8 option_allowed_cmd_SIZEOF[136] = // 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,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_CODE[135] = // cmd #24
+static u8 option_allowed_cmd_CODE[136] = // cmd #25
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_RECODE[135] = // cmd #25
+static u8 option_allowed_cmd_RECODE[136] = // cmd #26
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_SUBFILE[135] = // cmd #26
+static u8 option_allowed_cmd_SUBFILE[136] = // 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,1, 1,1,1,1,0, 1,1,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,1,1,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_TESTNORM[135] = // cmd #27
+static u8 option_allowed_cmd_TESTNORM[136] = // cmd #28
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_LIST[135] = // cmd #28
+static u8 option_allowed_cmd_LIST[136] = // 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,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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_LIST_L[135] = // cmd #29
+static u8 option_allowed_cmd_LIST_L[136] = // 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,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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_LIST_LL[135] = // cmd #30
+static u8 option_allowed_cmd_LIST_LL[136] = // 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,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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_LIST_LLL[135] = // cmd #31
+static u8 option_allowed_cmd_LIST_LLL[136] = // 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,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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_LIST_A[135] = // cmd #32
+static u8 option_allowed_cmd_LIST_A[136] = // 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,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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_LIST_LA[135] = // cmd #33
+static u8 option_allowed_cmd_LIST_LA[136] = // 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,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,1,0,1, 1,1,1,1,1, 1,1,1,0,0
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_NAME_REF[135] = // cmd #34
+static u8 option_allowed_cmd_NAME_REF[136] = // 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,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ILIST[135] = // cmd #35
+static u8 option_allowed_cmd_ILIST[136] = // 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,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_ILIST_L[135] = // cmd #36
+static u8 option_allowed_cmd_ILIST_L[136] = // 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,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_ILIST_LL[135] = // cmd #37
+static u8 option_allowed_cmd_ILIST_LL[136] = // 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,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_ILIST_A[135] = // cmd #38
+static u8 option_allowed_cmd_ILIST_A[136] = // 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,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_ILIST_LA[135] = // cmd #39
+static u8 option_allowed_cmd_ILIST_LA[136] = // cmd #40
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_MEMORY[135] = // cmd #40
+static u8 option_allowed_cmd_MEMORY[136] = // 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,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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_MEMORY_A[135] = // cmd #41
+static u8 option_allowed_cmd_MEMORY_A[136] = // 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,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,0,0
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0
};
-static u8 option_allowed_cmd_DUMP[135] = // cmd #42
+static u8 option_allowed_cmd_DUMP[136] = // cmd #43
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,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[135] = // cmd #43
+static u8 option_allowed_cmd_SHA1[136] = // 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,1,1,1,1, 1,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,0,1,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,0,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_ANALYZE[135] = // cmd #44
+static u8 option_allowed_cmd_ANALYZE[136] = // 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, 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,1,0, 0,0,0,0,0, 0,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,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_IS_TEXTURE[135] = // cmd #45
+static u8 option_allowed_cmd_SPLIT[136] = // cmd #46
{
+ 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1
+};
+
+static u8 option_allowed_cmd_IS_TEXTURE[136] = // cmd #47
+{
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_FEATURES[135] = // cmd #46
+static u8 option_allowed_cmd_FEATURES[136] = // 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,1,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1
};
-static u8 option_allowed_cmd_DISTRIBUTION[135] = // cmd #47
+static u8 option_allowed_cmd_DISTRIBUTION[136] = // cmd #49
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,1,1,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,1,
+ 1,0,0,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_DIFF[135] = // cmd #48
+static u8 option_allowed_cmd_DIFF[136] = // cmd #50
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,1,0,0,0, 0,0,0,0,0, 0,1,1,0,0
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,1,1,0, 0
};
-static u8 option_allowed_cmd_CHECK[135] = // cmd #49
+static u8 option_allowed_cmd_CHECK[136] = // cmd #51
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,1,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0,
+ 1,0,0,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_SLOTS[135] = // cmd #50
+static u8 option_allowed_cmd_SLOTS[136] = // cmd #52
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,1,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0,
+ 1,0,0,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_STGI[135] = // cmd #51
+static u8 option_allowed_cmd_STGI[136] = // cmd #53
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,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[135] = // cmd #52
+static u8 option_allowed_cmd_ISARENA[136] = // cmd #54
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,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[135] = // cmd #53
+static u8 option_allowed_cmd_NORMALIZE[136] = // 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,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,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,1,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_PATCH[135] = // cmd #54
+static u8 option_allowed_cmd_PATCH[136] = // 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,0,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,0,
- 0,1,1,1,1, 1,1,0,0,0, 0,1,0,0,1, 1,1,1,1,1, 1,0,0,0,0, 0,1,1,1,1,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, 1,1,0,0,0, 0,0,1,1,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_COPY[135] = // cmd #55
+static u8 option_allowed_cmd_COPY[136] = // cmd #57
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,0,
- 0,1,1,1,1, 1,1,0,0,0, 0,1,0,0,1, 1,1,1,1,1, 1,0,0,0,0, 0,1,1,1,1,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, 1,1,0,0,0, 0,0,1,1,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_DUPLICATE[135] = // cmd #56
+static u8 option_allowed_cmd_DUPLICATE[136] = // 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,1,0,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,0,
- 0,1,1,1,1, 1,1,0,0,0, 0,1,0,0,1, 1,1,1,1,1, 1,0,0,0,0, 0,1,1,1,1,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,1,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, 1,1,0,0,0, 0,0,1,1,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_MINIMAP[135] = // cmd #57
+static u8 option_allowed_cmd_MINIMAP[136] = // cmd #59
{
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,1,0,
- 0,1,1,1,1, 1,1,0,0,0, 0,1,0,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,1,1,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_COMPRESS[135] = // cmd #58
+static u8 option_allowed_cmd_COMPRESS[136] = // 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, 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,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1, 1,1,0,0,0, 0,0,1,1,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_DECOMPRESS[135] = // cmd #59
+static u8 option_allowed_cmd_DECOMPRESS[136] = // 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, 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,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1,
+ 0,0,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,0,1, 0,0,0,0,0, 0,0,0,0,1,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ENCODE[135] = // cmd #60
+static u8 option_allowed_cmd_ENCODE[136] = // 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,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_CREATE[135] = // cmd #61
+static u8 option_allowed_cmd_CREATE[136] = // 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,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,1, 1,1,1,1,0, 1,1,1,0,1,
- 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,0,1,
- 0,0,0,0,1, 1,1,1,1,1, 1,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,1,1,1,0,
+ 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0,
+ 1,0,0,0,0, 1,1,1,1,1, 1,1,0,1,0, 0
};
-static u8 option_allowed_cmd_UPDATE[135] = // cmd #62
+static u8 option_allowed_cmd_UPDATE[136] = // 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,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,1,0,1, 1,1,1,1,0, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,1,1,1, 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0,
- 0,1,0,0,0, 0,0,0,0,0, 0,0,1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,1,0, 1,1,1,1,1, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0,
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,0,1,0, 0
};
-static u8 option_allowed_cmd_EXTRACT[135] = // cmd #63
+static u8 option_allowed_cmd_EXTRACT[136] = // 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,0,1, 1,1,1,1,0, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,1, 1,0,1,1,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,1,1,0,0, 1,1,1,1,1, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,0,0,0, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_XDECODE[135] = // cmd #64
+static u8 option_allowed_cmd_XDECODE[136] = // 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,0,1, 1,1,1,1,0, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,1, 1,0,1,1,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,1,1,0,0, 1,1,1,1,1, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,0,0,0, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_XEXPORT[135] = // cmd #65
+static u8 option_allowed_cmd_XEXPORT[136] = // cmd #67
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 1,1,0,0,1, 1,1,1,1,0, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,1, 1,0,1,1,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,1,1,0,0, 1,1,1,1,1, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,0,0,0, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_XALL[135] = // cmd #66
+static u8 option_allowed_cmd_XALL[136] = // cmd #68
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 1,1,0,0,1, 1,1,1,1,0, 1,1,1,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,1, 1,0,1,1,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,1,1,0,0, 1,1,1,1,1, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,0,0,0, 1,1,1,1,1, 0
};
-static u8 option_allowed_cmd_XCOMMON[135] = // cmd #67
+static u8 option_allowed_cmd_XCOMMON[136] = // cmd #69
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0
};
-static u8 option_allowed_cmd_BINARY[135] = // cmd #68
+static u8 option_allowed_cmd_BINARY[136] = // cmd #70
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0
};
-static u8 option_allowed_cmd_TEXT[135] = // cmd #69
+static u8 option_allowed_cmd_TEXT[136] = // 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,1,1,0,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,0, 1,1,1,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,1,1,0, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,1,1,1,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
};
-static u8 option_allowed_cmd_CAT[135] = // cmd #70
+static u8 option_allowed_cmd_CAT[136] = // cmd #72
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 0,1,1,0,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,1,1,0, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
};
-static u8 option_allowed_cmd_BMG[135] = // cmd #71
+static u8 option_allowed_cmd_BMG[136] = // cmd #73
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 0,0,0,0,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,0, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_KCL[135] = // cmd #72
+static u8 option_allowed_cmd_KCL[136] = // cmd #74
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_KMP[135] = // cmd #73
+static u8 option_allowed_cmd_KMP[136] = // cmd #75
{
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,0, 1,0,0,1,1, 1,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 0,1,0,0,1, 1,1,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_LEX[135] = // cmd #74
+static u8 option_allowed_cmd_LEX[136] = // 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,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_INFO[135] = // cmd #75
+static u8 option_allowed_cmd_INFO[136] = // 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,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,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[135] = // cmd #76
+static u8 option_allowed_cmd_GHOST[136] = // 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,1,0, 0,0,0,0,0, 0,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,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,0, 1
};
-static u8 option_allowed_cmd_YAZDUMP[135] = // cmd #77
+static u8 option_allowed_cmd_YAZDUMP[136] = // cmd #79
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,0, 1,1,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,1,1,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_VEHICLE[135] = // cmd #78
+static u8 option_allowed_cmd_VEHICLE[136] = // cmd #80
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 1,0,1,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 1,1,0,1,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
@@ -3687,15 +3751,18 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
+ OptionInfo + OPT_NO_PAGER,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_WARN,
OptionInfo + OPT_DE,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LOAD_PREFIX,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_BATTLE,
@@ -3809,6 +3876,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] =
0
};
+static const InfoOption_t * option_tab_cmd_EXPAND[] =
+{
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_TEST[] =
{
&option_cmd_TEST_VERBOSE,
@@ -3979,6 +4052,7 @@ static const InfoOption_t * option_tab_cmd_SIZEOF[] =
&option_cmd_SIZEOF_SORT,
&option_cmd_SIZEOF_BRIEF,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
0
};
@@ -4052,6 +4126,7 @@ static const InfoOption_t * option_tab_cmd_LIST[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4115,6 +4190,7 @@ static const InfoOption_t * option_tab_cmd_LIST_L[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4178,6 +4254,7 @@ static const InfoOption_t * option_tab_cmd_LIST_LL[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4241,6 +4318,7 @@ static const InfoOption_t * option_tab_cmd_LIST_LLL[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4304,6 +4382,7 @@ static const InfoOption_t * option_tab_cmd_LIST_A[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4367,6 +4446,7 @@ static const InfoOption_t * option_tab_cmd_LIST_LA[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4437,6 +4517,7 @@ static const InfoOption_t * option_tab_cmd_ILIST[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4497,6 +4578,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_L[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4557,6 +4639,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_LL[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4617,6 +4700,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_A[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4677,6 +4761,7 @@ static const InfoOption_t * option_tab_cmd_ILIST_LA[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4742,6 +4827,7 @@ static const InfoOption_t * option_tab_cmd_MEMORY[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4807,6 +4893,7 @@ static const InfoOption_t * option_tab_cmd_MEMORY_A[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
OptionInfo + OPT_NO_ENCODE,
@@ -4862,6 +4949,7 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -4920,6 +5008,7 @@ static const InfoOption_t * option_tab_cmd_SHA1[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -4982,6 +5071,36 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] =
0
};
+static const InfoOption_t * option_tab_cmd_SPLIT[] =
+{
+ OptionInfo + OPT_LOAD_PREFIX,
+ OptionInfo + OPT_PLUS,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ &option_grp_SCRIPT_SECTIONS,
+ OptionInfo + OPT_SH,
+ OptionInfo + OPT_BASH,
+ OptionInfo + OPT_JSON,
+ OptionInfo + OPT_PHP,
+ OptionInfo + OPT_MAKEDOC,
+ OptionInfo + OPT_VAR,
+ OptionInfo + OPT_ARRAY,
+ OptionInfo + OPT_AVAR,
+ OptionInfo + OPT_CASE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_DEST,
+ OptionInfo + OPT_DEST2,
+
+ 0
+};
+
static const InfoOption_t * option_tab_cmd_IS_TEXTURE[] =
{
OptionInfo + OPT_IGNORE,
@@ -5051,6 +5170,7 @@ static const InfoOption_t * option_tab_cmd_DISTRIBUTION[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -5128,6 +5248,7 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -5231,6 +5352,7 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -5941,6 +6063,7 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -6053,6 +6176,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_ALIGN_BREFT,
OptionInfo + OPT_ALIGN,
OptionInfo + OPT_LOGGING,
+ OptionInfo + OPT_TIMING,
OptionInfo + OPT_ENCODE_ALL,
OptionInfo + OPT_ENCODE_IMG,
&option_grp_ENCODE_ALL,
@@ -6903,7 +7027,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,
- 67,
+ 70,
option_tab_tool,
0
},
@@ -6985,13 +7109,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst ARGTEST ...",
"This debug command accepts all kinds of parameters and prints one"
- " line for each parameter.",
+ " line for each parameter. All tools know the ARGTEST command.",
0,
0,
option_tab_cmd_ARGTEST,
option_allowed_cmd_ARGTEST
},
+ { CMD_EXPAND,
+ false,
+ false,
+ false,
+ "EXPAND",
+ 0,
+ "wszst EXPAND ...",
+ "This debug command accepts (like ARGTEST) all kinds of parameters and"
+ " prints one line for each parameter. After that, the parameter is"
+ " treated as a filename with wildcards and all matching files are"
+ " searched. The special parameters '+h' and '/h' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point). All tools know the EXPAND command.",
+ 0,
+ 0,
+ option_tab_cmd_EXPAND,
+ option_allowed_cmd_EXPAND
+ },
+
{ CMD_TEST,
false,
false,
@@ -7031,7 +7174,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ERR",
"wszst ERROR [error_code]",
"Translate an exit code to a message name. If no exit code is entered,"
- " print a table with all error messages.",
+ " print a table with all error messages. All tools know the ERROR"
+ " command.",
0,
4,
option_tab_cmd_ERROR,
@@ -7046,7 +7190,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"FT",
"wszst FILETYPE file...",
"Scan the header of the entered files and print file type and path for"
- " each file as list.",
+ " each file as list. All tools know the FILETYPE command.",
0,
3,
option_tab_cmd_FILETYPE,
@@ -7063,7 +7207,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a table with attributes for all known file types. If at least"
" one keyword is entered, only matching file types are printed. A"
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the"
- " printed keywords (like 'ARCHIVE' or 'EXTRACT').",
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the"
+ " FILEATTRIB command.",
0,
1,
option_tab_cmd_FILEATTRIB,
@@ -7094,7 +7239,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"SYMBOLS",
0,
"wszst SYMBOLS",
- "Print predefined symbols of text parser to standard output.",
+ "Print predefined symbols of text parser to standard output. Many"
+ " tools know the SYMBOLS command.",
0,
1,
option_tab_cmd_SYMBOLS,
@@ -7109,7 +7255,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst FUNCTIONS [key]...",
"Print a list with all parser functions. If one or more keys entered,"
- " then only functions that match at least one key are printed.",
+ " then only functions that match at least one key are printed. Many"
+ " tools know the FUNCTIONS command.",
0,
3,
option_tab_cmd_FUNCTIONS,
@@ -7123,7 +7270,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CALCULATE",
0,
"wszst CALCULATE expression...",
- "Calculate each expression and print the result to standard output.",
+ "Calculate each expression and print the result to standard output."
+ " Many tools know the CALCULATE command.",
0,
1,
option_tab_cmd_CALCULATE,
@@ -7292,7 +7440,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"This hidden command prints a list with the size of data structures"
" and variables.",
0,
- 3,
+ 4,
option_tab_cmd_SIZEOF,
option_allowed_cmd_SIZEOF
},
@@ -7367,7 +7515,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" archives. If listing a directory, then a virtual SZS file is created"
" (like CREATE does it) and listed.",
0,
- 48,
+ 49,
option_tab_cmd_LIST,
option_allowed_cmd_LIST
},
@@ -7382,7 +7530,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List all sub files with size. 'LIST-L' and 'LL' are short cuts for"
" 'LIST --long'.",
0,
- 48,
+ 49,
option_tab_cmd_LIST_L,
option_allowed_cmd_LIST_L
},
@@ -7397,7 +7545,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List all sub files with offset and size. 'LIST-LL' and 'LLL' are"
" short cuts for 'LIST --long --long'.",
0,
- 48,
+ 49,
option_tab_cmd_LIST_LL,
option_allowed_cmd_LIST_LL
},
@@ -7412,7 +7560,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List all sub files with offset and size in debugging mode. 'LIST-LLL'"
" and 'LLLL' are short cuts for 'LIST --long --long --long'.",
0,
- 48,
+ 49,
option_tab_cmd_LIST_LLL,
option_allowed_cmd_LIST_LLL
},
@@ -7427,7 +7575,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List recursive all sub files with size. 'LIST-A' and 'LA' are short"
" cuts for 'LIST --long --all --all'.",
0,
- 48,
+ 49,
option_tab_cmd_LIST_A,
option_allowed_cmd_LIST_A
},
@@ -7442,7 +7590,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List recursive all sub files with offset and size. 'LIST-LA' and"
" 'LLA' are short cuts for 'LIST --long --long --all --all'.",
0,
- 48,
+ 49,
option_tab_cmd_LIST_LA,
option_allowed_cmd_LIST_LA
},
@@ -7476,7 +7624,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" listing a directory, then a virtual SZS file is created (like CREATE"
" does it) and listed.",
0,
- 45,
+ 46,
option_tab_cmd_ILIST,
option_allowed_cmd_ILIST
},
@@ -7491,7 +7639,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List all image files with geometry data. 'ILIST-L' and 'ILL' are"
" short cuts for 'ILIST --long'.",
0,
- 45,
+ 46,
option_tab_cmd_ILIST_L,
option_allowed_cmd_ILIST_L
},
@@ -7506,7 +7654,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List all sub files with advanced geometry data. 'ILIST-LL' and 'ILLL'"
" are short cuts for 'ILIST --long --long'.",
0,
- 45,
+ 46,
option_tab_cmd_ILIST_LL,
option_allowed_cmd_ILIST_LL
},
@@ -7521,7 +7669,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List recursive all image files. 'ILIST-A' and 'ILA' are short cuts"
" for 'ILIST --all'.",
0,
- 45,
+ 46,
option_tab_cmd_ILIST_A,
option_allowed_cmd_ILIST_A
},
@@ -7536,7 +7684,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List recursive all image files with geometry data. 'ILIST-LA' and"
" 'ILLA' are short cuts for 'ILIST --long --all'.",
0,
- 45,
+ 46,
option_tab_cmd_ILIST_LA,
option_allowed_cmd_ILIST_LA
},
@@ -7551,7 +7699,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Dump a memory map of each source file. Virtual images (extracted"
" directories) are also supported.",
0,
- 47,
+ 48,
option_tab_cmd_MEMORY,
option_allowed_cmd_MEMORY
},
@@ -7566,7 +7714,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Dump recursive a memory map of each source file. 'MEMORY-A' and"
" 'MEMA' are short cuts for 'MEMORY --all --all'.",
0,
- 47,
+ 48,
option_tab_cmd_MEMORY_A,
option_allowed_cmd_MEMORY_A
},
@@ -7583,7 +7731,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" relocation. Virtual images (extracted directories) are also"
" supported.",
0,
- 41,
+ 42,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -7598,7 +7746,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print a SHA1 checksum for each source. The checksum is calculated by"
" using the uncompressed data and after patching.",
0,
- 48,
+ 49,
option_tab_cmd_SHA1,
option_allowed_cmd_SHA1
},
@@ -7617,6 +7765,21 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
option_allowed_cmd_ANALYZE
},
+ { CMD_SPLIT,
+ false,
+ false,
+ false,
+ "SPLIT",
+ 0,
+ "wszst SPLIT [source]...",
+ "Analyse (file) names and split them into the different parts. Print"
+ " the results in machine readable format.",
+ 0,
+ 15,
+ option_tab_cmd_SPLIT,
+ option_allowed_cmd_SPLIT
+ },
+
{ CMD_IS_TEXTURE,
false,
false,
@@ -7657,7 +7820,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
false,
false,
"DISTRIBUTION",
- "DIST",
+ "DIS",
"wszst DISTRIBUTION result source...\n"
"wszst DISTRIBUTION directory [source]...",
"Load each SOURCE (SZS, WBZ, U8 or WU8) and calculate a checksum of"
@@ -7670,9 +7833,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" directory, it is used as first source too.\n"
" If file RESULT exists, it is automatically added as last source to"
" the list of option --source, but only if not already added. On"
- " scanning of file result, parameters are scanned too.",
+ " scanning of file result, parameters are scanned too.\n"
+ " See »welect DISTRIBUTION« for a new and alternative implementation"
+ " of this.",
0,
- 45,
+ 46,
option_tab_cmd_DISTRIBUTION,
option_allowed_cmd_DISTRIBUTION
},
@@ -7708,7 +7873,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" internal object and file database. The source can be a SZS, U8, WU8"
" or WBZ file, or an U8 like directory.",
0,
- 90,
+ 91,
option_tab_cmd_CHECK,
option_allowed_cmd_CHECK
},
@@ -7726,7 +7891,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" positive or a negative slot list, whatever is shorter. For battle"
" arenas, the keyword ARENA is printed.",
0,
- 86,
+ 87,
option_tab_cmd_SLOTS,
option_allowed_cmd_SLOTS
},
@@ -7910,7 +8075,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" Create and/or encode sub files if necessary. It works like command"
" CREATE, but without creating a new first level archive file.",
0,
- 69,
+ 70,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -7926,7 +8091,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" not hidden files of the directory structure. Create and/or encode"
" sub files if necessary. The default destination is '%P/%N%T'.",
0,
- 95,
+ 96,
option_tab_cmd_CREATE,
option_allowed_cmd_CREATE
},
diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h
index 161aa7e..cdd1c7a 100644
--- a/project/src/ui/ui-wszst.h
+++ b/project/src/ui/ui-wszst.h
@@ -56,6 +56,7 @@ typedef enum enumOptions
//----- command specific options -----
+ OPT_PLUS,
OPT_TOUCH,
OPT_AUTO,
OPT_SET_FLAGS,
@@ -191,7 +192,7 @@ typedef enum enumOptions
OPT_RAW,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 135
+ OPT__N_SPECIFIC, // == 136
//----- global options -----
@@ -203,15 +204,18 @@ typedef enum enumOptions
OPT_COMPATIBLE,
OPT_WIDTH,
OPT_MAX_WIDTH,
+ OPT_NO_PAGER,
OPT_QUIET,
OPT_VERBOSE,
OPT_LOGGING,
+ OPT_TIMING,
OPT_WARN,
OPT_DE,
OPT_COLORS,
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LOAD_PREFIX,
OPT_CHDIR,
OPT_CONST,
OPT_BATTLE,
@@ -272,7 +276,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 211
+ OPT__N_TOTAL // == 215
} enumOptions;
@@ -287,6 +291,7 @@ typedef enum enumOptions
//{
// //----- command specific options -----
//
+// OB_PLUS = 1llu << OPT_PLUS,
// OB_TOUCH = 1llu << OPT_TOUCH,
// OB_AUTO = 1llu << OPT_AUTO,
// OB_SET_FLAGS = 1llu << OPT_SET_FLAGS,
@@ -573,6 +578,8 @@ typedef enum enumOptions
//
// OB_CMD_ARGTEST = ~(u64)0,
//
+// OB_CMD_EXPAND = ~(u64)0,
+//
// OB_CMD_TEST = ~(u64)0,
//
// OB_CMD_COLORS = OB_LONG
@@ -723,6 +730,12 @@ typedef enum enumOptions
// | OB_DEST
// | OB_DEST2,
//
+// OB_CMD_SPLIT = OB_PLUS
+// | OB_IGNORE
+// | OB_GRP_SCRIPT
+// | OB_DEST
+// | OB_DEST2,
+//
// OB_CMD_IS_TEXTURE = OB_IGNORE
// | OB_REFERENCE
// | OB_LONG,
@@ -949,6 +962,7 @@ typedef enum enumCommands
CMD_CONFIG,
CMD_INSTALL,
CMD_ARGTEST,
+ CMD_EXPAND,
CMD_TEST,
CMD_COLORS,
CMD_ERROR,
@@ -992,6 +1006,7 @@ typedef enum enumCommands
CMD_SHA1,
CMD_ANALYZE,
+ CMD_SPLIT,
CMD_IS_TEXTURE,
CMD_FEATURES,
CMD_DISTRIBUTION,
@@ -1031,7 +1046,7 @@ typedef enum enumCommands
CMD_VEHICLE,
- CMD__N // == 79
+ CMD__N // == 81
} enumCommands;
@@ -1087,11 +1102,15 @@ typedef enum enumGetOpt
GO_COMPATIBLE,
GO_WIDTH,
GO_MAX_WIDTH,
+ GO_NO_PAGER,
+ GO_TIMING,
GO_DE,
GO_COLORS,
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LOAD_PREFIX,
+ GO_PLUS,
GO_CHDIR,
GO_TOUCH,
GO_AUTO,
diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def
index 8e47764..ed569a1 100644
--- a/project/src/ui/ui.def
+++ b/project/src/ui/ui.def
@@ -43,7 +43,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wszst ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wszst EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wszst TEST [options]... [ignored]...", \
@@ -59,19 +68,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wszst ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wszst FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wszst FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "BRSUB", "BRSUB", \
"wszst BRSUB [file]...", \
@@ -82,16 +93,19 @@
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wszst SYMBOLS", \
- "Print predefined symbols of text parser to standard output." )
+ "Print predefined symbols of text parser to standard output. Many" \
+ " tools know the SYMBOLS command." )
#:def_cmd( "FUNCTIONS", "FUNCTIONS", \
"wszst FUNCTIONS [key]...", \
"Print a list with all parser functions. If one or more keys entered," \
- " then only functions that match at least one key are printed." )
+ " then only functions that match at least one key are printed. Many" \
+ " tools know the FUNCTIONS command." )
#:def_cmd( "CALCULATE", "CALCULATE", \
"wszst CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "MATRIX", "MATRIX", \
"wszst MATRIX [patch-option]... [vector]...", \
@@ -252,6 +266,11 @@
"wszst ANALYZE [source]...", \
"Analyse track files and print results in machine readable format." )
+#:def_cmd( "SPLIT", "SPLIT", \
+ "wszst SPLIT [source]...", \
+ "Analyse (file) names and split them into the different parts. Print" \
+ " the 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" \
@@ -262,7 +281,7 @@
" 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", \
+#:def_cmd( "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB", \
"wszst DISTRIBUTION result source...\n" \
"wszst DISTRIBUTION directory [source]...", \
"Load each @SOURCE@ (SZS, WBZ, U8 or WU8) and calculate a checksum of" \
@@ -275,7 +294,9 @@
" directory, it is used as first source too.\n" \
" If file @RESULT@ exists, it is automatically added as last source" \
" to the list of option --source, but only if not already added. On" \
- " scanning of file @result@, parameters are scanned too." )
+ " scanning of file @result@, parameters are scanned too.\n" \
+ " See »welect DISTRIBUTION« for a new and alternative implementation" \
+ " of this." )
#:def_cmd( "DIFF", "DIFF|CMP", \
"wszst DIFF source1 source2\n" \
@@ -537,6 +558,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -550,7 +575,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -592,6 +623,25 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LOAD_PREFIX", "load-prefix|loadprefix", "GP", \
+ "file", \
+ "Read in a PREFIX file and replace the internal prefix database with" \
+ " the content. https://ct.wiimm.de/export/prefix is the authoritative" \
+ " source for this." )
+
+#:def_opt( "PLUS", "plus", "CP", \
+ "chars", \
+ "If a name begins with a plus sign, then all characters up to the" \
+ " first space are recognized as a plus prefix. The first part consists" \
+ " of all the plus signs followed by any other characters. The first" \
+ " character of the second part is used to determine the sort value. If" \
+ " the second part is empty, then the last plus sign is used instead.\n" \
+ " The higher sorting value is now calculated from the number of plus" \
+ " signs in the first part, the more plus signs, the smaller the value." \
+ " The first character from the second part determines the lower value." \
+ " If it is in parameter CHARS then the position determines the value," \
+ " otherwise the ASCII value to which 500 is added." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -1224,7 +1274,7 @@
"", \
"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)." )
+ " consists of '0'-'9' and 'a'-'v' (32 different characters)." )
#:def_opt( "BASE64", "base64", "CO", \
"[=mode]", \
@@ -2264,6 +2314,10 @@
"", \
"" )
+#:def_cmd_opt( "SIZEOF", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SUBFILE", "DEST", \
"", \
"" )
@@ -2413,6 +2467,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST", "ENCODE_ALL", \
"", \
"" )
@@ -2606,6 +2664,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_L", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_L", "ENCODE_ALL", \
"", \
"" )
@@ -2799,6 +2861,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_LL", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_LL", "ENCODE_ALL", \
"", \
"" )
@@ -2992,6 +3058,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_LLL", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_LLL", "ENCODE_ALL", \
"", \
"" )
@@ -3185,6 +3255,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_A", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_A", "ENCODE_ALL", \
"", \
"" )
@@ -3378,6 +3452,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_LA", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_LA", "ENCODE_ALL", \
"", \
"" )
@@ -3582,6 +3660,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST", "ENCODE_ALL", \
"", \
"" )
@@ -3763,6 +3845,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_L", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_L", "ENCODE_ALL", \
"", \
"" )
@@ -3944,6 +4030,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_LL", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_LL", "ENCODE_ALL", \
"", \
"" )
@@ -4125,6 +4215,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_A", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_A", "ENCODE_ALL", \
"", \
"" )
@@ -4306,6 +4400,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_LA", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_LA", "ENCODE_ALL", \
"", \
"" )
@@ -4495,6 +4593,10 @@
"", \
"" )
+#:def_cmd_opt( "MEMORY", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "MEMORY", "ENCODE_ALL", \
"", \
"" )
@@ -4684,6 +4786,10 @@
"", \
"" )
+#:def_cmd_opt( "MEMORY_A", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "MEMORY_A", "ENCODE_ALL", \
"", \
"" )
@@ -4844,6 +4950,10 @@
"", \
"" )
+#:def_cmd_opt( "DUMP", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUMP", "ENCODE_ALL", \
"", \
"" )
@@ -5017,6 +5127,10 @@
"", \
"" )
+#:def_cmd_opt( "SHA1", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SHA1", "ENCODE_ALL", \
"", \
"" )
@@ -5185,6 +5299,67 @@
"", \
"" )
+#:def_cmd_opt( "SPLIT", "LOAD_PREFIX", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "PLUS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "IGNORE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "SECTIONS", \
+ "", \
+ "Dump info using configuration or section syntax. Use {--var name} as" \
+ " prefix." )
+
+#:def_cmd_opt( "SPLIT", "SH", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "BASH", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "JSON", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "PHP", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "MAKEDOC", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "VAR", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "ARRAY", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "AVAR", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "CASE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "DEST", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "DEST2", \
+ "", \
+ "" )
+
#:def_cmd_opt( "IS_TEXTURE", "IGNORE", \
"", \
"" )
@@ -5371,6 +5546,10 @@
"", \
"" )
+#:def_cmd_opt( "DISTRIBUTION", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DISTRIBUTION", "ENCODE_ALL", \
"", \
"" )
@@ -5603,6 +5782,10 @@
"", \
"" )
+#:def_cmd_opt( "CHECK", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CHECK", "ENCODE_ALL", \
"", \
"" )
@@ -5944,6 +6127,10 @@
"", \
"" )
+#:def_cmd_opt( "SLOTS", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SLOTS", "ENCODE_ALL", \
"", \
"" )
@@ -8225,6 +8412,10 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "ENCODE_ALL", \
"", \
"" )
@@ -8590,6 +8781,10 @@
"", \
"" )
+#:def_cmd_opt( "CREATE", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CREATE", "ENCODE_ALL", \
"", \
"" )
@@ -11245,7 +11440,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wbmgt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wbmgt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wbmgt TEST [options]... [ignored]...", \
@@ -11261,19 +11465,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wbmgt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wbmgt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wbmgt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "POINTS", "POINTS|PTS", \
"wbmgt POINTS [--points=list]", \
@@ -11407,6 +11613,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -11420,7 +11630,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -12516,7 +12732,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wctct ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wctct EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wctct TEST [options]... [ignored]...", \
@@ -12532,19 +12757,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wctct ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wctct FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wctct FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wctct SYMBOLS", \
@@ -12559,7 +12786,8 @@
#:def_cmd( "CALCULATE", "CALCULATE", \
"wctct CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "FLOAT", "FLOAT", \
"wctct FLOAT number...", \
@@ -12668,6 +12896,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -12681,7 +12913,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -12900,6 +13138,11 @@
" give filename scanning the highest priority.\n" \
">>> THE RESULT MAY BE INVALID OUTPUT FILES! <<<" )
+#:def_opt( "CREATE_DISTRIB", "create-distrib|createdistrib", "GP", \
+ "file", \
+ "Create a LE-CODE distribution dump with a track list and more info" \
+ " about the current distribution. Store the dump info a file." )
+
#:def_opt( "LIST", "list", "C", \
"", \
"Cancel all previous {--rel} and {--full} and enter LIST mode" \
@@ -13909,7 +14152,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wimgt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wimgt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wimgt TEST [options]... [ignored]...", \
@@ -13925,19 +14177,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wimgt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wimgt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wimgt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "LIST", "LIST|LS", \
"wimgt LIST [source]...", \
@@ -14030,6 +14284,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -14043,7 +14301,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -14810,7 +15074,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wkclt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wkclt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wkclt TEST [options]... [ignored]...", \
@@ -14826,19 +15099,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wkclt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wkclt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wkclt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wkclt SYMBOLS", \
@@ -14853,7 +15128,8 @@
#:def_cmd( "CALCULATE", "CALCULATE", \
"wkclt CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "MATRIX", "MATRIX", \
"wkclt MATRIX [patch-option]... [vector]...", \
@@ -15035,6 +15311,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -15048,7 +15328,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -15337,7 +15623,7 @@
"", \
"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)." )
+ " consists of '0'-'9' and 'a'-'v' (32 different characters)." )
#:def_opt( "BASE64", "base64", "CO", \
"[=mode]", \
@@ -17322,7 +17608,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wkmpt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wkmpt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wkmpt TEST [options]... [ignored]...", \
@@ -17338,19 +17633,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wkmpt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wkmpt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wkmpt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wkmpt SYMBOLS", \
@@ -17365,7 +17662,8 @@
#:def_cmd( "CALCULATE", "CALCULATE", \
"wkmpt CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "MATRIX", "MATRIX", \
"wkmpt MATRIX [patch-option]... [vector]...", \
@@ -17542,6 +17840,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -17555,7 +17857,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -19442,7 +19750,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wlect ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wlect EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wlect TEST [options]... [ignored]...", \
@@ -19458,19 +19775,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wlect ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wlect FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wlect FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wlect SYMBOLS", \
@@ -19485,7 +19804,8 @@
#:def_cmd( "CALCULATE", "CALCULATE", \
"wlect CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "FLOAT", "FLOAT", \
"wlect FLOAT number...", \
@@ -19536,15 +19856,21 @@
" standard output if no other destination is defined." )
#:def_cmd( "CREATE", "CREATE|CR", \
- "wlect CREATE [keyword]", \
- "Create a file and print it to standard output. The kind of file is" \
- " defined by KEYWORD. Use command without keywords to get a list of" \
- " possible keywords.\n" \
- " The following keywords are possible: @LEX@ for a LEX text file with" \
- " all known sections except @TEST@. @LEX+@ for a LEX text file with" \
- " all known sections including @TEST@. @SET1, CANN, HIPT@ and @TEST@" \
- " (section names) for a LEX text file with 1 section only. @LPAR@ for" \
- " an example LE-CODE parameter file." )
+ "wlect CREATE [keyword] ...", \
+ "Create a file and print it to standard output. Options {--dest} and" \
+ " {--DEST} can forc another destination. The kind of file is defined" \
+ " by KEYWORD. The command can create LEX files, a LPAR file or a track" \
+ " listing.\n" \
+ " Use the command without keyword to get an extended description." )
+
+#:def_cmd( "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB", \
+ "wlect DISTRIBUTION [argument]...", \
+ "This command manages data for LE-CODE track distributions. It reads" \
+ " any number of source files with different file types, collects the" \
+ " data and creates any number of files with different file types.\n" \
+ " Use the command without keyword to get an extended description.\n" \
+ " This command is still under development. Its use is therefore" \
+ " EXPERIMENTAL!" )
#:def_cmd( "CAT", "CAT", \
"wlect CAT [source]...", \
@@ -19611,6 +19937,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -19624,7 +19954,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -19666,6 +20002,25 @@
"This option is completely ignored by wlect. It only exists due to" \
" compatibility with the other tools." )
+#:def_opt( "LOAD_PREFIX", "load-prefix|loadprefix", "GP", \
+ "file", \
+ "Read in a PREFIX file and replace the internal prefix database with" \
+ " the content. https://ct.wiimm.de/export/prefix is the authoritative" \
+ " source for this." )
+
+#:def_opt( "PLUS", "plus", "CP", \
+ "chars", \
+ "If a name begins with a plus sign, then all characters up to the" \
+ " first space are recognized as a plus prefix. The first part consists" \
+ " of all the plus signs followed by any other characters. The first" \
+ " character of the second part is used to determine the sort value. If" \
+ " the second part is empty, then the last plus sign is used instead.\n" \
+ " The higher sorting value is now calculated from the number of plus" \
+ " signs in the first part, the more plus signs, the smaller the value." \
+ " The first character from the second part determines the lower value." \
+ " If it is in parameter CHARS then the position determines the value," \
+ " otherwise the ASCII value to which 500 is added." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -19792,6 +20147,11 @@
" give filename scanning the highest priority.\n" \
">>> THE RESULT MAY BE INVALID OUTPUT FILES! <<<" )
+#:def_opt( "CREATE_DISTRIB", "create-distrib|createdistrib", "CP", \
+ "file", \
+ "Create a LE-CODE distribution dump with a track list and more info" \
+ " about the current distribution. Store the dump info a file." )
+
#:def_opt( "LE_DEFINE", "le-define|ledefine", "CP", \
"file", \
"Use this file as definition file to patch LE-CODE. The file format" \
@@ -19892,6 +20252,15 @@
" this directory are linked to the directory specified by option" \
" {--track-dir}. If linking fails, the file is copied." )
+#:def_opt( "SZS_MODE", "szs-mode|szsmode", "CP", \
+ "mode", \
+ "If a track is inserted via the SZS file, then the associated" \
+ " directory is automatically included in the list of search" \
+ " directories for option {--track-dir}. This option now sets the" \
+ " transfer mode. @OFF@ turns this feature off. The values @COPY@," \
+ " @MOVE@, @MOVE1@ and @LINK@ define one of the 4 modes. Default mode" \
+ " is @LINK@." )
+
#:def_opt( "COMPLETE", "C|complete", "C", \
"", \
" Append missing sections to the LEX file." )
@@ -20162,6 +20531,10 @@
"", \
"For LE-CODE binaries: If set, print a track slot usage table." )
+#:def_cmd_opt( "DUMP", "CREATE_DISTRIB", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DL", "LE_DEFINE", \
"", \
"" )
@@ -20215,6 +20588,10 @@
"", \
"For LE-CODE binaries: If set, print a track slot usage table." )
+#:def_cmd_opt( "DL", "CREATE_DISTRIB", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DLL", "LE_DEFINE", \
"", \
"" )
@@ -20268,6 +20645,10 @@
"", \
"For LE-CODE binaries: If set, print a track slot usage table." )
+#:def_cmd_opt( "DLL", "CREATE_DISTRIB", \
+ "", \
+ "" )
+
#:def_cmd_opt( "BIN_DIFF", "QUIET", \
"", \
"Suppress all messages and tell result as exit status only." )
@@ -20372,6 +20753,10 @@
"", \
"" )
+#:def_cmd_opt( "PATCH", "CREATE_DISTRIB", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LPAR", "LE_DEFINE", \
"", \
"" )
@@ -20548,6 +20933,14 @@
"", \
"" )
+#:def_cmd_opt( "CREATE", "LE_DEFINE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CREATE", "LOAD_BMG", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CREATE", "ENGINE", \
"", \
"" )
@@ -20576,6 +20969,86 @@
"", \
"" )
+#:def_cmd_opt( "DISTRIBUTION", "LOAD_PREFIX", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "PLUS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "TRACK_DIR", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "COPY_TRACKS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "MOVE_TRACKS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "MOVE1_TRACKS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "LINK_TRACKS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "SZS_MODE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "IGNORE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "NO_HEADER", \
+ "", \
+ "Suppress the syntax information section in LE text files." )
+
+#:def_cmd_opt( "DISTRIBUTION", "BRIEF", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "EXPORT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "DEST", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "DEST2", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "ESC", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "OVERWRITE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "NUMBER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "REMOVE_DEST", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "UPDATE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "PRESERVE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "COMPLETE", \
"", \
"" )
@@ -20737,7 +21210,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wmdlt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wmdlt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wmdlt TEST [options]... [ignored]...", \
@@ -20753,19 +21235,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wmdlt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wmdlt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wmdlt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wmdlt SYMBOLS", \
@@ -20780,7 +21264,8 @@
#:def_cmd( "CALCULATE", "CALCULATE", \
"wmdlt CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "MATRIX", "MATRIX", \
"wmdlt MATRIX [patch-option]... [vector]...", \
@@ -20882,6 +21367,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -20895,7 +21384,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -22025,7 +22520,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wpatt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wpatt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wpatt TEST [options]... [ignored]...", \
@@ -22041,19 +22545,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wpatt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wpatt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wpatt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wpatt SYMBOLS", \
@@ -22068,7 +22574,8 @@
#:def_cmd( "CALCULATE", "CALCULATE", \
"wpatt CALCULATE expression...", \
- "Calculate each expression and print the result to standard output." )
+ "Calculate each expression and print the result to standard output." \
+ " Many tools know the CALCULATE command." )
#:def_cmd( "FLOAT", "FLOAT", \
"wpatt FLOAT number...", \
@@ -22147,6 +22654,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -22160,7 +22671,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -22616,7 +23133,16 @@
#:def_cmd( "ARGTEST", "ARGTEST", \
"wstrt ARGTEST ...", \
"This debug command accepts all kinds of parameters and prints one" \
- " line for each parameter." )
+ " line for each parameter. All tools know the ARGTEST command." )
+
+#:def_cmd( "EXPAND", "EXPAND", \
+ "wstrt EXPAND ...", \
+ "This debug command accepts (like ARGTEST) all kinds of parameters and" \
+ " prints one line for each parameter. After that, the parameter is" \
+ " treated as a filename with wildcards and all matching files are" \
+ " searched. The special parameters '+h' and '/h' enable or disable the" \
+ " search for hidden directories and files (files beginning with a" \
+ " point). All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wstrt TEST [options]... [ignored]...", \
@@ -22632,19 +23158,21 @@
#:def_cmd( "ERROR", "ERROR|ERR", \
"wstrt ERROR [error_code]", \
"Translate an exit code to a message name. If no exit code is entered," \
- " print a table with all error messages." )
+ " print a table with all error messages. All tools know the ERROR" \
+ " command." )
#:def_cmd( "FILETYPE", "FILETYPE|FT", \
"wstrt FILETYPE file...", \
"Scan the header of the entered files and print file type and path for" \
- " each file as list." )
+ " each file as list. All tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wstrt FILEATTRIB [keyword]...", \
"Print a table with attributes for all known file types. If at least" \
" one keyword is entered, only matching file types are printed. A" \
" keyword is either a file type (like 'BRRES' or 'BMG') or one of the" \
- " printed keywords (like 'ARCHIVE' or 'EXTRACT')." )
+ " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" \
+ " FILEATTRIB command." )
#:def_cmd( "DUMP", "DUMP", \
"wstrt DUMP file...", \
@@ -22772,6 +23300,10 @@
" some other messages. The default is 120. This option is ignored if" \
" --width is set." )
+#:def_opt( "NO_PAGER", "no-pager|nopager", "G", \
+ "", \
+ "Forbid the internal usage of a pager." )
+
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
"Be quiet and print only error messages. Multiple usage is possible." \
@@ -22785,7 +23317,13 @@
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
- "This debug option enables the logging of internal lists and maps." )
+ "This debug option enables the logging of internal lists and maps. Set" \
+ " it up to three times to be more verbose.\n" )
+
+#:def_opt( "TIMING", "timing", "GM", \
+ "", \
+ "Activate the timing of some operations. Logging level 3 activates" \
+ " them too.\n" )
#:def_opt( "WARN", "W|warn", "GP", \
"list", \
@@ -23414,6 +23952,10 @@
"", \
"" )
+#:def_cmd_opt( "HEXDUMP", "TIMING", \
+ "", \
+ "" )
+
#:def_cmd_opt( "HEXDUMP", "INT1", \
"", \
"" )