aboutsummaryrefslogtreecommitdiff
path: root/project/src/ui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--project/src/ui/gen-ui.c27
-rw-r--r--project/src/ui/tab-wbmgt.inc72
-rw-r--r--project/src/ui/tab-wctct.inc44
-rw-r--r--project/src/ui/tab-wimgt.inc39
-rw-r--r--project/src/ui/tab-wkclt.inc82
-rw-r--r--project/src/ui/tab-wkmpt.inc110
-rw-r--r--project/src/ui/tab-wlect.inc63
-rw-r--r--project/src/ui/tab-wmdlt.inc54
-rw-r--r--project/src/ui/tab-wpatt.inc31
-rw-r--r--project/src/ui/tab-wstrt.inc76
-rw-r--r--project/src/ui/tab-wszst.inc410
-rw-r--r--project/src/ui/ui-wbmgt.c294
-rw-r--r--project/src/ui/ui-wbmgt.h50
-rw-r--r--project/src/ui/ui-wctct.c306
-rw-r--r--project/src/ui/ui-wctct.h41
-rw-r--r--project/src/ui/ui-wimgt.c250
-rw-r--r--project/src/ui/ui-wimgt.h32
-rw-r--r--project/src/ui/ui-wkclt.c391
-rw-r--r--project/src/ui/ui-wkclt.h72
-rw-r--r--project/src/ui/ui-wkmpt.c343
-rw-r--r--project/src/ui/ui-wkmpt.h75
-rw-r--r--project/src/ui/ui-wlect.c408
-rw-r--r--project/src/ui/ui-wlect.h61
-rw-r--r--project/src/ui/ui-wmdlt.c234
-rw-r--r--project/src/ui/ui-wmdlt.h52
-rw-r--r--project/src/ui/ui-wpatt.c172
-rw-r--r--project/src/ui/ui-wpatt.h40
-rw-r--r--project/src/ui/ui-wstrt.c432
-rw-r--r--project/src/ui/ui-wstrt.h45
-rw-r--r--project/src/ui/ui-wszst.c1755
-rw-r--r--project/src/ui/ui-wszst.h222
-rw-r--r--project/src/ui/ui.def2416
32 files changed, 5949 insertions, 2750 deletions
diff --git a/project/src/ui/gen-ui.c b/project/src/ui/gen-ui.c
index 5e0b498..5a7e740 100644
--- a/project/src/ui/gen-ui.c
+++ b/project/src/ui/gen-ui.c
@@ -172,15 +172,26 @@ bool DefineIntVar ( VarMap_t * vm, ccp varname, int value ) { return false; }
" instead of a real file." \
"\1 See https://szs.wiimm.de/doc/genericimg for details."
-#define WILDCARDS \
- "\1Wildcards are accepted, see https://szs.wiimm.de/doc/wildcards for details." \
- "\2$Wildcards$ are accepted.\3"
+#define WILDCARDS_PIPE \
+ "\1Wildcards and pipe characters are parsed," \
+ " see https://szs.wiimm.de/doc/wildcards for details." \
+ "\2$Wildcards$ and pipe characters are parsed.\3"
-#define WILDCARDS_SORT \
- "\1Wildcards are accepted, see https://szs.wiimm.de/doc/wildcards for details." \
- "\2$Wildcards$ are accepted.\3" \
- " After evaluating the wildcards, all input files are sorted according" \
- " to their path and duplicates are deleted."
+#define WILDCARDS_SUBFILE \
+ "\1Wildcards, pipe characters and sub-files are parsed," \
+ " see https://szs.wiimm.de/doc/wildcards for details." \
+ "\2$Wildcards$, pipe characters and sub-files are parsed.\3"
+
+#define WILDCARDS_STEP \
+ "The parameters are evaluated step by step." \
+ " \1Wildcards and pipe characters are parsed," \
+ " see https://szs.wiimm.de/doc/wildcards for details." \
+ "\2$Wildcards$ and pipe characters are parsed.\3"
+
+#define WILDCARDS_OPTION(PARNAME,EXAMPLE) \
+ "If parameter " PARNAME " contains at least one wildcard (e.g. \"" EXAMPLE "\")," \
+ " then " PARNAME " is used as search pattern and all found files are added." \
+ " Quote " PARNAME " for this purpose. "
//
///////////////////////////////////////////////////////////////////////////////
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc
index b32dbd6..6f2901d 100644
--- a/project/src/ui/tab-wbmgt.inc
+++ b/project/src/ui/tab-wbmgt.inc
@@ -115,18 +115,21 @@
"wbmgt SECTIONS [source]...",
"List all sections of each binary BMG file."
" Print offset, size, magic and a short info."
- " If known, print number and size of elements too." },
+ " If known, print number and size of elements too."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST", "LIST|LS|LL",
"wbmgt LIST [source]...",
"List messages to proof the content."
" Patches are applied before listing."
- " The lines are cut to fit the terminal width." },
+ " The lines are cut to fit the terminal width."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "SLOTS", "SLOTS",
"wbmgt SLOTS [source]...",
"Print a slot ordered list with slot number, message id,"
- " delta and attributes. Patches are applied before listing." },
+ " delta and attributes. Patches are applied before listing."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "DIFF", "DIFF|CMP",
"wbmgt DIFF source1 source2\n"
@@ -144,7 +147,8 @@
"Read the entered BMG files (text, binary or szs sub file) and print"
" them as decoded text files to standard output."
" All BMG files of a single archive (SZS,...) are combined to 1 source."
- " The output of all source files is concatenated." },
+ " The output of all source files is concatenated."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "MIX", "MIX",
"wbmgt MIX [source]...",
@@ -152,7 +156,8 @@
" them as decoded text files to standard output."
" All BMG files of all archives (SZS,...) are read."
" The output of all source files is combined"
- " and strings of later source files override prior defined strings." },
+ " and strings of later source files override prior defined strings."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "IDENTIFIER", "IDENTIFIER|ID|IDENTIFY",
"wbmgt IDENTIFIER",
@@ -166,7 +171,8 @@
" All BMG files of a single archive (SZS,...) are concatenated to 1 source."
" This command is similar to {PATCH},"
" but the result is always decoded."
- " The default destination is @'%P/%N.txt'@." },
+ " The default destination is @'%P/%N.txt'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "ENCODE", "ENCODE|ENC",
"wbmgt ENCODE [source]...",
@@ -174,7 +180,8 @@
" All BMG files of a single archive (SZS,...) are concatenated to 1 source."
" This command is similar to {PATCH},"
" but the result is always encoded."
- " The default destination is @'%P/%N.bmg'@." },
+ " The default destination is @'%P/%N.bmg'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "PATCH", "PATCH|PAT",
"wbmgt PATCH [source]...",
@@ -182,8 +189,9 @@
" specified by option {--patch-bmg}."
" The coding of the source files is not changed."
" The default destination is @'%P/%F'@."
+ " " WILDCARDS_PIPE
"\n "
- " Use {wszst patch --patch-bmg ...} to patch BMG files within a SZS file."},
+ " Use {wszst patch --patch-bmg ...} to patch BMG files within a SZS file." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -270,6 +278,12 @@
{ T_OPT_C, "BRIEF", "B|brief",
0, BMG_BRIEF_TEXT },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "MAX_FILE_SIZE","M|max-file-size|maxfilesize",
0,
0, 0 /* copy of wszst */ },
@@ -524,10 +538,13 @@
//---------- COMMAND wbmgt FILETYPE ----------
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wbmgt FILEATTRIB ----------
@@ -557,12 +574,19 @@
//---------- COMMAND wbmgt SECTIONS ----------
{ T_CMD_BEG, "SECTIONS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wbmgt LIST ----------
{ T_CMD_BEG, "LIST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "WIDTH", 0,0,0 },
{ T_COPT, "MAX_WIDTH", 0,0,0 },
{ T_COPT, "PATCH_BMG", 0,0,0 },
@@ -572,7 +596,11 @@
//---------- COMMAND wbmgt SLOTS ----------
{ T_CMD_BEG, "SLOTS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "WIDTH", 0,0,0 },
{ T_COPT, "MAX_WIDTH", 0,0,0 },
{ T_COPT, "PATCH_BMG", 0,0,0 },
@@ -593,8 +621,12 @@
//---------- COMMAND wbmgt CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
- { T_COPY_GRP, "TEXTOUT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "PATCH_BMG", 0,0,0 },
{ T_COPT, "MACRO_BMG", 0,0,0 },
{ T_COPT, "FILTER_BMG", 0,0,0 },
@@ -602,11 +634,13 @@
//---------- COMMAND wbmgt MIX ----------
{ T_CMD_BEG, "MIX", 0,0,0 },
+
{ T_COPY_CMD, "CAT", 0,0,0 },
//---------- COMMAND wbmgt IDENTIFIER ----------
{ T_CMD_BEG, "IDENTIFIER", 0,0,0 },
+
{ T_COPT, "LE_CODE", 0,0,0 },
{ T_COPT, "CT_CODE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
@@ -615,9 +649,13 @@
//---------- COMMAND wbmgt DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "PATCH_BMG", 0,0,0 },
{ T_COPT, "MACRO_BMG", 0,0,0 },
{ T_COPT, "FILTER_BMG", 0,0,0 },
@@ -625,6 +663,11 @@
//---------- COMMAND wbmgt ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "BMG_ENDIAN", 0,0,0 },
@@ -632,7 +675,6 @@
{ T_COPT, "BMG_INF_SIZE", 0,0,0 },
{ T_COPT, "BMG_MID", 0,0,0 },
{ T_COPT, "FORCE_ATTRIB", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "PATCH_BMG", 0,0,0 },
{ T_COPT, "MACRO_BMG", 0,0,0 },
{ T_COPT, "FILTER_BMG", 0,0,0 },
@@ -641,9 +683,13 @@
//---------- COMMAND wbmgt PATCH ----------
{ T_CMD_BEG, "PATCH", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "PATCH_BMG", 0,0,0 },
{ T_COPT, "MACRO_BMG", 0,0,0 },
{ T_COPT, "FILTER_BMG", 0,0,0 },
diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc
index d318c25..d060496 100644
--- a/project/src/ui/tab-wctct.inc
+++ b/project/src/ui/tab-wctct.inc
@@ -127,12 +127,14 @@
{ T_DEF_CMD, "DUMP", "D|DUMP",
"wctct DUMP [source]...",
"Print an information dump for the CT-CODE of each source file."
- " " CT_CODE_SOURCE " are accepted as input." },
+ " " CT_CODE_SOURCE " are accepted as input."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "CAT", "CAT",
"wctct CAT [source]...",
"Read the source files and print the CT-CODE part"
" them as decoded text files to standard output."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated."
" " CT_CODE_SOURCE " are accepted as input." },
@@ -149,6 +151,7 @@
{ T_DEF_CMD, "DECODE", "DECODE|DEC",
"wctct DECODE [source]...",
"Read the source files and decode them to CT-TEXT files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.txt'@."
" " CT_CODE_SOURCE " are accepted as input." },
@@ -156,6 +159,7 @@
"wctct CREATE keyword [source]...",
"Read the source files, scan the CT-CODE part"
" and create an output file controlled by the keyword."
+ " " WILDCARDS_PIPE
" BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN files are accepted as input."
" Possible keywords are: @CUP1, CRS1, r-MOD1, r-MOD2, r-OVR1,"
" r-BAD1CODE, r-BAD1DATA (=r-CODE), r-TEX0, r-BRRES, r-SZS,"
@@ -170,6 +174,7 @@
"wctct PATCH [source]...",
"Read each source file, find and scan the CT-CODE part"
" and patch it."
+ " " WILDCARDS_PIPE
" " CT_CODE_SOURCE " are accepted as input." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -272,6 +277,12 @@
0,
"Suppress cross reference comments." },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "RAW", "raw",
0,
"Print BMG messages as UTF-8 text without escape sequences." },
@@ -648,10 +659,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wctct FILEATTRIB ----------
@@ -699,6 +712,10 @@
{ T_CMD_BEG, "DUMP", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print headers as hexdump." },
{ T_COPY_GRP, "PATCH", 0,0,0 },
@@ -758,29 +775,40 @@
//---------- COMMAND wctct CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "WRITE_TRACKS", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
//---------- COMMAND wctct DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
//---------- COMMAND wctct CREATE ----------
{ T_CMD_BEG, "CREATE", 0,0,0 },
- { T_COPY_GRP, "DEST", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOPT", 0,0,0 },
{ T_COPT, "BMG_ENDIAN", 0,0,0 },
{ T_COPT, "BMG_ENCODING", 0,0,0 },
@@ -818,8 +846,12 @@
//---------- COMMAND wctct PATCH ----------
{ T_CMD_BEG, "PATCH", 0,0,0 },
- { T_COPY_GRP, "DEST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
diff --git a/project/src/ui/tab-wimgt.inc b/project/src/ui/tab-wimgt.inc
index a6078ba..6a9a6e3 100644
--- a/project/src/ui/tab-wimgt.inc
+++ b/project/src/ui/tab-wimgt.inc
@@ -96,18 +96,21 @@
{ T_DEF_CMD, "LIST", "LIST|LS",
"wimgt LIST [source]...",
- "List images files and print file and image type." },
+ "List images files and print file and image type."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST_L", "LIST-L|LL|LISTL",
"wit LIST-L [source]...",
"List images files and print file and image type"
" and geometry data."
+ " " WILDCARDS_PIPE
" 'LIST-L' is a short cut for {LIST --long}." },
{ T_DEF_CMD, "LIST_LL", "LIST-LL|LLL|LISTLL",
"wit LIST-LL [source]...",
"List images files and print file and image type"
" and advanced geometry data."
+ " " WILDCARDS_PIPE
" 'LIST-LL' is a short cut for {LIST --long --long}." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -115,19 +118,22 @@
{ T_DEF_CMD, "DECODE", "DECODE|DEC",
"wimgt DECODE [source]...",
"Decode (export) the entered image files into PNG files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%F.png'@."
" " GENERIC_IMAGE("SOURCE") },
{ T_DEF_CMD, "ENCODE", "ENCODE|ENC",
"wimgt ENCODE [source]...",
"Encode (import) the entered PNG files and convert them to"
- " to an internal image format (TPL, TEX, BREFT)."
+ " to an internal image format (TPL, TEX, BREFT, ...)."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N'@ (removed extension)."
" " GENERIC_IMAGE("SOURCE") },
{ T_DEF_CMD, "CONVERT", "CONVERT|CV",
"wimgt CONVERT [source]...",
"Convert the entered image files into new file and image formats."
+ " " WILDCARDS_PIPE
" The old file is replaced by the new one."
" The difference to {ENCODE} is only the default file name handling."
" " GENERIC_IMAGE("SOURCE") },
@@ -138,6 +144,7 @@
"Copy and convert an image from 'source' to 'dest'."
" Multiple sources can be used, if 'dest' is a directory"
" or contains at least one %-pattern."
+ " " WILDCARDS_PIPE
"\n "
" This is an alternative for the ENCODE and DECODE commands."
" The default destination file format is selected by scanning the"
@@ -232,6 +239,12 @@
0,
"Create smaller output." },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "MAX_FILE_SIZE","M|max-file-size|maxfilesize",
0,
0, 0 /* copy of wszst */ },
@@ -478,10 +491,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wimgt FILEATTRIB ----------
@@ -492,11 +507,15 @@
//---------- COMMAND wimgt LIST ----------
{ T_CMD_BEG, "LIST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT_M, "LONG", 0,0,
"If set, geometry data of the image is printed."
" If set twice, advanced geometry data is printed." },
{ T_COPT, "NO_HEADER", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wszst LIST-L ----------
@@ -511,15 +530,23 @@
//---------- COMMAND wimgt DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
- { T_COPY_GRP, "DEST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wimgt ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
- { T_COPY_GRP, "DEST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "ALL", 0,0,
"If source and destination file are the same,"
" the file is only written on modifications (transform, patch, ...)."
diff --git a/project/src/ui/tab-wkclt.inc b/project/src/ui/tab-wkclt.inc
index a24e5eb..e8bb655 100644
--- a/project/src/ui/tab-wkclt.inc
+++ b/project/src/ui/tab-wkclt.inc
@@ -126,6 +126,7 @@
"wkclt CAT source...",
"Read the entered KCL and OBJ files and print"
" them as OBJ files to standard output."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated."
"\n "
" Automated dropping of bad KCL triangles is enabled"
@@ -135,6 +136,7 @@
"wkclt DECODE source...",
"Read the entered KCL and OBJ files"
" and export them to OBJ files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.txt'@."
"\n "
" Automated dropping of bad KCL triangles is enabled"
@@ -144,6 +146,7 @@
"wkclt ENCODE source...",
"Read the entered KCL and OBJ files"
" and encode (compile) them to binary KCL files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.kcl'@."
"\n "
" See https://szs.wiimm.de/doc/kcl for encoding details." },
@@ -154,6 +157,7 @@
"Copy and convert a collision file from 'source' to 'dest'."
" Multiple KCL and OBJ sources can be used,"
" if 'dest' is a directory or contains at least one %-pattern."
+ " " WILDCARDS_PIPE
"\n "
" This is an alternative for the DECODE and ENCODE commands."
" The default destination file format is selected by scanning the"
@@ -170,6 +174,7 @@
"wkclt CFF source...",
"CFF is an abbreviation of 'create flag file' and"
" will create a flag file template for each entered source file."
+ " " WILDCARDS_PIPE
" If the flag file already exists, only missing group names"
" are added at the end of file." },
@@ -187,13 +192,15 @@
{ T_DEF_CMD, "FLAGS", "FLAGS|F",
"wkclt FLAGS source...",
"Print a KCL type and flag usage statistic for each source"
- " to standard output." },
+ " to standard output."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "DUMP", "DUMP|D",
"wkclt DUMP source...",
"This debugging command prints an information dump about"
" the internal triangle data base and the octree"
" in human and machine readable text format."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated"
" and printed to standard output." },
@@ -208,6 +215,7 @@
"This debugging command prints a list of all triangles"
" with metrics in human and machine readable text format."
" It is like DUMP, but reduced to the list of triangles."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated"
" and printed to standard output." },
@@ -216,6 +224,7 @@
"This debugging commands prints one data line for each triangle."
" The goal is to compare data. Therefor and to create smaller lines"
" the precision of the floating points numbers is reduced."
+ " " WILDCARDS_PIPE
"\n "
" The print order is: flag used length | 3 points | 4 normals."
" For each point and normal 3 coordinates are printed." },
@@ -238,21 +247,25 @@
"wkclt CHECK source...",
"Read the entered KCL files (text or binary) and"
" and make a plausibility check."
+ " " WILDCARDS_PIPE
" Hints and warnings are written to standard output."
" The exit status is @'DIFFER'@ if at least one KMP warning found." },
{ T_DEF_CMD, "SHA1", "SHA1",
"wszst SHA1 [source]...",
"Print a SHA1 checksum of the KCL for each source."
+ " " WILDCARDS_PIPE
" The checksum is calculated after patching." },
{ H_DEF_CMD, "ANALYZE", "ANALYZE",
"wkclt ANALYZE source...",
- "Analyze some KCL data." },
+ "Analyze some KCL data."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "BLOW", "BLOW",
"wkclt BLOW source...",
"Try to calculate the used blow size (KCL_BLOW) of a KCL."
+ " " WILDCARDS_PIPE
" Print one line for each source file." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -424,6 +437,12 @@
{ T_OPT_C, "BRIEF", "B|brief",
0, 0 /* copy of wszst */ },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "NO_PARAM", "P|no-param|noparam",
0, 0 /* copy of wszst */ },
@@ -645,10 +664,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wkclt FILEATTRIB ----------
@@ -708,19 +729,27 @@
//---------- COMMAND wkclt CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wkclt DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
@@ -737,6 +766,11 @@
//---------- COMMAND wkclt CFF ----------
{ T_CMD_BEG, "CFF", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LONG", 0,0,
"Force usage of @'f(typ,variant)'@."
" If set twice, force usage of @'a(typ,w,x,y,z)'@." },
@@ -745,7 +779,6 @@
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "CONST", 0,0,0 },
{ T_COPT, "FLAG_FILE", 0,0,0 },
@@ -753,6 +786,7 @@
//---------- COMMAND wkclt TYPES ----------
{ T_CMD_BEG, "TYPES", 0,0,0 },
+
{ T_COPT, "NO_HEADER", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Print only the resulting flag." },
@@ -760,9 +794,13 @@
//---------- COMMAND wkclt FLAGS ----------
{ T_CMD_BEG, "FLAGS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Suppress the output of detailed flag list"
" and print only the type summary." },
@@ -772,7 +810,11 @@
//---------- COMMAND wkclt DUMP ----------
{ T_CMD_BEG, "DUMP", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Suppress the output of the triangle list"
@@ -791,7 +833,11 @@
//---------- COMMAND wkclt LIST ----------
{ T_CMD_BEG, "LIST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
@@ -799,7 +845,11 @@
//---------- COMMAND wkclt TRIANGLES ----------
{ T_CMD_BEG, "TRIANGLES", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Suppress the output of the 'normals' data." },
@@ -813,6 +863,7 @@
//---------- COMMAND wkclt TRAVERSE ----------
{ T_CMD_BEG, "TRAVERSE", 0,0,0 },
+
{ T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
@@ -826,6 +877,7 @@
//---------- COMMAND wkclt FALL ----------
{ T_CMD_BEG, "FALL", 0,0,0 },
+
{ T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
@@ -839,6 +891,11 @@
//---------- COMMAND wkclt CHECK ----------
{ T_CMD_BEG, "CHECK", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "COLORS", 0,0,0 },
{ T_COPT, "NO_COLORS", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
@@ -849,12 +906,15 @@
"Be quiet until the first warning or hint is found." },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wkclt SHA1 ----------
{ T_CMD_BEG, "SHA1", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "ID", 0,0,0 },
{ T_COPT, "BASE64", 0,0,0 },
{ T_COPT, "DB64", 0,0,0 },
@@ -867,6 +927,9 @@
//---------- COMMAND wkclt ANALYZE ----------
{ T_CMD_BEG, "ANALYZE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
@@ -874,6 +937,9 @@
//---------- COMMAND wkclt BLOW ----------
{ T_CMD_BEG, "BLOW", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
//
diff --git a/project/src/ui/tab-wkmpt.inc b/project/src/ui/tab-wkmpt.inc
index d454250..6baf914 100644
--- a/project/src/ui/tab-wkmpt.inc
+++ b/project/src/ui/tab-wkmpt.inc
@@ -155,18 +155,21 @@
"wkmpt CAT [source]...",
"Read the entered KMP files (text, binary or szs) and print"
" them as decoded text files to standard output."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated." },
{ T_DEF_CMD, "DECODE", "DECODE|DEC",
"wkmpt DECODE [source]...",
"Read the entered KMP files (text or binary)"
" and decode them to text files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.txt'@." },
{ T_DEF_CMD, "ENCODE", "ENCODE|ENC",
"wkmpt ENCODE source...",
"Read the entered KMP files (text or binary)"
" and encode (compile) them to binary files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.kmp'@." },
{ T_DEF_CMD, "DIFF", "DIFF|CMP",
@@ -190,6 +193,7 @@
"Read the entered KMP files (text or binary),"
" of needed load the related KCL file,"
" draw KMP objects and create an OBJ file."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.kmp.obj'@."
"\n "
" Automated dropping of bad KCL triangles is enabled"
@@ -199,6 +203,7 @@
"wkmpt CHECK source...",
"Read the entered KMP files (text or binary) and"
" and make a plausibility check."
+ " " WILDCARDS_PIPE
" Hints and warnings are written to standard output."
" The exit status is @'DIFFER'@ if at least one KMP warning found." },
@@ -218,12 +223,14 @@
{ T_DEF_CMD, "ROUTES", "ROUTES",
"wkmpt ROUTES file...",
"Print the internal cross references for routes of KMP sections"
- " CKPH, CKPT, ENPH, ENPT, ITPH and ITPT." },
+ " CKPH, CKPT, ENPH, ENPT, ITPH and ITPT."
+ " " WILDCARDS_PIPE },
{ H_DEF_CMD, "GOBJ", "GOBJ",
"wkmpt GOBJ [source]...",
"Analyze the objects of KMP section GOBJ"
- " and print a status line for each object. ..." },
+ " and print a status line for each object."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "GAMEMODES", "GAMEMODES|GMODES",
"wkmpt GAMEMODES [source]...",
@@ -231,7 +238,8 @@
" with and without extension support and print a list."
" The lists consists of index, scenario version and scenario name."
" Scenario versions are only equal, if the scenarios are duplicates."
- " Duplicates happens only, if {--gamemodes} option TT or FULL is set." },
+ " Duplicates happens only, if {--gamemodes} option TT or FULL is set."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "WIM0", "WIM0|W0",
"wkmpt WIM0 [source]...",
@@ -456,6 +464,14 @@
{ T_OPT_GP, "KMP", "kmp",
0, 0 /* copy of wszst */ },
+ #if MAX_STGI_LAPS > 9
+ { T_OPT_GP, "N_LAPS", "n-laps|nlaps",
+ 0, 0 /* copy of wszst */ },
+ #else
+ { H_OPT_GP, "N_LAPS", "n-laps|nlaps",
+ 0, 0 /* copy of wszst */ },
+ #endif
+
{ T_OPT_GP, "SPEED_MOD", "speed-mod|speedmod",
0, 0 /* copy of wszst */ },
@@ -489,6 +505,12 @@
" This includes syntax information ({--no-header})."
" If set twice, the output of unneeded sections is also suppressed." },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "EXPORT", "X|export",
0,
"Enable the export mode and create small and machine readable text files"
@@ -626,6 +648,11 @@
{ T_COPT, "AROT", 0,0,0 },
{ T_COPT, "TFORM_SCRIPT", 0,0,0 },
{ T_COPT, "KMP", 0,0,0 },
+ #if MAX_STGI_LAPS > 9
+ { T_COPT, "N_LAPS", 0,0,0 },
+ #else
+ { H_COPT, "N_LAPS", 0,0,0 },
+ #endif
{ T_COPT, "SPEED_MOD", 0,0,0 },
{ T_COPT, "KTPT2", 0,0,0 },
{ T_COPT, "TFORM_KMP", 0,0,0 },
@@ -741,10 +768,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wkmpt FILEATTRIB ----------
@@ -828,37 +857,50 @@
//---------- COMMAND wkmpt CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wkmpt DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wkmpt ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wkmpt DIFF ----------
{ T_CMD_BEG, "DIFF", 0,0,0 },
+
{ T_COPT, "QUIET", 0,0,
"If set once, only a summary status is printed."
" If set twice, the status is only reported as exit status." },
@@ -870,6 +912,11 @@
//---------- COMMAND wkmpt DRAW ----------
{ T_CMD_BEG, "DRAW", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "DRAW", 0,0,0 },
{ T_COPT, "POS_MODE", 0,0,0 },
{ T_COPT, "POS_FILE", 0,0,0 },
@@ -880,6 +927,11 @@
//---------- COMMAND wkmpt CHECK ----------
{ T_CMD_BEG, "CHECK", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "COLORS", 0,0,0 },
{ T_COPT, "NO_COLORS", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
@@ -891,28 +943,38 @@
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "GENERIC", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wkmpt STGI ----------
{ T_CMD_BEG, "STGI", 0,0,0 },
- { T_COPT, "COLORS", 0,0,0 },
- { T_COPT, "NO_COLORS", 0,0,0 },
- { T_COPT, "NO_HEADER", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,
"If set, ignore non existing source files"
" and files without KMP without warning."
" If set twice, ignore files with standard settings too." },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "COLORS", 0,0,0 },
+ { T_COPT, "NO_COLORS", 0,0,0 },
+ { T_COPT, "NO_HEADER", 0,0,0 },
//---------- COMMAND wszst KTPT ----------
{ T_CMD_BEG, "KTPT", 0,0,0 },
- { T_COPT, "COLORS", 0,0,0 },
- { T_COPT, "NO_COLORS", 0,0,0 },
- { T_COPT, "KTPT2", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,
"If set, ignore non existing source files"
" and files without KMP without warning." },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "COLORS", 0,0,0 },
+ { T_COPT, "NO_COLORS", 0,0,0 },
+ { T_COPT, "KTPT2", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"If set, compare each KTPT with each lap counter (some CKPT) and print"
" positions, directions, distances and recommendations as wide table." },
@@ -920,17 +982,25 @@
//---------- COMMAND wkmpt ROUTES ----------
{ T_CMD_BEG, "ROUTES", 0,0,0 },
- { T_COPT, "COLORS", 0,0,0 },
- { T_COPT, "NO_COLORS", 0,0,0 },
- { T_COPT, "NO_HEADER", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,
"If set, ignore non existing source files"
" and files without KMP without warning." },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "COLORS", 0,0,0 },
+ { T_COPT, "NO_COLORS", 0,0,0 },
+ { T_COPT, "NO_HEADER", 0,0,0 },
- //---------- COMMAND wkmpt GAMEMODES ----------
+ //---------- COMMAND wkmpt GOBJ ----------
{ T_CMD_BEG, "GOBJ", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,
"Suppress head and foot lines." },
{ T_COPT, "BRIEF", 0,0,
@@ -942,7 +1012,11 @@
//---------- COMMAND wkmpt GAMEMODES ----------
{ T_CMD_BEG, "GAMEMODES", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "GAMEMODES", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,
"Suppress head and foot lines." },
diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc
index c6b7251..6244378 100644
--- a/project/src/ui/tab-wlect.inc
+++ b/project/src/ui/tab-wlect.inc
@@ -125,6 +125,7 @@
{ T_DEF_CMD, "DUMP", "DUMP|D",
"wlect DUMP [source]...",
"Print an information dump for each source file."
+ " " WILDCARDS_PIPE
" LE-CODE binaries and LEX binaries are accepted as input." },
{ T_DEF_CMD, "DB", "DB"
@@ -161,16 +162,19 @@
{ T_DEF_CMD, "PATCH", "PATCH|P",
"wlect PATCH [lecode_bin]...",
"Read each LE-CODE binary file and patch it."
+ " " WILDCARDS_PIPE
" Use {--le-define} to setup cups and tracks." },
{ H_DEF_CMD, "TIMESTAMP", "TIMESTAMP",
"wlect TIMESTAMP [lecode_bin]...",
"Read each LE-CODE binary file and set creation time if exists and is null"
- " with respect to others existing timestamps." },
+ " with respect to others existing timestamps."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LPAR", "LPAR",
"wlect LPAR [le_bin]...",
"Read each LE-BIN file and patch it."
+ " " WILDCARDS_PIPE
" Then extract the LE-CODE parameters and store them as LPAR"
" text file. Print the result to standard output if no other"
" destination is defined." },
@@ -191,7 +195,7 @@
"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."
- " " WILDCARDS
+ " " WILDCARDS_STEP
"\n "
" Use the command without keyword to get an extended description." },
@@ -199,18 +203,21 @@
"wlect CAT [source]...",
"Read the entered LEX and LE-CODE files (text, binary or szs)"
" and print them as decoded text files to standard output."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated." },
{ T_DEF_CMD, "DECODE", "DECODE|DEC",
"wlect DECODE [source]...",
"Read the entered LEX files (text or binary)"
" and decode them to text files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.txt'@." },
{ T_DEF_CMD, "ENCODE", "ENCODE|ENC",
"wlect ENCODE source...",
"Read the entered LEX files (text or binary)"
" and encode (compile) them to binary files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.lex'@." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -313,6 +320,12 @@
0,
"Suppress cross reference comments." },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
#if 0 // BMG disabled for wlect
{ T_OPT_C, "RAW", "raw",
@@ -816,10 +829,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wlect FILEATTRIB ----------
@@ -864,9 +879,13 @@
{ T_CMD_BEG, "DUMP", 0,0,0 },
- { T_COPY_GRP, "PATCH", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
- { T_COPT, "BRIEF", 0,0,
+ { T_COPY_GRP, "PATCH", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "BRIEF", 0,0,
"For LE-CODE binaries:"
" If set, print infos about file header only." },
{ T_COPT, "LONG", 0,0,
@@ -918,18 +937,25 @@
{ T_CMD_BEG, "PATCH", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
{ T_COPY_GRP, "TRACK_COPY", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ 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 TIMESTAMP ----------
{ T_CMD_BEG, "TIMESTAMP", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
// { T_COPT, "NO_CHECK", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
@@ -937,6 +963,11 @@
//---------- COMMAND wlect LPAR ----------
{ T_CMD_BEG, "LPAR", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
@@ -945,6 +976,7 @@
//---------- COMMAND wlect CREATE ----------
{ T_CMD_BEG, "CREATE", 0,0,0 },
+
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
@@ -968,6 +1000,7 @@
//---------- COMMAND wlect DISTRIBUTION ----------
{ T_CMD_BEG, "DISTRIBUTION", 0,0,0 },
+
{ T_COPT, "LOAD_PREFIX", 0,0,0 },
{ T_COPT, "LOAD_CATEGORY",0,0,0 },
{ T_COPT, "PLUS", 0,0,0 },
@@ -980,27 +1013,39 @@
//---------- COMMAND wlect CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "COMPLETE", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wlect DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "COMPLETE", 0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wlect ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "COMPLETE", 0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//
///////////////////////////////////////////////////////////////////////////////
diff --git a/project/src/ui/tab-wmdlt.inc b/project/src/ui/tab-wmdlt.inc
index 5c53ddd..4d9439a 100644
--- a/project/src/ui/tab-wmdlt.inc
+++ b/project/src/ui/tab-wmdlt.inc
@@ -125,6 +125,7 @@
"wmdlt CAT [source]...",
"Read the entered MDL files (text or binary) and print"
" them as decoded text files to standard output (stdout)."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated."
"\n "
" A decoded MDL0 file can only be used for analysis."
@@ -134,6 +135,7 @@
"wmdlt DECODE [source]...",
"Read the entered MDL files (text or binary)"
" and decode them to text files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.txt'@."
"\n "
" A decoded MDL0 file can only be used for analysis."
@@ -143,6 +145,7 @@
"wmdlt ENCODE [source]...",
"Read the entered MDL files (text or binary)"
" and encode (compile) them to binary files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.mdl'@." },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -151,6 +154,7 @@
"wmdlt STRINGS [source]...",
"Read the entered MDL files (text or binary)"
" and print all strings of all sections."
+ " " WILDCARDS_PIPE
"\n "
" For archives like SZS or BREES,"
" the strings of each containing MDL are printed."
@@ -161,11 +165,13 @@
"wmdlt GEOMETRY [source]...",
"Read the entered MDL files (text or binary) and print"
" some geometry information to the standard output (stdout)."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated." },
{ H_DEF_CMD, "XTEST", "_TEST",
"wszst _TEST [files]",
- "Test something." },
+ "Test something."
+ " " WILDCARDS_PIPE },
//
//---------- list of all wmdlt options ----------
@@ -301,6 +307,12 @@
{ T_OPT_C, "BRIEF", "B|brief",
0, 0 /* copy of wszst */ },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "NO_PARAM", "P|no-param|noparam",
0, 0 /* copy of wszst */ },
@@ -514,10 +526,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wmdlt FILEATTRIB ----------
@@ -577,61 +591,85 @@
//---------- COMMAND wmdlt CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wmdlt DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wmdlt ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wmdlt STRINGS ----------
{ T_CMD_BEG, "STRINGS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wmdlt GEOMETRY ----------
{ T_CMD_BEG, "GEOMETRY", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
//---------- COMMAND wmdlt _TEST ----------
{ T_CMD_BEG, "XTEST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM", 0,0,0 },
diff --git a/project/src/ui/tab-wpatt.inc b/project/src/ui/tab-wpatt.inc
index 44195e6..0da9036 100644
--- a/project/src/ui/tab-wpatt.inc
+++ b/project/src/ui/tab-wpatt.inc
@@ -121,18 +121,21 @@
"wpatt CAT [source]...",
"Read the entered PAT files (text or binary) and print"
" them as decoded text files to standard output (stdout)."
+ " " WILDCARDS_PIPE
" The output of all source files is concatenated." },
{ T_DEF_CMD, "DECODE", "DECODE|DEC",
"wpatt DECODE [source]...",
"Read the entered PAT files (text or binary)"
" and decode them to text files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.txt'@." },
{ T_DEF_CMD, "ENCODE", "ENCODE|ENC",
"wpatt ENCODE [source]...",
"Read the entered PAT files (text or binary)"
" and encode (compile) them to binary files."
+ " " WILDCARDS_PIPE
" The default destination is @'%P/%N.pat'@." },
//
@@ -221,6 +224,12 @@
{ T_OPT_C, "BRIEF", "B|brief",
0, 0 /* copy of wszst */ },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "NO_PARAM", "P|no-param|noparam",
0, 0 /* copy of wszst */ },
@@ -410,10 +419,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wpatt FILEATTRIB ----------
@@ -453,27 +464,39 @@
//---------- COMMAND wpatt CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wpatt DECODE ----------
{ T_CMD_BEG, "DECODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wpatt ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "NO_ECHO", 0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//
diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc
index f78c073..9794d24 100644
--- a/project/src/ui/tab-wstrt.inc
+++ b/project/src/ui/tab-wstrt.inc
@@ -102,7 +102,8 @@
{ T_DEF_CMD, "DUMP", "DUMP",
"wstrt DUMP file...",
"Dump the structure of REL files (e.g. @StaticR.rel@)"
- " and of DOL files (e.g. @main.dol@) as text." },
+ " and of DOL files (e.g. @main.dol@) as text."
+ " " WILDCARDS_PIPE },
{ H_DEF_CMD, "CDUMP", "_CDUMP",
"wstrt _CDUMP file...",
@@ -111,6 +112,7 @@
{ T_DEF_CMD, "HEXDUMP", "HEXDUMP|XDUMP",
"wstrt HEXDUMP file...",
"Dump the content of DOL files as hex dump and use virtual addresses."
+ " " WILDCARDS_PIPE
" Select parts by --vaddr, --faddr and --sname."
" Without selectors, the whole file is dumped." },
@@ -143,11 +145,13 @@
{ H_DEF_CMD, "HTTPS", "_HTTPS",
"wstrt _HTTPS file...",
"Collect data about https-requests and print a total summary"
- " for all accepted files." },
+ " for all accepted files."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "EXTRACT", "EXTRACT|X",
"wstrt EXTRACT dol...",
- "Extract the sections of a DOL or a REL file into a directory." },
+ "Extract the sections of DOL and REL file into a directory."
+ " " WILDCARDS_PIPE },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -192,11 +196,13 @@
{ T_DEF_CMD, "ANALYZE", "ANALYZE|ANA|ANALYSE",
"wstrt ANALYZE [file]...",
"Open 'StaticR.rel' and DOL files and analyze them."
+ " " WILDCARDS_PIPE
" The files will be classified using SHA1 checksums." },
{ T_DEF_CMD, "PATCH", "PATCH",
"wstrt PATCH [file]...",
"Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii."
+ " " WILDCARDS_PIPE
" No backup is made." },
//
@@ -282,6 +288,12 @@
0,
"List only the track file names and suppress table header and footer." },
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0, 0 /* copy of wszst */ },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_C, "NO_HEADER", "H|no-header|noheader",
0, 0 /* copy of wszst */ },
@@ -387,11 +399,7 @@
"Each option call adds the filename to an internal list."
" Each file must be of type GCT and is added to the internal wcode stock."
"\n "
- " If parameter FILE contains at least one wildcard (e.g. '*.gct'),"
- " then FILE is used as search pattern and all found files are added."
- " In order to use this variant, the calling shell must not interpret"
- " the wildcards. Therefore, the parameter must usually be enclosed"
- " in single or double quotes."
+ WILDCARDS_OPTION("FILE","*.gct")
"\n "
" If a single file is not found and the filename (not path)"
" contains at least 1 '@@' character, then all '@@' characters of"
@@ -562,11 +570,7 @@
" Use option {--force} to allow overlapped sections."
" Use option {--verbose} up to 2 times for a log."
"\n "
- " If parameter FILE contains at least one wildcard (e.g. '*.gct'),"
- " then FILE is used as search pattern and all found files are added."
- " In order to use this variant, the calling shell must not interpret"
- " the wildcards. Therefore, the parameter must usually be enclosed"
- " in single or double quotes."
+ WILDCARDS_OPTION("FILE","*.GCT")
"\n "
" If a single file is not found and the filename (not path)"
" contains at least 1 '@@' character, then all '@@' characters of"
@@ -675,11 +679,7 @@
" Each file must be of type WPF (Wiimms Patch File) and defines"
" a list of conditionals and patches for staticr.rel and main.dol."
"\n "
- " If parameter FILE contains at least one wildcard (e.g. '*.wpf'),"
- " then FILE is used as search pattern and all found files are added."
- " In order to use this variant, the calling shell must not interpret"
- " the wildcards. Therefore, the parameter must usually be enclosed"
- " in single or double quotes." },
+ WILDCARDS_OPTION("FILE","*.wpf") },
{ T_SEP_OPT, 0,0,0,0 }, //----- separator -----
@@ -998,10 +998,12 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
- { T_COPT, "LONG", 0,0,
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wstrt FILEATTRIB ----------
@@ -1019,6 +1021,11 @@
//---------- COMMAND wstrt DUMP ----------
{ T_CMD_BEG, "DUMP", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LONG", 0,0,
"For DOL files:"
" If set, a second table with the image map is printed."
@@ -1031,6 +1038,11 @@
//---------- COMMAND wstrt HEXDUMP ----------
{ T_CMD_BEG, "HEXDUMP", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "VADDR", 0,0,0 },
{ T_COPT, "FADDR", 0,0,0 },
{ T_COPT, "SNAME", 0,0,0 },
@@ -1043,6 +1055,7 @@
//---------- COMMAND wstrt PORT ----------
{ T_CMD_BEG, "PORT", 0,0,0 },
+
{ T_COPT, "PORT_DB", 0,0,0 },
{ T_COPT, "ORDER", 0,0,0 },
{ T_COPT, "NO_0X", 0,0,0 },
@@ -1058,6 +1071,7 @@
//---------- COMMAND wstrt WHERE ----------
{ T_CMD_BEG, "WHERE", 0,0,0 },
+
{ T_COPT, "ORDER", 0,0,0 },
{ T_COPT, "NO_0X", 0,0,0 },
{ T_COPT, "UPPER", 0,0,0 },
@@ -1072,6 +1086,11 @@
//---------- COMMAND wstrt HTTPS ----------
{ T_CMD_BEG, "HTTPS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LONG", 0,0,
" Print output a C source" },
{ T_COPT, "VERBOSE", 0,0,
@@ -1081,6 +1100,10 @@
{ T_CMD_BEG, "EXTRACT", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "DEST", 0,0,0 },
{ T_COPT, "DEST2", 0,0,0 },
{ T_COPT, "OVERWRITE", 0,0,0 },
@@ -1088,6 +1111,7 @@
//---------- COMMAND wstrt TRACKS ----------
{ T_CMD_BEG, "TRACKS", 0,0,0 },
+
{ T_COPT, "NO_HEADER", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,0 },
{ T_COPT, "LONG", 0,0,
@@ -1108,6 +1132,7 @@
//---------- COMMAND wstrt FIND ----------
{ T_CMD_BEG, "FIND", 0,0,0 },
+
{ T_COPY_GRP, "PATCH", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Add a user friendly track or arena name at the end of each line."
@@ -1120,6 +1145,7 @@
//---------- COMMAND wstrt POINTS ----------
{ T_CMD_BEG, "POINTS", 0,0,0 },
+
{ T_COPT, "POINTS", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Print the table as comma separated lists in C notation." },
@@ -1131,6 +1157,11 @@
//---------- COMMAND wstrt ANALYZE ----------
{ T_CMD_BEG, "ANALYZE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "CLEAN_DOL", 0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
{ T_COPT, "LONG", 0,0,
@@ -1141,9 +1172,12 @@
{ T_CMD_BEG, "PATCH", 0,0,0 },
- { T_COPY_GRP, "DEST", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "CLEAN_DOL", 0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
{ H_COPT, "ADD_LECODE", 0,0,0 },
diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc
index f1feaf0..09979a8 100644
--- a/project/src/ui/tab-wszst.inc
+++ b/project/src/ui/tab-wszst.inc
@@ -84,6 +84,7 @@
{ T_DEF_CMD, "INSTALL", "INSTALL",
"wszst INSTALL [file]...",
"Install files to the shared directory."
+ " " WILDCARDS_PIPE
" Use {wszst CONFIG} to list related pathes." },
{ T_DEF_CMD, "ARGTEST", "ARGTEST",
@@ -98,16 +99,13 @@
" 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)"
- " for the following parameters."
" All tools know the EXPAND command." },
{ T_DEF_CMD, "WILDCARDS", "WILDCARDS",
"wszst WILDCARDS pattern...",
- " Each parameter is treated as a filename. "
- WILDCARDS_SORT
- " The special parameters '+h' and '_h' enable or disable the search"
+ " Each parameter is treated as a filename. " WILDCARDS_PIPE
+ " The special parameters '" WM_ENABLE_HIDDEN "' and '"
+ WM_DISABLE_HIDDEN "' enable or disable the search"
" for hidden directories and files (files beginning with a point)"
" for the following parameters."
" Finally, one line is printed for each file name of the list." },
@@ -133,13 +131,14 @@
"wszst FILETYPE file...",
"Scan the header of the entered files and print file type"
" and path for each file as list."
+ " " WILDCARDS_PIPE
" All tools know the FILETYPE command." },
{ T_DEF_CMD, "UI_CHECK", "UI-CHECK|UC|UICHECK",
"wszst UI-CHECK file...",
"Classify SZS files from directory .../Scene/UI/."
" For the analysis, the filename is ignored and only the content is examined."
- "" WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "FILEATTRIB", "FILEATTRIB|FA",
"wszst FILEATTRIB [keyword]...",
@@ -151,12 +150,13 @@
" All tools know the FILEATTRIB command." },
{ T_DEF_CMD, "BRSUB", "BRSUB",
- "wszst BRSUB [file]...",
+ "wszst BRSUB [source]...",
" If no file is defined, print a table with known BRRES"
" sub files consisting of"
" file format, version, number of sections and warn level."
" Otherwise analyse the version numbers of each BRRES sub file"
- " of each source and print warnings about invalid versions." },
+ " of each source and print warnings about invalid versions."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "SYMBOLS", "SYMBOLS",
"wszst SYMBOLS",
@@ -231,6 +231,8 @@
" use of option {--auto-add} or to convert WU8 files."
" If @SOURCE@ is a directory, all standard track and arena"
" file names are searched for the missed auto-add files."
+ " " WILDCARDS_PIPE
+ "\n "
" Without source files, the status of the auto-add archive is printed."
"\n "
" Try {wszst AUTOADD ./path_to/Race/Course/}"
@@ -267,7 +269,8 @@
{ H_DEF_CMD, "CODE", "_CODE",
"wszst _CODE [files]",
"All bytes of all input files are xor'ed with 0xDC and copied to stdout."
- " If no source file is given, standard input is read." },
+ " If no source file is given, standard input is read."
+ " " WILDCARDS_PIPE },
{ H_DEF_CMD, "RECODE", "_RECODE",
"wszst _RECODE mode [files]",
@@ -290,45 +293,46 @@
"List all sub files of " ARCHIVES_AND " archives."
" If listing a directory, then a virtual SZS file"
" is created (like CREATE does it) and listed."
- " " WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST_L", "LIST-L|LL|LISTL",
"wszst LIST-L [source]...",
"List all sub files with size."
" 'LIST-L' and 'LL' are short cuts for {LIST --long}."
- " " WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST_LL", "LIST-LL|LLL|LISTLL",
"wszst LIST-LL [source]...",
"List all sub files with offset and size."
" 'LIST-LL' and 'LLL' are short cuts for {LIST --long --long}."
- " " WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST_LLL", "LIST-LLL|LLLL|LISTLLL",
"wszst LIST-LLL [source]...",
"List all sub files with offset and size in debugging mode."
" 'LIST-LLL' and 'LLLL' are short cuts"
" for {LIST --long --long --long}."
- " " WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST_A", "LIST-A|LA|LISTA",
"wszst LIST-A [source]...",
"List recursive all sub files with size."
" 'LIST-A' and 'LA' are short cuts for {LIST --long --all --all}."
- " " WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "LIST_LA", "LIST-LA|LLA|LISTLA",
"wszst LIST-LA [source]...",
"List recursive all sub files with offset and size."
" 'LIST-LA' and 'LLA' are short cuts for {LIST --long --long --all --all}."
- " " WILDCARDS_SORT },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "NAME_REF", "NAME-REF|NAMEREF",
"wszst NAME-REF [source]...",
"For each BRRES file or subfile, create a name based cross reference"
" and print the result as list ordered by names in BRRES order."
" For U8 archives (e.g. track SZS files),"
- " sub file @course_model.brres@ is analysed." },
+ " sub file @course_model.brres@ is analysed."
+ " " WILDCARDS_PIPE },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -337,7 +341,8 @@
"List the images files of all sub files of " ARCHIVES_AND
" archives; non image files are ignored."
" If listing a directory, then a virtual SZS file"
- " is created (like CREATE does it) and listed." },
+ " is created (like CREATE does it) and listed."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "ILIST_L", "ILIST-L|ILL|ILISTL",
"wit ILIST-L [source]...",
@@ -364,7 +369,8 @@
{ T_DEF_CMD, "MEMORY", "MEMORY|MEM",
"wszst MEMORY [source]...",
"Dump a memory map of each source file."
- " Virtual images (extracted directories) are also supported." },
+ " Virtual images (extracted directories) are also supported."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "MEMORY_A", "MEMORY-A|MEMA",
"wszst MEMORY-A [source]...",
@@ -376,7 +382,8 @@
"Dump the internal structure of a BRRES files, compressed or not."
" Other archives are ignored."
" The main goal is to verify string relocation."
- " Virtual images (extracted directories) are also supported." },
+ " Virtual images (extracted directories) are also supported."
+ " " WILDCARDS_PIPE },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -384,18 +391,21 @@
"wszst SHA1 [source]...",
"Print a SHA1 checksum for each source."
" The checksum is calculated by using the uncompressed data"
- " and after patching." },
+ " and after patching."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "ANALYZE", "ANALYZE|ANA|ANALYSE",
"wszst ANALYZE [source]...",
"Analyse track files and LE-CODE binaries."
" Print the results in machine-readable form."
- " The output format is selected by options." },
+ " The output format is selected by options."
+ " " WILDCARDS_PIPE },
{ 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." },
+ " Print the results in machine readable format."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "IS_TEXTURE", "IS-TEXTURE|ISTEXTURE",
"wszst IS-TEXTURE --reference reference [source]...",
@@ -403,6 +413,7 @@
" For each source, one human and machine readable status line is printed."
" It is either »-1=err« on error, »1=yes« for a texture hack,"
" or »0=no LIST« with a comma separated list of reasons."
+ " " WILDCARDS_PIPE
"\n "
" At the moment KCL, KMP (see notes) and LEX are checked."
" KMP section CAME has been intentionally left out."
@@ -414,7 +425,8 @@
"Analyse track files and create a feature list for each source"
" in machine readable format."
" CTGP uses the feature lists to manage ghosts."
- " See option {--lex-features} for details." },
+ " See option {--lex-features} for details."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB",
"wszst DISTRIBUTION result source...\n"
@@ -425,6 +437,7 @@
" If a source directory starts with \"arena\","
" all tracks of the directory are assumed to be battle arenas."
" Finally print the results into file @RESULT@."
+ " " WILDCARDS_PIPE
"\n "
" The default name for @RESULT@ is \"distribution.txt\"."
" Extension .txt is appended to the filename if not defined."
@@ -455,7 +468,8 @@
" needed and unneeded files."
" Also analyse cannons and make slot proposals."
" This command uses an internal object and file database."
- " The source can be a SZS, U8, WU8 or WBZ file, or an U8 like directory." },
+ " The source can be a SZS, U8, WU8 or WBZ file, or an U8 like directory."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "SLOTS", "SLOTS",
"wszst SLOTS [source]...",
@@ -464,19 +478,22 @@
" For each source one status line is printed."
" The status line contains either a positive or a negative"
" slot list, whatever is shorter."
- " For battle arenas, the keyword @ARENA@ is printed." },
+ " For battle arenas, the keyword @ARENA@ is printed."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "STGI", "STGI",
"wszst STGI [source]...",
"Find the first KMP:STGI of each file"
" and print an analysis of it as single line statistic."
" Additional the number of lap counter check points ('LC') is printed."
- " Track and KMP (binary and text) files are accepted as input." },
+ " Track and KMP (binary and text) files are accepted as input."
+ " " WILDCARDS_PIPE },
- { T_DEF_CMD, "ISARENA", "ISARENA",
- "wszst ISARENA [source]...",
+ { T_DEF_CMD, "IS_ARENA", "IS-ARENA|ISARENA",
+ "wszst IS_ARENA [source]...",
"Analyse each track for its arena status and print a line with"
" a status code and the track name."
+ " " WILDCARDS_PIPE
" The status code is: »-RACE« for a racing track,"
" »?MAYBE« for likely an arena, »+ARENA« for an arena,"
" »+DISPATCH« for an arena with dispatch points"
@@ -497,6 +514,7 @@
" for all others. Compressed sources are compressed again with"
" maximum compression (level 9)."
" The destination is only written if any data changed."
+ " " WILDCARDS_PIPE
"\n "
" {wszst NORMALIZE} is the same as {wszst PATCH --norm}." },
@@ -507,7 +525,7 @@
" and store the file again."
" Compressed sources are compressed again."
" The destination is only written if any data changed or if stored in another file."
- " " WILDCARDS },
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "COPY", "COPY|CP",
"wszst COPY source dest\n"
@@ -517,8 +535,11 @@
" but has another command line syntax."
"\n "
"The command copies all source files to the destination."
+ " If no destination is defined by options {--dest} or {--DEST},"
+ " then the last parameter is used as destination."
" If more than 1 source is defined, the destination must be"
" either a directory or a destination filename with escapes."
+ " " WILDCARDS_PIPE
" Patching is also possible and option --overwrite is set implicitly." },
{ T_DEF_CMD, "DUPLICATE", "DUPLICATE|DUP",
@@ -547,32 +568,37 @@
" If patching options are used, modify the data and write back"
" the file using its original file format."
" Only the translation vector is modified and"
- " new translation and inverse matrices are calculated." },
+ " new translation and inverse matrices are calculated."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "COMPRESS", "COMPRESS|COM",
"wszst COMPRESS [source]...",
"Compress and create a SZS archives."
" If the source is already compressed,"
" then decompress and compress it again."
- " The default destination is @'%P/%N.szs'@." },
+ " The default destination is @'%P/%N.szs'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "DECOMPRESS", "DECOMPRESS|DEC",
"wszst DECOMPRESS [szs]...",
"Decompress SZS files."
- " The default destination is @'%P/%N.u8'@." },
+ " The default destination is @'%P/%N.u8'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "ENCODE", "ENCODE|E",
"wszst ENCODE [source_dir]...",
" Create and/or encode sub files if necessary."
" It works like command CREATE,"
- " but without creating a new first level archive file." },
+ " but without creating a new first level archive file."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "CREATE", "CREATE|C",
"wszst CREATE [source_dir]...",
"Create " CARCHIVES_OR " archives by adding all not hidden files"
" of the directory structure."
" Create and/or encode sub files if necessary."
- " The default destination is @'%P/%N%T'@." },
+ " The default destination is @'%P/%N%T'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "UPDATE", "UPDATE|U",
"wszst UPDATE [source]... [--source=] [--dest=]",
@@ -582,40 +608,46 @@
" in a prior extracted archive."
" Only files with the same size are updated."
" The secondary source is used to find the source sub files."
- " The default secondary source is @'%P/%N.d/'@." },
+ " The default secondary source is @'%P/%N.d/'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "EXTRACT", "EXTRACT|X",
"wszst EXTRACT [source]...",
"Extract all sub files of " ARCHIVES_AND " archives."
- " The default destination is @'%P/%N.d/'@." },
+ " The default destination is @'%P/%N.d/'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "XDECODE", "XDECODE|XD",
"wszst XDECODE [source]...",
"Command @XDECODE@ is a short cut for {EXTRACT --decode}."
" It extract all sub files of " ARCHIVES_AND " archives"
" and decodes all supported files."
- " The default destination is @'%P/%N.d/'@." },
+ " The default destination is @'%P/%N.d/'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "XEXPORT", "XEXPORT|XX",
"wszst XEXPORT [source]...",
"Command @XEXPORT@ is a short cut for {EXTRACT --decode --export}."
" It extract all sub files of " ARCHIVES_AND " archives"
" and decodes all supported files with enabled export mode."
- " The default destination is @'%P/%N.d/'@." },
+ " The default destination is @'%P/%N.d/'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "XALL", "XALL|XA",
"wszst XALL [source]...",
"Command @XALL@ is a short cut for {EXTRACT --all}."
" It extract all sub files of " ARCHIVES_AND " archives"
" recursively and decodes all supported files."
- " The default destination is @'%P/%N.d/'@." },
+ " The default destination is @'%P/%N.d/'@."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "XCOMMON", "XCOMMON",
"wszst XCOMMON [source]...",
"Command @XCOMMON@ is a short cut for {EXTRACT --basedir=common}."
" Scan archives and extract files from archives, that are below"
" directory @'common'@."
- " The default destination is @'%P/%N.d/'@." },
+ " The default destination is @'%P/%N.d/'@."
+ " " WILDCARDS_PIPE },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -623,6 +655,8 @@
"wszst BINARY [source]...",
"Read each source file (binary or text, but never archives)"
" and write the content as binary file."
+ " " WILDCARDS_PIPE
+ "\n "
" The file extension of the new file depends on the file type,"
" but is usually @.bin@."
" Currently supported file formats are @BMG@, @GEOHIT@, @ITEMSLOT@,"
@@ -633,6 +667,8 @@
"wszst TEXT [source]...",
"Read each source file (binary or text, but never archives)"
" and write the content as text file."
+ " " WILDCARDS_PIPE
+ "\n "
" The file extension of the new file is usually @.txt@."
" Currently supported file formats are @BMG@, @GEOHIT@, @ITEMSLOT@,"
" @KCL@, @KMG@, @KMP@, @LEX@, @OBJFLOW@, @PAT@"
@@ -641,46 +677,55 @@
{ T_DEF_CMD, "CAT", "CAT",
"wszst CAT [source/subfile]...",
"Extract one or more sub files of " ARCHIVES_AND " archives."
+ " " WILDCARDS_SUBFILE
" The output of all source files is concatenated and written to stdout." },
{ T_DEF_CMD, "BMG", "BMG",
"wszst BMG [source]...",
"For each archive all BMG sub files are searched"
" and, if found, decoded and printed as combined BMG text file."
- " The command works exactly like {wbmgt MIX}." },
+ " The command works exactly like {wbmgt MIX}."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "KCL", "KCL",
"wszst KCL [source]...",
"For each archive the KCL sub file @course.kcl@ is searched"
" and, if found, decoded and printed (copied to stdout)."
+ " " WILDCARDS_SUBFILE
"\n "
" Automated dropping of bad KCL triangles is enabled"
- " if no other drop option is specified by option {--kcl}." },
+ " if no other drop option is specified by option {--kcl}."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "KMP", "KMP",
"wszst KMP [source]...",
"For each archive the KMP sub file @course.kmp@ is searched"
- " and, if found, decoded and printed (copied to stdout)." },
+ " and, if found, decoded and printed (copied to stdout)."
+ " " WILDCARDS_SUBFILE },
{ T_DEF_CMD, "LEX", "LEX",
"wszst LEX [source]...",
"For each archive the LEX sub file @course.lex@ is searched"
- " and, if found, decoded and printed (copied to stdout)." },
+ " and, if found, decoded and printed (copied to stdout)."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "INFO", "INFO",
"wszst INFO [source]...",
"For each archive a file named @info.txt@ and, if not found,"
" @credits.txt@ is searched, ignoring case."
- " The first found file of each archive is printed (copied to stdout)." },
+ " The first found file of each archive is printed (copied to stdout)."
+ " " WILDCARDS_SUBFILE },
{ H_DEF_CMD, "GHOST", "GHOSTS",
"wszst GHOST [source]...",
- "Analyse each file and print a summary about the ghost data." },
+ "Analyse each file and print a summary about the ghost data."
+ " " WILDCARDS_PIPE },
{ T_DEF_CMD, "YAZDUMP", "YAZDUMP|YD",
"wszst YAZDUMP [szs]...",
"Analyze YAZ compression and print a dump to stdout."
- " Ignore files without YAZ compression." },
+ " Ignore files without YAZ compression."
+ " " WILDCARDS_PIPE },
{ T_SEP_CMD, 0,0,0,0 }, //----- separator -----
@@ -1326,10 +1371,28 @@
" FIX-CKNEXT, FIX-CKJGPT, FIX-CK, FIX-ALL,"
" MASK-PFLAGS, RM-LECODE, PURGE-GOBJ, FULL-DEFOBJ,"
" DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL,"
- " 1LAP ... 9LAPS, MAX-LAPS, RM-EMPTY,"
- " TINY-0 ... TINY-7, INPLACE, SILENT@ and @LOG@."
+ #if MAX_STGI_LAPS > 9
+ " 1LAP .. 15LAPS, MAX-LAPS, RM-EMPTY,"
+ #else
+ " 1LAP .. 9LAPS, MAX-LAPS, RM-EMPTY,"
+ #endif
+ " TINY-0 .. TINY-7, INPLACE, SILENT@ and @LOG@."
"\1 See https://szs.wiimm.de/opt/kmp for details." },
+ #if MAX_STGI_LAPS > 9
+ { T_OPT_GP, "N_LAPS", "n-laps|nlaps",
+ "laps",
+ "If LAPS is a number between 1 and " CONVERT_TO_STRING(MAX_STGI_LAPS) ","
+ " then ignore laps settings of option {--kmp} (@1LAP@..@15LAPS@)"
+ " and patch KMP:STGI to this number of laps." },
+ #else
+ { H_OPT_GP, "N_LAPS", "n-laps|nlaps",
+ "laps",
+ "If LAPS is a number between 1 and " CONVERT_TO_STRING(MAX_STGI_LAPS) ","
+ " then ignore laps settings of option {--kmp} (@1LAP@..@9LAPS@)"
+ " and patch KMP:STGI to this number of laps." },
+ #endif
+
{ T_OPT_GP, "SPEED_MOD", "speed-mod|speedmod",
"factor",
"The speed modifier is a user extensions to change the basic speed"
@@ -1494,12 +1557,12 @@
{ T_OPT_G, "LT_CLEAR", "lt-clear|ltclear",
0,
- "Clear the LEX/TEST section and remove the section and course.lex if empty."
+ "Clear LEX sections TEST and DEV1 and remove the section and course.lex if empty."
" This option is executed before all other --lt-* options." },
{ T_OPT_GP, "LT_ONLINE", "lt-online|ltonline",
"mode",
- "Set LEX/TEST parameter OFFLINE-ONLINE to this MODE."
+ "Set LEX:TEST parameter OFFLINE-ONLINE to this MODE."
" MODE is one of @AUTO@ (default), @NEVER@ or @ALWAYS@."
" Only track.szs files are modified."
" If needed, file course.lex and section TEST"
@@ -1507,14 +1570,14 @@
{ T_OPT_GP, "LT_N_PLAYERS", "lt-n-players|lt-nplayers|ltnplayers",
"offline,online",
- "Set LEX/TEST parameters N-OFFLINE and N-ONLINE to these integer values."
+ "Set LEX:TEST parameters N-OFFLINE and N-ONLINE to these integer values."
" Only track.szs files are modified."
" If needed, file course.lex and section TEST"
" are created or removed if empty." },
{ T_OPT_GP, "LT_COND_BIT", "lt-cond-bit|lt-condbit|ltcondbit",
"bitnum",
- "Set LEX/TEST parameter COND-BIT to this integer value."
+ "Set LEX:TEST parameter COND-BIT to this integer value."
" Use -1 to deactivate this COND-BIT."
" Only track.szs files are modified."
" If needed, file course.lex and section TEST"
@@ -1522,7 +1585,7 @@
{ T_OPT_GP, "LT_GAME_MODE", "lt-game-mode|lt-gamemode|ltgamemode",
"mode",
- "Set LEX/TEST parameter GAME-MODE to this MODE."
+ "Set LEX:TEST parameter GAME-MODE to this MODE."
" MODE is one of @AUTO@ (default), @BALLOON, COIN, VERSUS@ or @ITEMRAIN@."
" Only track.szs files are modified."
" If needed, file course.lex and section TEST"
@@ -1530,7 +1593,7 @@
{ T_OPT_GP, "LT_ENGINE", "lt-engine|ltengine",
"mode",
- "Set LEX/TEST parameter ENGINE to this MODE."
+ "Set LEX:TEST parameter ENGINE to this MODE."
" MODE is one of @AUTO@ (default), @BATTLE, 50CC, 100CC, 150CC, 200CC,"
" 150M@ or @200M@. Only track.szs files are modified."
" If needed, file course.lex and section TEST"
@@ -1617,6 +1680,11 @@
" to change the menu as required by LE-CODE"
" to be able to select tracks from more than 8 cups." },
+ { T_OPT_C, "9LAPS", "9laps",
+ 0,
+ "Patch RACE*.szs files from directory .../Scene/UI/ to support 9 laps."
+ " See https://wiki.tockdom.com/wiki/Lap_Texture_Fix for details." },
+
{ T_OPT_CP, "TITLE_SCREEN", "title-screen|titlescreen",
"dir",
"Specify a directory from which to search and replace title screens."
@@ -1724,7 +1792,11 @@
" This includes syntax information ({--no-header})."
" If set twice, the output of unneeded sections is also suppressed." },
- { T_OPT_CM, "IN_ORDER", "in-order|inorder",
+ { T_OPT_C, "NO_WILDCARDS", "no-wildcards|nowildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified." },
+
+ { T_OPT_C, "IN_ORDER", "in-order|inorder",
0,
"Process the input files in order of the command line"
" and don't delete duplicates." },
@@ -2558,6 +2630,11 @@
{ T_COPT, "TRI_AREA", 0,0,0 },
{ T_COPT, "TRI_HEIGHT", 0,0,0 },
{ T_COPT, "KMP", 0,0,0 },
+ #if MAX_STGI_LAPS > 9
+ { T_COPT, "N_LAPS", 0,0,0 },
+ #else
+ { H_COPT, "N_LAPS", 0,0,0 },
+ #endif
{ T_COPT, "SPEED_MOD", 0,0,0 },
{ T_COPT, "KTPT2", 0,0,0 },
{ T_COPT, "TFORM_KMP", 0,0,0 },
@@ -2580,6 +2657,7 @@
{ T_COPT, "MACRO_BMG", 0,0,0 },
{ T_COPT, "FILTER_BMG", 0,0,0 },
{ T_COPT, "LE_MENU", 0,0,0 },
+ { T_COPT, "9LAPS", 0,0,0 },
{ T_COPT, "TITLE_SCREEN", 0,0,0 },
{ T_COPT, "CUP_ICONS", 0,0,0 },
@@ -2713,6 +2791,8 @@
{ T_GRP_BEG, "CREATE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE_SETUP", 0,0,0 },
{ T_COPY_GRP, "FFORMAT2", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
@@ -2805,6 +2885,10 @@
{ T_CMD_BEG, "INSTALL", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+
//---------- COMMAND wszst ARGTEST ----------
{ T_CMD_BEG, "ARGTEST", 0,0,0 },
@@ -2818,8 +2902,9 @@
//---------- COMMAND wszst WILDCARDS ----------
{ T_CMD_BEG, "WILDCARDS", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
{ T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wszst TEST ----------
@@ -2857,21 +2942,24 @@
{ T_CMD_BEG, "FILETYPE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print an additional column with the decompressed file type and version."
" If entered twice, a validation status column is added." },
{ T_COPT, "NO_HEADER", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wszst UI_CHECK ----------
{ T_CMD_BEG, "UI_CHECK", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
"Print the result as technical list." },
{ T_COPT, "NO_HEADER", 0,0,0 },
- { T_COPT, "IN_ORDER", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wszst FILEATTRIB ----------
@@ -2951,7 +3039,10 @@
{ T_CMD_BEG, "AUTOADD", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "QUIET", 0,0,
" If set, suppress logging." },
{ T_COPT, "VERBOSE", 0,0,
@@ -2989,6 +3080,7 @@
//---------- COMMAND wszst SCANCACHE ----------
{ T_CMD_BEG, "SCANCACHE", 0,0,0 },
+
{ T_COPT, "CACHE", 0,0,0 },
{ T_COPT, "LOG_CACHE", 0,0,0 },
{ T_COPT, "PURGE", 0,0,0 },
@@ -3003,6 +3095,7 @@
//---------- COMMAND wszst _SIZEOF ----------
{ T_CMD_BEG, "SIZEOF", 0,0,0 },
+
{ T_COPT, "SORT", 0,0,
"Define a sort mode. Keywords are:"
" @NONE@ (default), @NAME@ end @SIZE@." },
@@ -3015,6 +3108,9 @@
//---------- COMMAND wszst _CODE ----------
{ T_CMD_BEG, "CODE", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
//---------- COMMAND wszst _RECODE ----------
@@ -3028,7 +3124,12 @@
//---------- COMMAND wszst LIST ----------
{ T_CMD_BEG, "LIST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "RECURSE", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "EXT", 0,0,0 },
{ T_COPT, "CUT", 0,0,0 },
{ T_COPT, "ALL", 0,0,0 },
@@ -3038,9 +3139,7 @@
" If set three times, debugging mode is enabled." },
{ T_COPT, "SORT", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,0 },
- { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPY_GRP, "CREATE", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "NORM", 0,0,0 },
{ T_COPT, "LINKS", 0,0,0 },
{ T_COPT, "RM_AIPARAM", 0,0,0 },
@@ -3093,7 +3192,12 @@
//---------- COMMAND wszst ILIST ----------
{ T_CMD_BEG, "ILIST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "RECURSE", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "ALL", 0,0,0 },
{ T_COPT_M, "LONG", 0,0,
"If set, image width, height and size are printed."
@@ -3101,7 +3205,6 @@
{ T_COPT, "SORT", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,0 },
{ T_COPY_GRP, "CREATE", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "NORM", 0,0,0 },
{ T_COPT, "LINKS", 0,0,0 },
@@ -3128,7 +3231,12 @@
//---------- COMMAND wszst MEMORY ----------
{ T_CMD_BEG, "MEMORY", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "RECURSE", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "EXT", 0,0,0 },
{ T_COPT, "DECODE", 0,0,
"Decode binary files to find memory addresses of sections." },
@@ -3142,7 +3250,6 @@
"If set, print absolute offsets too." },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "CREATE", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "NORM", 0,0,0 },
{ T_COPT, "LINKS", 0,0,0 },
{ T_COPT, "RM_AIPARAM", 0,0,0 },
@@ -3156,15 +3263,24 @@
//---------- COMMAND wszst DUMP ----------
{ T_CMD_BEG, "DUMP", 0,0,0 },
- { T_COPY_GRP, "CREATE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "CREATE", 0,0,0 },
{ T_COPT, "NORM", 0,0,0 },
{ T_COPT, "LINKS", 0,0,0 },
//---------- COMMAND wszst SHA1 ----------
{ T_CMD_BEG, "SHA1", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "RECURSE", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NORM", 0,0,0 },
{ T_COPT, "LINKS", 0,0,0 },
{ T_COPY_GRP, "CREATE", 0,0,0 },
@@ -3190,9 +3306,13 @@
//---------- COMMAND wszst ANALYZE ----------
{ T_CMD_BEG, "ANALYZE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LONG", 0,0,
"Append a list of special files with size, SHA1 and file name." },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "QUIET", 0,0,
"Suppress logging of input and output files." },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3205,13 +3325,17 @@
//---------- COMMAND wszst SPLIT ----------
{ T_CMD_BEG, "SPLIT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LOAD_PREFIX", 0,0,0 },
{ T_COPT, "LOAD_CATEGORY",0,0,0 },
{ T_COPT, "PLUS", 0,0,0 },
{ T_COPT, "SPLIT", 0,0,0 },
{ T_COPT, "PRINTF", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "SCRIPT", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3221,7 +3345,11 @@
//---------- COMMAND wszst IS_TEXTURE ----------
{ T_CMD_BEG, "IS_TEXTURE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "REFERENCE", 0,0,0 },
{ T_COPT, "BATTLE", 0,0,0 },
{ T_COPT, "LONG", 0,0,
@@ -3230,6 +3358,11 @@
//---------- COMMAND wszst FEATURES ----------
{ T_CMD_BEG, "FEATURES", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Suppres comments at all."
" If set twice, suppress empty lines (for grouping) too."
@@ -3240,7 +3373,6 @@
" The letters used are:"
" @S@ (section), @V@ (visual impact), @B@ (battle impact), @R@ (racing impact),"
" @T@ (time trial impact), @L@ (local=offline impact) and @O@ (online impact)." },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "QUIET", 0,0,
"Suppress logging of input and output files." },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3253,7 +3385,11 @@
//---------- COMMAND wszst DISTRIBUTION ----------
{ T_CMD_BEG, "DISTRIBUTION", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NORM", 0,0,0 },
{ T_COPT, "LINKS", 0,0,0 },
{ T_COPY_GRP, "CREATE", 0,0,0 },
@@ -3273,6 +3409,7 @@
//---------- COMMAND wszst DIFF ----------
{ T_CMD_BEG, "DIFF", 0,0,0 },
+
{ T_COPT, "QUIET", 0,0,
"If set once, only a summary status for each section is printed."
" If set twice, only a total summary status is printed."
@@ -3286,9 +3423,13 @@
//---------- COMMAND wszst CHECK ----------
{ T_CMD_BEG, "CHECK", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_CHECK", 0,0,
"Don't check the KCL and KMP files." },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "COLORS", 0,0,0 },
{ T_COPT, "NO_COLORS", 0,0,0 },
{ T_COPT, "BRIEF", 0,0,
@@ -3304,7 +3445,11 @@
//---------- COMMAND wszst SLOTS ----------
{ T_CMD_BEG, "SLOTS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "BRIEF", 0,0,
"Print the slot list in a compressed form without spaces." },
{ T_COPY_GRP, "CREATE", 0,0,0 },
@@ -3314,17 +3459,28 @@
//---------- COMMAND wszst STGI ----------
{ T_CMD_BEG, "STGI", 0,0,0 },
- { T_COPT, "COLORS", 0,0,0 },
- { T_COPT, "NO_COLORS", 0,0,0 },
- { T_COPT, "NO_HEADER", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,
"If set, ignore non existing source files"
" and files without KMP without warning."
" If set twice, ignore files with standard settings too." },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "COLORS", 0,0,0 },
+ { T_COPT, "NO_COLORS", 0,0,0 },
+ { T_COPT, "NO_HEADER", 0,0,0 },
+
+ //---------- COMMAND wszst IS_ARENA ----------
- //---------- COMMAND wszst ISARENA ----------
+ { T_CMD_BEG, "IS_ARENA", 0,0,0 },
- { T_CMD_BEG, "ISARENA", 0,0,0 },
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,
+ "If set, ignore non existing source files"
+ " and files without KMP without warning." },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "COLORS", 0,0,0 },
{ T_COPT, "NO_COLORS", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,0 },
@@ -3332,19 +3488,20 @@
"If set, suppress the output of header and filenames." },
{ T_COPT, "QUIET", 0,0,
"If set, print nothing and set only the exit status." },
- { T_COPT, "IGNORE", 0,0,
- "If set, ignore non existing source files"
- " and files without KMP without warning." },
//---------- COMMAND wszst NORMALIZE ----------
{ T_CMD_BEG, "NORMALIZE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "REMOVE_SRC", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "FFORMAT1", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPY_GRP, "NORM", 0,0,0 },
{ T_COPT, "FAST", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3353,13 +3510,17 @@
//---------- COMMAND wszst PATCH ----------
{ T_CMD_BEG, "PATCH", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "REMOVE_SRC", 0,0,0 },
{ T_COPT, "NO_COPY", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "FFORMAT1", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "COMPRESS", 0,0,0 },
{ T_COPY_GRP, "NORM", 0,0,0 },
{ T_COPT, "FAST", 0,0,0 },
@@ -3380,12 +3541,16 @@
//---------- COMMAND wszst MINIMAP ----------
{ T_CMD_BEG, "MINIMAP", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "LONG", 0,0,
"If set, print the matrices too."
" If set twice, print minimum and maximum values too." },
{ T_COPT, "REMOVE_DEST", 0,0,0 },
{ T_COPT, "PRESERVE", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "COMPRESS", 0,0,0 },
{ T_COPY_GRP, "NORM", 0,0,0 },
{ T_COPT, "FAST", 0,0,0 },
@@ -3408,12 +3573,16 @@
//---------- COMMAND wszst COMPRESS ----------
{ T_CMD_BEG, "COMPRESS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "REMOVE_SRC", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "FFORMAT1", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "COMPRESS", 0,0,0 },
{ T_COPY_GRP, "NORM", 0,0,0 },
{ T_COPT, "FAST", 0,0,0 },
@@ -3423,12 +3592,16 @@
//---------- COMMAND wszst DECOMPRESS ----------
{ T_CMD_BEG, "DECOMPRESS", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "REMOVE_SRC", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "U8", 0,0,0 },
{ T_COPT, "WU8", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPY_GRP, "NORM", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "TRANSFORM2", 0,0,0 },
@@ -3436,6 +3609,11 @@
//---------- COMMAND wszst ENCODE ----------
{ T_CMD_BEG, "ENCODE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "IGNORE_SETUP", 0,0,0 },
{ T_COPY_GRP, "ALIGN", 0,0,0 },
{ T_COPT, "LOGGING", 0,0,0 },
@@ -3455,6 +3633,11 @@
//---------- COMMAND wszst CREATE ----------
{ T_CMD_BEG, "CREATE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "CREATE", 0,0,0 },
{ T_COPT, "NO_COMPRESS", 0,0,0 },
@@ -3466,8 +3649,12 @@
//---------- COMMAND wszst UPDATE ----------
{ T_CMD_BEG, "UPDATE", 0,0,0 },
- { T_COPT, "SOURCE", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "SOURCE", 0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPT, "ESC", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3483,9 +3670,13 @@
//---------- COMMAND wszst EXTRACT ----------
{ T_CMD_BEG, "EXTRACT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
{ T_COPY_GRP, "EXTRACT", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ H_COPT, "ANALYZE", 0,0,0 },
{ H_COPT, "ANALYZE_MODE", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3509,21 +3700,33 @@
//---------- COMMAND wszst XCOMMON ----------
{ T_CMD_BEG, "XCOMMON", 0,0,0 },
- { T_COPY_GRP, "DEST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
+ { T_COPY_GRP, "DEST", 0,0,0 },
//---------- COMMAND wszst BINARY ----------
{ T_CMD_BEG, "BINARY", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "KMG_LIMIT", 0,0,0 },
{ T_COPT, "KMG_COPY", 0,0,0 },
- { T_COPT, "IGNORE", 0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
//---------- COMMAND wszst TEXT ----------
{ T_CMD_BEG, "TEXT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "DECODE", 0,0,0 },
{ T_COPT, "KMG_LIMIT", 0,0,0 },
{ T_COPT, "KMG_COPY", 0,0,0 },
@@ -3535,7 +3738,11 @@
//---------- COMMAND wszst CAT ----------
{ T_CMD_BEG, "CAT", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "DECODE", 0,0,0 },
{ T_COPY_GRP, "TEXTOUT", 0,0,0 },
{ T_COPY_GRP, "BMG", 0,0,0 },
@@ -3543,7 +3750,11 @@
//---------- COMMAND wszst BMG ----------
{ T_CMD_BEG, "BMG", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0, NO_HEAD_SYNTAX },
{ T_COPT, "BRIEF", 0,0,0 },
{ T_COPY_GRP, "BMG", 0,0,0 },
@@ -3551,7 +3762,11 @@
//---------- COMMAND wszst KCL ----------
{ T_CMD_BEG, "KCL", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0, NO_HEAD_SYNTAX },
{ T_COPT, "BRIEF", 0,0,0 },
{ T_COPT, "NO_PARAM", 0,0,0 },
@@ -3562,7 +3777,11 @@
//---------- COMMAND wszst KMP ----------
{ T_CMD_BEG, "KMP", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0, NO_HEAD_SYNTAX },
{ T_COPT, "BRIEF", 0,0,0 },
{ T_COPT, "EXPORT", 0,0,0 },
@@ -3574,7 +3793,11 @@
//---------- COMMAND wszst LEX ----------
{ T_CMD_BEG, "LEX", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0, NO_HEAD_SYNTAX },
{ T_COPT, "BRIEF", 0,0,0 },
{ T_COPT, "EXPORT", 0,0,0 },
@@ -3582,6 +3805,9 @@
//---------- COMMAND wszst INFO ----------
{ T_CMD_BEG, "INFO", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,
"Suppress output of the printed filename." },
@@ -3589,7 +3815,11 @@
//---------- COMMAND wszst GHOST ----------
{ T_CMD_BEG, "GHOST", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPT, "NO_HEADER", 0,0,
"Suppress output of the printed filename." },
{ T_SEP_OPT, 0,0,0,0 },
@@ -3601,11 +3831,17 @@
//---------- COMMAND wszst YAZDUMP ----------
{ T_CMD_BEG, "YAZDUMP", 0,0,0 },
+
+ { T_COPT, "NO_WILDCARDS", 0,0,0 },
+ { T_COPT, "IN_ORDER", 0,0,0 },
+ { T_COPT, "IGNORE", 0,0,0 },
+ { T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "DEST", 0,0,0 },
//---------- COMMAND wszst VEHICLE ----------
{ T_CMD_BEG, "VEHICLE", 0,0,0 },
+
{ T_COPT, "SOURCE", 0,0,
"Load the file instead of using the internal base." },
{ T_COPT, "DEST", 0,0,
diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c
index 03d997b..39ee317 100644
--- a/project/src/ui/ui-wbmgt.c
+++ b/project/src/ui/ui-wbmgt.c
@@ -73,6 +73,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" suppressed."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_DEST, false, false, false, false, true, 'd', "dest",
"path",
"Define a destination path (directory/file). The destination - means:"
@@ -293,7 +304,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 == 32
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 34
//----- global options -----
@@ -559,7 +570,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 == 67
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 69
};
@@ -727,6 +738,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "max-file-size", 1, 0, 'M' },
{ "maxfilesize", 1, 0, 'M' },
{ "tracks", 1, 0, 'T' },
@@ -874,33 +889,35 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x08e */ OPT_NO_WILDCARDS,
+ /* 0x08f */ OPT_IN_ORDER,
+ /* 0x090 */ OPT_POINTS,
+ /* 0x091 */ OPT_UTF_8,
+ /* 0x092 */ OPT_NO_UTF_8,
+ /* 0x093 */ OPT_FORCE,
+ /* 0x094 */ OPT_REPAIR_MAGICS,
+ /* 0x095 */ OPT_OLD,
+ /* 0x096 */ OPT_STD,
+ /* 0x097 */ OPT_NEW,
+ /* 0x098 */ OPT_EXTRACT,
+ /* 0x099 */ OPT_NUMBER,
+ /* 0x09a */ OPT_ALIGN,
+ /* 0x09b */ OPT_MACRO_BMG,
+ /* 0x09c */ OPT_FILTER_BMG,
+ /* 0x09d */ OPT_BMG_ENDIAN,
+ /* 0x09e */ OPT_BMG_ENCODING,
+ /* 0x09f */ OPT_BMG_INF_SIZE,
+ /* 0x0a0 */ OPT_BMG_MID,
+ /* 0x0a1 */ OPT_FORCE_ATTRIB,
+ /* 0x0a2 */ OPT_DEF_ATTRIB,
+ /* 0x0a3 */ OPT_NO_ATTRIB,
+ /* 0x0a4 */ OPT_X_ESCAPES,
+ /* 0x0a5 */ OPT_OLD_ESCAPES,
+ /* 0x0a6 */ OPT_NO_BMG_COLORS,
+ /* 0x0a7 */ OPT_BMG_COLORS,
+ /* 0x0a8 */ OPT_NO_BMG_INLINE,
+ /* 0x0a9 */ OPT_SECTIONS,
+ /* 0x0aa */ 0,0,0,0, 0,0,
/* 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,
@@ -917,142 +934,142 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[32] = // cmd #1
+static u8 option_allowed_cmd_VERSION[34] = // cmd #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,0, 0,0,0,0,0,
- 0,1
+ 0,0,0,1
};
-static u8 option_allowed_cmd_HELP[32] = // cmd #2
+static u8 option_allowed_cmd_HELP[34] = // 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
};
-static u8 option_allowed_cmd_CONFIG[32] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[34] = // cmd #3
{
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
};
-static u8 option_allowed_cmd_ARGTEST[32] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[34] = // 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
};
-static u8 option_allowed_cmd_EXPAND[32] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[34] = // 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
};
-static u8 option_allowed_cmd_TEST[32] = // cmd #6
+static u8 option_allowed_cmd_TEST[34] = // 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
};
-static u8 option_allowed_cmd_COLORS[32] = // cmd #7
+static u8 option_allowed_cmd_COLORS[34] = // 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
+ 0,0,0,0
};
-static u8 option_allowed_cmd_ERROR[32] = // cmd #8
+static u8 option_allowed_cmd_ERROR[34] = // 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
+ 0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[32] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[34] = // 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
+ 0,1,0,0,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0
};
-static u8 option_allowed_cmd_FILEATTRIB[32] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[34] = // 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
+ 0,0,0,0
};
-static u8 option_allowed_cmd_POINTS[32] = // cmd #11
+static u8 option_allowed_cmd_POINTS[34] = // 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
+ 0,0,0,0
};
-static u8 option_allowed_cmd_REGEXP[32] = // cmd #12
+static u8 option_allowed_cmd_REGEXP[34] = // 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
};
-static u8 option_allowed_cmd_EXTRACT[32] = // cmd #13
+static u8 option_allowed_cmd_EXTRACT[34] = // 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
+ 0,0,0,0
};
-static u8 option_allowed_cmd_SECTIONS[32] = // cmd #14
+static u8 option_allowed_cmd_SECTIONS[34] = // 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
+ 0,0,0,0,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0
};
-static u8 option_allowed_cmd_LIST[32] = // cmd #15
+static u8 option_allowed_cmd_LIST[34] = // 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
+ 0,0,0,0,1, 1,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 #16
+static u8 option_allowed_cmd_SLOTS[34] = // 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
+ 0,0,0,0,1, 1,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 #17
+static u8 option_allowed_cmd_DIFF[34] = // 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
+ 0,0,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 #18
+static u8 option_allowed_cmd_CAT[34] = // 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
+ 0,1,1,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 #19
+static u8 option_allowed_cmd_MIX[34] = // 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
+ 0,1,1,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 #20
+static u8 option_allowed_cmd_IDENTIFIER[34] = // 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
+ 0,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,0
};
-static u8 option_allowed_cmd_DECODE[32] = // cmd #21
+static u8 option_allowed_cmd_DECODE[34] = // 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
+ 0,1,1,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 #22
+static u8 option_allowed_cmd_ENCODE[34] = // 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
+ 0,0,0,0,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
};
-static u8 option_allowed_cmd_PATCH[32] = // cmd #23
+static u8 option_allowed_cmd_PATCH[34] = // 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
+ 1,1,1,0
};
@@ -1165,8 +1182,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1202,6 +1221,8 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] =
static const InfoOption_t * option_tab_cmd_SECTIONS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
0
@@ -1209,7 +1230,12 @@ static const InfoOption_t * option_tab_cmd_SECTIONS[] =
static const InfoOption_t * option_tab_cmd_LIST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
OptionInfo + OPT_PATCH_BMG,
@@ -1221,7 +1247,12 @@ static const InfoOption_t * option_tab_cmd_LIST[] =
static const InfoOption_t * option_tab_cmd_SLOTS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_WIDTH,
OptionInfo + OPT_MAX_WIDTH,
OptionInfo + OPT_PATCH_BMG,
@@ -1246,6 +1277,12 @@ static const InfoOption_t * option_tab_cmd_DIFF[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_HEADER,
OptionInfo + OPT_BRIEF,
@@ -1266,7 +1303,6 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
OptionInfo + OPT_NO_BMG_INLINE,
OptionInfo + OPT_LONG,
OptionInfo + OPT_EXPORT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_PATCH_BMG,
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
@@ -1276,6 +1312,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_MIX[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_HEADER,
OptionInfo + OPT_BRIEF,
@@ -1296,7 +1338,6 @@ static const InfoOption_t * option_tab_cmd_MIX[] =
OptionInfo + OPT_NO_BMG_INLINE,
OptionInfo + OPT_LONG,
OptionInfo + OPT_EXPORT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_PATCH_BMG,
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
@@ -1337,6 +1378,12 @@ static const InfoOption_t * option_tab_cmd_IDENTIFIER[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1368,7 +1415,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_NO_BMG_INLINE,
OptionInfo + OPT_LONG,
OptionInfo + OPT_EXPORT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_PATCH_BMG,
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
@@ -1378,6 +1424,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1397,7 +1449,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_BMG_INF_SIZE,
OptionInfo + OPT_BMG_MID,
OptionInfo + OPT_FORCE_ATTRIB,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_PATCH_BMG,
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
@@ -1408,6 +1459,12 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
static const InfoOption_t * option_tab_cmd_PATCH[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1439,7 +1496,6 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_NO_BMG_INLINE,
OptionInfo + OPT_LONG,
OptionInfo + OPT_EXPORT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_PATCH_BMG,
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
@@ -1548,10 +1604,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -1613,9 +1666,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -1693,9 +1748,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wbmgt SECTIONS [source]...",
"List all sections of each binary BMG file. Print offset, size, magic"
- " and a short info. If known, print number and size of elements too.",
+ " and a short info. If known, print number and size of elements too."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 1,
+ 3,
option_tab_cmd_SECTIONS,
option_allowed_cmd_SECTIONS
},
@@ -1708,9 +1765,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LS",
"wbmgt LIST [source]...",
"List messages to proof the content. Patches are applied before"
- " listing. The lines are cut to fit the terminal width.",
+ " listing. The lines are cut to fit the terminal width. Wildcards and"
+ " pipe characters are parsed, see https://szs.wiimm.de/doc/wildcards"
+ " for details.",
0,
- 6,
+ 8,
option_tab_cmd_LIST,
option_allowed_cmd_LIST
},
@@ -1723,9 +1782,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wbmgt SLOTS [source]...",
"Print a slot ordered list with slot number, message id, delta and"
- " attributes. Patches are applied before listing.",
+ " attributes. Patches are applied before listing. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 6,
+ 8,
option_tab_cmd_SLOTS,
option_allowed_cmd_SLOTS
},
@@ -1758,9 +1819,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Read the entered BMG files (text, binary or szs sub file) and print"
" them as decoded text files to standard output. All BMG files of a"
" single archive (SZS,...) are combined to 1 source. The output of all"
- " source files is concatenated.",
+ " source files is concatenated. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 21,
+ 23,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -1776,9 +1838,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" them as decoded text files to standard output. All BMG files of all"
" archives (SZS,...) are read. The output of all source files is"
" combined and strings of later source files override prior defined"
- " strings.",
+ " strings. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 21,
+ 23,
option_tab_cmd_MIX,
option_allowed_cmd_MIX
},
@@ -1809,9 +1872,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Read the entered message files and decode them to text files. All BMG"
" files of a single archive (SZS,...) are concatenated to 1 source."
" This command is similar to PATCH, but the result is always decoded."
- " The default destination is '%P/%N.txt'.",
+ " The default destination is '%P/%N.txt'. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 29,
+ 31,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -1826,9 +1891,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Read the entered message files and encode them to BMG files. All BMG"
" files of a single archive (SZS,...) are concatenated to 1 source."
" This command is similar to PATCH, but the result is always encoded."
- " The default destination is '%P/%N.bmg'.",
+ " The default destination is '%P/%N.bmg'. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 18,
+ 20,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -1842,11 +1909,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wbmgt PATCH [source]...",
"Patch the entered files by using the patch list specified by option"
" --patch-bmg. The coding of the source files is not changed. The"
- " default destination is '%P/%F'.\n"
+ " default destination is '%P/%F'. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.\n"
" Use 'wszst patch --patch-bmg ...' to patch BMG files within a SZS"
" file.",
0,
- 30,
+ 32,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
diff --git a/project/src/ui/ui-wbmgt.h b/project/src/ui/ui-wbmgt.h
index 1f2375b..6f5b78e 100644
--- a/project/src/ui/ui-wbmgt.h
+++ b/project/src/ui/ui-wbmgt.h
@@ -59,6 +59,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_DEST,
OPT_DEST2,
OPT_ESC,
@@ -88,7 +90,7 @@ typedef enum enumOptions
OPT_EXPORT,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 32
+ OPT__N_SPECIFIC, // == 34
//----- global options -----
@@ -128,7 +130,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 67
+ OPT__N_TOTAL // == 69
} enumOptions;
@@ -146,6 +148,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_DEST = 1llu << OPT_DEST,
// OB_DEST2 = 1llu << OPT_DEST2,
// OB_ESC = 1llu << OPT_ESC,
@@ -227,8 +231,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -239,14 +245,20 @@ typedef enum enumOptions
//
// OB_CMD_EXTRACT = OB_NO_HEADER,
//
-// OB_CMD_SECTIONS = OB_IGNORE,
+// OB_CMD_SECTIONS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE,
//
-// OB_CMD_LIST = OB_IGNORE
+// OB_CMD_LIST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_PATCH_BMG
// | OB_MACRO_BMG
// | OB_FILTER_BMG,
//
-// OB_CMD_SLOTS = OB_IGNORE
+// OB_CMD_SLOTS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_PATCH_BMG
// | OB_MACRO_BMG
// | OB_FILTER_BMG,
@@ -257,8 +269,10 @@ typedef enum enumOptions
// | OB_DEST
// | OB_ESC,
//
-// OB_CMD_CAT = OB_GRP_TEXTOUT
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_PATCH_BMG
// | OB_MACRO_BMG
// | OB_FILTER_BMG,
@@ -267,28 +281,34 @@ typedef enum enumOptions
//
// OB_CMD_IDENTIFIER = OB_GRP_TEXTOUT,
//
-// OB_CMD_DECODE = OB_GRP_DEST
-// | OB_GRP_TEXTOUT
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
+// | OB_GRP_TEXTOUT
// | OB_PATCH_BMG
// | OB_MACRO_BMG
// | OB_FILTER_BMG,
//
-// OB_CMD_ENCODE = OB_GRP_DEST
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_BMG_ENDIAN
// | OB_BMG_ENCODING
// | OB_BMG_INF_SIZE
// | OB_BMG_MID
// | OB_FORCE_ATTRIB
-// | OB_IGNORE
// | OB_PATCH_BMG
// | OB_MACRO_BMG
// | OB_FILTER_BMG
// | OB_ALIGN,
//
-// OB_CMD_PATCH = OB_GRP_DEST
-// | OB_GRP_TEXTOUT
+// OB_CMD_PATCH = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
+// | OB_GRP_TEXTOUT
// | OB_PATCH_BMG
// | OB_MACRO_BMG
// | OB_FILTER_BMG
@@ -388,6 +408,8 @@ typedef enum enumGetOpt
GO_CT_CODE,
GO_LE_CODE,
GO_CHDIR,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_POINTS,
GO_UTF_8,
GO_NO_UTF_8,
diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c
index 580e0db..a22d02b 100644
--- a/project/src/ui/ui-wctct.c
+++ b/project/src/ui/ui-wctct.c
@@ -75,6 +75,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Suppress cross reference comments."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_RAW, false, false, false, false, false, 0, "raw",
0,
"Print BMG messages as UTF-8 text without escape sequences."
@@ -393,7 +404,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 == 47
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 49
//----- global options -----
@@ -696,7 +707,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 == 87
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 89
};
@@ -928,6 +939,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "raw", 0, 0, GO_RAW },
{ "bmg-endian", 1, 0, GO_BMG_ENDIAN },
{ "bmgendian", 1, 0, GO_BMG_ENDIAN },
@@ -1103,49 +1118,51 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x091 */ OPT_NO_WILDCARDS,
+ /* 0x092 */ OPT_IN_ORDER,
+ /* 0x093 */ OPT_RAW,
+ /* 0x094 */ OPT_BMG_ENDIAN,
+ /* 0x095 */ OPT_BMG_ENCODING,
+ /* 0x096 */ OPT_BMG_INF_SIZE,
+ /* 0x097 */ OPT_BMG_MID,
+ /* 0x098 */ OPT_FORCE_ATTRIB,
+ /* 0x099 */ OPT_DEF_ATTRIB,
+ /* 0x09a */ OPT_NO_ATTRIB,
+ /* 0x09b */ OPT_X_ESCAPES,
+ /* 0x09c */ OPT_OLD_ESCAPES,
+ /* 0x09d */ OPT_NO_BMG_COLORS,
+ /* 0x09e */ OPT_BMG_COLORS,
+ /* 0x09f */ OPT_NO_BMG_INLINE,
+ /* 0x0a0 */ OPT_NO_ECHO,
+ /* 0x0a1 */ OPT_UTF_8,
+ /* 0x0a2 */ OPT_NO_UTF_8,
+ /* 0x0a3 */ OPT_FORCE,
+ /* 0x0a4 */ OPT_REPAIR_MAGICS,
+ /* 0x0a5 */ OPT_CREATE_DISTRIB,
+ /* 0x0a6 */ OPT_OLD,
+ /* 0x0a7 */ OPT_STD,
+ /* 0x0a8 */ OPT_NEW,
+ /* 0x0a9 */ OPT_EXTRACT,
+ /* 0x0aa */ OPT_LIST,
+ /* 0x0ab */ OPT_REF,
+ /* 0x0ac */ OPT_FULL,
+ /* 0x0ad */ OPT_HEX,
+ /* 0x0ae */ OPT_CT_DIR,
+ /* 0x0af */ OPT_CT_LOG,
+ /* 0x0b0 */ OPT_ALLOW_SLOTS,
+ /* 0x0b1 */ OPT_IMAGES,
+ /* 0x0b2 */ OPT_LOAD_BMG,
+ /* 0x0b3 */ OPT_PATCH_BMG,
+ /* 0x0b4 */ OPT_MACRO_BMG,
+ /* 0x0b5 */ OPT_FILTER_BMG,
+ /* 0x0b6 */ OPT_PATCH_NAMES,
+ /* 0x0b7 */ OPT_ORDER_BY,
+ /* 0x0b8 */ OPT_ORDER_ALL,
+ /* 0x0b9 */ OPT_DYNAMIC,
+ /* 0x0ba */ OPT_WRITE_TRACKS,
+ /* 0x0bb */ OPT_NUMBER,
+ /* 0x0bc */ OPT_SECTIONS,
+ /* 0x0bd */ 0,0,0,
/* 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,
@@ -1161,142 +1178,142 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[47] = // cmd #1
+static u8 option_allowed_cmd_VERSION[49] = // 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,0,0, 0,1
+ 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[47] = // cmd #2
+static u8 option_allowed_cmd_HELP[49] = // 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
};
-static u8 option_allowed_cmd_CONFIG[47] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[49] = // cmd #3
{
0,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ARGTEST[47] = // cmd #4
+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,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_EXPAND[47] = // 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,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
+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,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 #7
+static u8 option_allowed_cmd_COLORS[49] = // 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
+ 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 #8
+static u8 option_allowed_cmd_ERROR[49] = // 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
+ 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 #9
+static u8 option_allowed_cmd_FILETYPE[49] = // 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
+ 0,0,1,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[47] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[49] = // 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_SYMBOLS[47] = // cmd #11
+static u8 option_allowed_cmd_SYMBOLS[49] = // 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
+ 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 #12
+static u8 option_allowed_cmd_FUNCTIONS[49] = // 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
+ 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
+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,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 #14
+static u8 option_allowed_cmd_FLOAT[49] = // 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
+ 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 #15
+static u8 option_allowed_cmd_EXPORT[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,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,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 #16
+static u8 option_allowed_cmd_RAWDUMP[49] = // 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
+ 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 #17
+static u8 option_allowed_cmd_DUMP[49] = // 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
+ 0,0,1,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_CAT[47] = // cmd #18
+static u8 option_allowed_cmd_CAT[49] = // 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
+ 0,0,0,1,1, 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 #19
+static u8 option_allowed_cmd_BMG[49] = // 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
+ 0,0,1,1,1, 0,0,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 #20
+static u8 option_allowed_cmd_TRACKS[49] = // 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
+ 0,0,1,1,1, 0,0,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 #21
+static u8 option_allowed_cmd_DECODE[49] = // 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
+ 0,0,0,1,1, 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 #22
+static u8 option_allowed_cmd_CREATE[49] = // 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
+ 0,0,1,1,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 #23
+static u8 option_allowed_cmd_PATCH[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,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
+ 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,
+ 1,1,1,1,1, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,0
};
@@ -1415,8 +1432,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1474,6 +1493,12 @@ static const InfoOption_t * option_tab_cmd_RAWDUMP[] =
static const InfoOption_t * option_tab_cmd_DUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_DUMP_LONG,
OptionInfo + OPT_LOAD_BMG,
OptionInfo + OPT_PATCH_BMG,
@@ -1488,7 +1513,12 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LIST,
OptionInfo + OPT_REF,
OptionInfo + OPT_FULL,
@@ -1579,6 +1609,12 @@ static const InfoOption_t * option_tab_cmd_TRACKS[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_WRITE_TRACKS,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
@@ -1591,7 +1627,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_LIST,
OptionInfo + OPT_REF,
OptionInfo + OPT_FULL,
@@ -1614,6 +1649,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_CREATE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_WRITE_TRACKS,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
@@ -1626,7 +1667,6 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_HEX,
&option_grp_TEXTOPT_NO_HEADER,
OptionInfo + OPT_BRIEF,
@@ -1664,6 +1704,12 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
static const InfoOption_t * option_tab_cmd_PATCH[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_WRITE_TRACKS,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
@@ -1676,7 +1722,6 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NO_CHECK,
OptionInfo + OPT_LOAD_BMG,
OptionInfo + OPT_PATCH_BMG,
@@ -1790,10 +1835,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -1855,9 +1897,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -1986,9 +2030,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DUMP",
"wctct DUMP [source]...",
"Print an information dump for the CT-CODE of each source file. BRRES,"
- " TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as input.",
+ " TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as input. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 8,
+ 11,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -2001,11 +2047,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wctct CAT [source]...",
"Read the source files and print the CT-CODE part them as decoded text"
- " files to standard output. The output of all source files is"
- " concatenated. BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted"
- " as input.",
+ " files to standard output. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details. The output of"
+ " all source files is concatenated. BRRES, TEX0, CT-CODE, CT-TEXT and"
+ " LE-BIN are accepted as input.",
0,
- 18,
+ 20,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -2048,11 +2095,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DECODE",
"DEC",
"wctct DECODE [source]...",
- "Read the source files and decode them to CT-TEXT files. The default"
- " destination is '%P/%N.txt'. BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN"
- " are accepted as input.",
+ "Read the source files and decode them to CT-TEXT files. Wildcards and"
+ " pipe characters are parsed, see https://szs.wiimm.de/doc/wildcards"
+ " for details. The default destination is '%P/%N.txt'. BRRES, TEX0,"
+ " CT-CODE, CT-TEXT and LE-BIN are accepted as input.",
0,
- 26,
+ 28,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -2065,15 +2113,17 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"C",
"wctct CREATE keyword [source]...",
"Read the source files, scan the CT-CODE part and create an output"
- " file controlled by the keyword. BRRES, TEX0, CT-CODE, CT-TEXT and"
- " LE-BIN files are accepted as input. Possible keywords are: CUP1,"
- " CRS1, r-MOD1, r-MOD2, r-OVR1, r-BAD1CODE, r-BAD1DATA (=r-CODE),"
- " r-TEX0, r-BRRES, r-SZS, BMG, TRACKS, LIST, REF and FULL. 'r' defines"
- " the region and is one of EU, RMCP, US, RMCE, JP, RMCJ, KO or RMCK.\n"
+ " file controlled by the keyword. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details. BRRES,"
+ " TEX0, CT-CODE, CT-TEXT and LE-BIN files are accepted as input."
+ " Possible keywords are: CUP1, CRS1, r-MOD1, r-MOD2, r-OVR1,"
+ " r-BAD1CODE, r-BAD1DATA (=r-CODE), r-TEX0, r-BRRES, r-SZS, BMG,"
+ " TRACKS, LIST, REF and FULL. 'r' defines the region and is one of EU,"
+ " RMCP, US, RMCE, JP, RMCJ, KO or RMCK.\n"
" The Korean support needs external CT-CODE files. Use option"
" --ct-dir to define at least one search path.",
0,
- 41,
+ 43,
option_tab_cmd_CREATE,
option_allowed_cmd_CREATE
},
@@ -2086,9 +2136,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"P",
"wctct PATCH [source]...",
"Read each source file, find and scan the CT-CODE part and patch it."
- " BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as input.",
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. BRRES, TEX0,"
+ " CT-CODE, CT-TEXT and LE-BIN are accepted as input.",
0,
- 18,
+ 20,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h
index d9f8028..5325cd9 100644
--- a/project/src/ui/ui-wctct.h
+++ b/project/src/ui/ui-wctct.h
@@ -60,6 +60,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_RAW,
OPT_BMG_ENDIAN,
OPT_BMG_ENCODING,
@@ -103,7 +105,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 47
+ OPT__N_SPECIFIC, // == 49
//----- global options -----
@@ -148,7 +150,7 @@ typedef enum enumOptions
OPT_CT_LOG,
OPT_ALLOW_SLOTS,
- OPT__N_TOTAL // == 87
+ OPT__N_TOTAL // == 89
} enumOptions;
@@ -167,6 +169,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_RAW = 1llu << OPT_RAW,
// OB_BMG_ENDIAN = 1llu << OPT_BMG_ENDIAN,
// OB_BMG_ENCODING = 1llu << OPT_BMG_ENCODING,
@@ -264,8 +268,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -284,7 +290,10 @@ typedef enum enumOptions
// OB_CMD_RAWDUMP = OB_DEST
// | OB_DEST2,
//
-// OB_CMD_DUMP = OB_LONG
+// OB_CMD_DUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG
// | OB_GRP_PATCH,
//
// OB_CMD_BMG = OB_BRIEF
@@ -320,22 +329,28 @@ typedef enum enumOptions
// | OB_IGNORE
// | OB_GRP_PATCH,
//
-// OB_CMD_CAT = OB_GRP_TEXTOUT
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_WRITE_TRACKS
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_PATCH,
//
-// OB_CMD_DECODE = OB_GRP_DEST
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_PATCH,
//
-// OB_CMD_CREATE = OB_GRP_DEST
+// OB_CMD_CREATE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_TEXTOPT
// | OB_BMG_ENDIAN
// | OB_BMG_ENCODING
@@ -359,8 +374,10 @@ typedef enum enumOptions
// | OB_GRP_PATCH
// | OB_DYNAMIC,
//
-// OB_CMD_PATCH = OB_GRP_DEST
+// OB_CMD_PATCH = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_NO_CHECK
// | OB_IGNORE
// | OB_GRP_PATCH,
@@ -462,6 +479,8 @@ typedef enum enumGetOpt
GO_CRS1,
GO_CHDIR,
GO_ROUND,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_RAW,
GO_BMG_ENDIAN,
GO_BMG_ENCODING,
diff --git a/project/src/ui/ui-wimgt.c b/project/src/ui/ui-wimgt.c
index 2893524..f3e681b 100644
--- a/project/src/ui/ui-wimgt.c
+++ b/project/src/ui/ui-wimgt.c
@@ -69,6 +69,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Create smaller output."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_DEST, false, false, false, false, true, 'd', "dest",
"path",
"Define a destination path (directory/file). The destination - means:"
@@ -259,7 +270,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 == 26
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 28
//----- global options -----
@@ -513,7 +524,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 == 60
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 62
};
@@ -671,6 +682,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "max-file-size", 1, 0, 'M' },
{ "maxfilesize", 1, 0, 'M' },
{ "tracks", 1, 0, 'T' },
@@ -804,26 +819,28 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x08e */ OPT_NO_WILDCARDS,
+ /* 0x08f */ OPT_IN_ORDER,
+ /* 0x090 */ OPT_UTF_8,
+ /* 0x091 */ OPT_NO_UTF_8,
+ /* 0x092 */ OPT_FORCE,
+ /* 0x093 */ OPT_REPAIR_MAGICS,
+ /* 0x094 */ OPT_OLD,
+ /* 0x095 */ OPT_STD,
+ /* 0x096 */ OPT_NEW,
+ /* 0x097 */ OPT_EXTRACT,
+ /* 0x098 */ OPT_NUMBER,
+ /* 0x099 */ OPT_MIPMAPS,
+ /* 0x09a */ OPT_NO_MIPMAPS,
+ /* 0x09b */ OPT_N_MIPMAPS,
+ /* 0x09c */ OPT_MAX_MIPMAPS,
+ /* 0x09d */ OPT_MIPMAP_SIZE,
+ /* 0x09e */ OPT_FAST_MIPMAPS,
+ /* 0x09f */ OPT_CMPR_DEFAULT,
+ /* 0x0a0 */ OPT_PRE_CONVERT,
+ /* 0x0a1 */ OPT_STRIP,
+ /* 0x0a2 */ OPT_SECTIONS,
+ /* 0x0a3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
/* 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,
@@ -840,89 +857,89 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[26] = // cmd #1
+static u8 option_allowed_cmd_VERSION[28] = // cmd #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,0, 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,0, 0,0,1
};
-static u8 option_allowed_cmd_HELP[26] = // cmd #2
+static u8 option_allowed_cmd_HELP[28] = // 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
};
-static u8 option_allowed_cmd_CONFIG[26] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[28] = // cmd #3
{
- 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,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
};
-static u8 option_allowed_cmd_ARGTEST[26] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[28] = // 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
};
-static u8 option_allowed_cmd_EXPAND[26] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[28] = // 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
};
-static u8 option_allowed_cmd_TEST[26] = // cmd #6
+static u8 option_allowed_cmd_TEST[28] = // 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
};
-static u8 option_allowed_cmd_COLORS[26] = // cmd #7
+static u8 option_allowed_cmd_COLORS[28] = // 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,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
};
-static u8 option_allowed_cmd_ERROR[26] = // cmd #8
+static u8 option_allowed_cmd_ERROR[28] = // 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
+ 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,1
};
-static u8 option_allowed_cmd_FILETYPE[26] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[28] = // 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,1,0,0,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FILEATTRIB[26] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[28] = // 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,1,0,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[26] = // cmd #11
+static u8 option_allowed_cmd_LIST[28] = // 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
+ 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_LIST_L[26] = // cmd #12
+static u8 option_allowed_cmd_LIST_L[28] = // 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
+ 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_LIST_LL[26] = // cmd #13
+static u8 option_allowed_cmd_LIST_LL[28] = // 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
+ 0,1,1,0,1, 1,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_DECODE[26] = // cmd #14
+static u8 option_allowed_cmd_DECODE[28] = // 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
+ 0,0,0,0,1, 1,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 #15
+static u8 option_allowed_cmd_ENCODE[28] = // 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
+ 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,0
};
-static u8 option_allowed_cmd_CONVERT[26] = // cmd #16
+static u8 option_allowed_cmd_CONVERT[28] = // 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
+ 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,0
};
-static u8 option_allowed_cmd_COPY[26] = // cmd #17
+static u8 option_allowed_cmd_COPY[28] = // 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
+ 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,0
};
@@ -1032,8 +1049,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1047,33 +1066,54 @@ static const InfoOption_t * option_tab_cmd_FILEATTRIB[] =
static const InfoOption_t * option_tab_cmd_LIST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_LIST_LONG,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_LIST_L[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_LIST_LONG,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_LIST_LL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_LIST_LONG,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1085,7 +1125,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_N_MIPMAPS,
OptionInfo + OPT_MAX_MIPMAPS,
OptionInfo + OPT_MIPMAP_SIZE,
@@ -1109,6 +1148,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1120,7 +1165,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_cmd_ENCODE_ALL,
OptionInfo + OPT_N_MIPMAPS,
OptionInfo + OPT_MAX_MIPMAPS,
@@ -1145,6 +1189,12 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
static const InfoOption_t * option_tab_cmd_CONVERT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1156,7 +1206,6 @@ static const InfoOption_t * option_tab_cmd_CONVERT[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_cmd_ENCODE_ALL,
OptionInfo + OPT_N_MIPMAPS,
OptionInfo + OPT_MAX_MIPMAPS,
@@ -1181,6 +1230,12 @@ static const InfoOption_t * option_tab_cmd_CONVERT[] =
static const InfoOption_t * option_tab_cmd_COPY[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1192,7 +1247,6 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_cmd_ENCODE_ALL,
OptionInfo + OPT_N_MIPMAPS,
OptionInfo + OPT_MAX_MIPMAPS,
@@ -1316,10 +1370,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -1381,9 +1432,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -1413,9 +1466,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LIST",
"LS",
"wimgt LIST [source]...",
- "List images files and print file and image type.",
+ "List images files and print file and image type. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 3,
+ 5,
option_tab_cmd_LIST,
option_allowed_cmd_LIST
},
@@ -1428,9 +1483,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LL",
"wit LIST-L [source]...",
"List images files and print file and image type and geometry data."
- " 'LIST-L' is a short cut for 'LIST --long'.",
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. 'LIST-L' is a short"
+ " cut for 'LIST --long'.",
0,
- 3,
+ 5,
option_tab_cmd_LIST_L,
option_allowed_cmd_LIST_L
},
@@ -1443,9 +1500,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LLL",
"wit LIST-LL [source]...",
"List images files and print file and image type and advanced geometry"
- " data. 'LIST-LL' is a short cut for 'LIST --long --long'.",
+ " data. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. 'LIST-LL' is a short"
+ " cut for 'LIST --long --long'.",
0,
- 3,
+ 5,
option_tab_cmd_LIST_LL,
option_allowed_cmd_LIST_LL
},
@@ -1457,12 +1516,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DECODE",
"DEC",
"wimgt DECODE [source]...",
- "Decode (export) the entered image files into PNG files. The default"
- " destination is '%P/%F.png'. If SOURCE starts with colon (:), then it"
- " may be a generic image instead of a real file. See"
- " https://szs.wiimm.de/doc/genericimg for details.",
+ "Decode (export) the entered image files into PNG files. Wildcards and"
+ " pipe characters are parsed, see https://szs.wiimm.de/doc/wildcards"
+ " for details. The default destination is '%P/%F.png'. If SOURCE"
+ " starts with colon (:), then it may be a generic image instead of a"
+ " real file. See https://szs.wiimm.de/doc/genericimg for details.",
0,
- 20,
+ 22,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -1475,12 +1535,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ENC",
"wimgt ENCODE [source]...",
"Encode (import) the entered PNG files and convert them to to an"
- " internal image format (TPL, TEX, BREFT). The default destination is"
- " '%P/%N' (removed extension). If SOURCE starts with colon (:), then"
- " it may be a generic image instead of a real file. See"
- " https://szs.wiimm.de/doc/genericimg for details.",
+ " internal image format (TPL, TEX, BREFT, ...). Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The default destination is '%P/%N' (removed extension). If"
+ " SOURCE starts with colon (:), then it may be a generic image instead"
+ " of a real file. See https://szs.wiimm.de/doc/genericimg for details.",
0,
- 21,
+ 23,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -1492,13 +1553,15 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CONVERT",
"CV",
"wimgt CONVERT [source]...",
- "Convert the entered image files into new file and image formats. The"
- " old file is replaced by the new one. The difference to ENCODE is"
- " only the default file name handling. If SOURCE starts with colon"
- " (:), then it may be a generic image instead of a real file. See"
+ "Convert the entered image files into new file and image formats."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The old file is"
+ " replaced by the new one. The difference to ENCODE is only the"
+ " default file name handling. If SOURCE starts with colon (:), then it"
+ " may be a generic image instead of a real file. See"
" https://szs.wiimm.de/doc/genericimg for details.",
0,
- 21,
+ 23,
option_tab_cmd_CONVERT,
option_allowed_cmd_CONVERT
},
@@ -1513,7 +1576,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wimgt COPY source... [-d|-D] dest",
"Copy and convert an image from 'source' to 'dest'. Multiple sources"
" can be used, if 'dest' is a directory or contains at least one"
- " %-pattern.\n"
+ " %-pattern. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.\n"
" This is an alternative for the ENCODE and DECODE commands. The"
" default destination file format is selected by scanning the file"
" extension of the destination. Option --transform may override this."
@@ -1522,7 +1586,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" instead of a real file. See https://szs.wiimm.de/doc/genericimg for"
" details.",
0,
- 21,
+ 23,
option_tab_cmd_COPY,
option_allowed_cmd_COPY
},
diff --git a/project/src/ui/ui-wimgt.h b/project/src/ui/ui-wimgt.h
index 352536c..8dbf2bb 100644
--- a/project/src/ui/ui-wimgt.h
+++ b/project/src/ui/ui-wimgt.h
@@ -59,6 +59,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_DEST,
OPT_DEST2,
OPT_ESC,
@@ -82,7 +84,7 @@ typedef enum enumOptions
OPT_STRIP,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 26
+ OPT__N_SPECIFIC, // == 28
//----- global options -----
@@ -121,7 +123,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 60
+ OPT__N_TOTAL // == 62
} enumOptions;
@@ -139,6 +141,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_DEST = 1llu << OPT_DEST,
// OB_DEST2 = 1llu << OPT_DEST2,
// OB_ESC = 1llu << OPT_ESC,
@@ -208,25 +212,33 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
-// OB_CMD_LIST = OB_LONG
-// | OB_NO_HEADER
-// | OB_IGNORE,
+// OB_CMD_LIST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG
+// | OB_NO_HEADER,
//
// OB_CMD_LIST_L = OB_CMD_LIST,
//
// OB_CMD_LIST_LL = OB_CMD_LIST_L,
//
-// OB_CMD_DECODE = OB_GRP_DEST
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_ENCODE = OB_GRP_DEST
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_ALL
// | OB_GRP_TRANSFORM,
//
@@ -321,6 +333,8 @@ typedef enum enumGetOpt
GO_CT_CODE,
GO_LE_CODE,
GO_CHDIR,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_UTF_8,
GO_NO_UTF_8,
GO_FORCE,
diff --git a/project/src/ui/ui-wkclt.c b/project/src/ui/ui-wkclt.c
index 52faa2a..53e4a34 100644
--- a/project/src/ui/ui-wkclt.c
+++ b/project/src/ui/ui-wkclt.c
@@ -311,6 +311,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Create smaller output."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_NO_PARAM, false, false, false, false, false, 'P', "no-param",
0,
"Disable parameter support in decoded KMP text files."
@@ -393,7 +404,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 == 41
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 43
//----- global options -----
@@ -698,7 +709,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 == 80
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 82
};
@@ -1048,6 +1059,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "no-param", 0, 0, 'P' },
{ "noparam", 0, 0, 'P' },
{ "no-echo", 0, 0, GO_NO_ECHO },
@@ -1185,19 +1200,21 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x0aa */ OPT_NO_WILDCARDS,
+ /* 0x0ab */ OPT_IN_ORDER,
+ /* 0x0ac */ OPT_NO_ECHO,
+ /* 0x0ad */ OPT_UTF_8,
+ /* 0x0ae */ OPT_NO_UTF_8,
+ /* 0x0af */ OPT_FORCE,
+ /* 0x0b0 */ OPT_REPAIR_MAGICS,
+ /* 0x0b1 */ OPT_TINY,
+ /* 0x0b2 */ OPT_OLD,
+ /* 0x0b3 */ OPT_STD,
+ /* 0x0b4 */ OPT_NEW,
+ /* 0x0b5 */ OPT_EXTRACT,
+ /* 0x0b6 */ OPT_NUMBER,
+ /* 0x0b7 */ OPT_SECTIONS,
+ /* 0x0b8 */ 0,0,0,0, 0,0,0,0,
/* 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,
@@ -1213,202 +1230,202 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[41] = // cmd #1
+static u8 option_allowed_cmd_VERSION[43] = // 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, 1,0,1,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1
};
-static u8 option_allowed_cmd_HELP[41] = // cmd #2
+static u8 option_allowed_cmd_HELP[43] = // 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
};
-static u8 option_allowed_cmd_CONFIG[41] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[43] = // 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, 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
};
-static u8 option_allowed_cmd_ARGTEST[41] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[43] = // 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
};
-static u8 option_allowed_cmd_EXPAND[41] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[43] = // 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
};
-static u8 option_allowed_cmd_TEST[41] = // cmd #6
+static u8 option_allowed_cmd_TEST[43] = // 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
};
-static u8 option_allowed_cmd_COLORS[41] = // cmd #7
+static u8 option_allowed_cmd_COLORS[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_ERROR[41] = // cmd #8
+static u8 option_allowed_cmd_ERROR[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[41] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[41] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_SYMBOLS[41] = // cmd #11
+static u8 option_allowed_cmd_SYMBOLS[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[41] = // cmd #12
+static u8 option_allowed_cmd_FUNCTIONS[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_CALCULATE[41] = // cmd #13
+static u8 option_allowed_cmd_CALCULATE[43] = // 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
};
-static u8 option_allowed_cmd_MATRIX[41] = // cmd #14
+static u8 option_allowed_cmd_MATRIX[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FLOAT[41] = // cmd #15
+static u8 option_allowed_cmd_FLOAT[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_EXPORT[41] = // cmd #16
+static u8 option_allowed_cmd_EXPORT[43] = // 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
};
-static u8 option_allowed_cmd_CAT[41] = // cmd #17
+static u8 option_allowed_cmd_CAT[43] = // 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
+ 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,1,1,
+ 0,1,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_DECODE[41] = // cmd #18
+static u8 option_allowed_cmd_DECODE[43] = // 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
+ 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,1,1,
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,0
};
-static u8 option_allowed_cmd_ENCODE[41] = // cmd #19
+static u8 option_allowed_cmd_ENCODE[43] = // 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
+ 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,1,1,
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,0
};
-static u8 option_allowed_cmd_COPY[41] = // cmd #20
+static u8 option_allowed_cmd_COPY[43] = // 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
+ 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,1,1,
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,0
};
-static u8 option_allowed_cmd_CFF[41] = // cmd #21
+static u8 option_allowed_cmd_CFF[43] = // 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
+ 0,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,1,1,
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,0
};
-static u8 option_allowed_cmd_TYPES[41] = // cmd #22
+static u8 option_allowed_cmd_TYPES[43] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FLAGS[41] = // cmd #23
+static u8 option_allowed_cmd_FLAGS[43] = // 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
+ 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,1,1,
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_DUMP[41] = // cmd #24
+static u8 option_allowed_cmd_DUMP[43] = // 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
+ 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,1,1,
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_DBRIEF[41] = // cmd #25
+static u8 option_allowed_cmd_DBRIEF[43] = // 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
+ 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,1,1,
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_LIST[41] = // cmd #26
+static u8 option_allowed_cmd_LIST[43] = // 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
+ 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,1,1,
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_TRIANGLES[41] = // cmd #27
+static u8 option_allowed_cmd_TRIANGLES[43] = // 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
+ 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,1,1,
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_TRAVERSE[41] = // cmd #28
+static u8 option_allowed_cmd_TRAVERSE[43] = // 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
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_FALL[41] = // cmd #29
+static u8 option_allowed_cmd_FALL[43] = // 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
+ 0,0,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_CHECK[41] = // cmd #30
+static u8 option_allowed_cmd_CHECK[43] = // 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
+ 0,0,0,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,1,1,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_SHA1[41] = // cmd #31
+static u8 option_allowed_cmd_SHA1[43] = // 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
+ 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,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_ANALYZE[41] = // cmd #32
+static u8 option_allowed_cmd_ANALYZE[43] = // 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
+ 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,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,0
};
-static u8 option_allowed_cmd_BLOW[41] = // cmd #33
+static u8 option_allowed_cmd_BLOW[43] = // 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
+ 0,0,0,0,0, 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,1,0
};
@@ -1523,8 +1540,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1609,9 +1628,14 @@ static const InfoOption_t * option_tab_cmd_EXPORT[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1644,6 +1668,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1657,7 +1687,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1690,6 +1719,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1703,7 +1738,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1736,6 +1770,12 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
static const InfoOption_t * option_tab_cmd_COPY[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1749,7 +1789,6 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1782,6 +1821,12 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
static const InfoOption_t * option_tab_cmd_CFF[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_CFF_LONG,
&option_cmd_CFF_BRIEF,
OptionInfo + OPT_DEST,
@@ -1797,7 +1842,6 @@ static const InfoOption_t * option_tab_cmd_CFF[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1817,9 +1861,14 @@ static const InfoOption_t * option_tab_cmd_TYPES[] =
static const InfoOption_t * option_tab_cmd_FLAGS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_HEADER,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
&option_cmd_FLAGS_BRIEF,
OptionInfo + OPT_NONE, // separator
@@ -1853,7 +1902,12 @@ static const InfoOption_t * option_tab_cmd_FLAGS[] =
static const InfoOption_t * option_tab_cmd_DUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_CHECK,
&option_cmd_DUMP_BRIEF,
&option_cmd_DUMP_LONG,
@@ -1889,7 +1943,12 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
static const InfoOption_t * option_tab_cmd_DBRIEF[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_CHECK,
&option_cmd_DUMP_BRIEF,
&option_cmd_DUMP_LONG,
@@ -1925,7 +1984,12 @@ static const InfoOption_t * option_tab_cmd_DBRIEF[] =
static const InfoOption_t * option_tab_cmd_LIST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_CHECK,
OptionInfo + OPT_NONE, // separator
@@ -1959,7 +2023,12 @@ static const InfoOption_t * option_tab_cmd_LIST[] =
static const InfoOption_t * option_tab_cmd_TRIANGLES[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NO_CHECK,
&option_cmd_TRIANGLES_BRIEF,
&option_cmd_TRIANGLES_LONG,
@@ -2067,6 +2136,12 @@ static const InfoOption_t * option_tab_cmd_FALL[] =
static const InfoOption_t * option_tab_cmd_CHECK[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
&option_cmd_CHECK_BRIEF,
@@ -2074,14 +2149,18 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
&option_cmd_CHECK_QUIET,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_SHA1[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ID,
OptionInfo + OPT_BASE64,
OptionInfo + OPT_DB64,
@@ -2119,6 +2198,8 @@ static const InfoOption_t * option_tab_cmd_SHA1[] =
static const InfoOption_t * option_tab_cmd_ANALYZE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -2152,6 +2233,8 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] =
static const InfoOption_t * option_tab_cmd_BLOW[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
0
@@ -2258,10 +2341,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -2323,9 +2403,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -2464,11 +2546,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkclt CAT source...",
"Read the entered KCL and OBJ files and print them as OBJ files to"
- " standard output. The output of all source files is concatenated.\n"
+ " standard output. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The output of all"
+ " source files is concatenated.\n"
" Automated dropping of bad KCL triangles is enabled if no other drop"
" option is specified by option --kcl.",
0,
- 26,
+ 28,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -2480,12 +2564,14 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DECODE",
"DEC",
"wkclt DECODE source...",
- "Read the entered KCL and OBJ files and export them to OBJ files. The"
- " default destination is '%P/%N.txt'.\n"
+ "Read the entered KCL and OBJ files and export them to OBJ files."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.txt'.\n"
" Automated dropping of bad KCL triangles is enabled if no other drop"
" option is specified by option --kcl.",
0,
- 34,
+ 36,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -2498,10 +2584,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ENC",
"wkclt ENCODE source...",
"Read the entered KCL and OBJ files and encode (compile) them to"
- " binary KCL files. The default destination is '%P/%N.kcl'.\n"
+ " binary KCL files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.kcl'.\n"
" See https://szs.wiimm.de/doc/kcl for encoding details.",
0,
- 34,
+ 36,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -2516,7 +2604,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wkclt COPY source... [-d|-D] dest",
"Copy and convert a collision file from 'source' to 'dest'. Multiple"
" KCL and OBJ sources can be used, if 'dest' is a directory or"
- " contains at least one %-pattern.\n"
+ " contains at least one %-pattern. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.\n"
" This is an alternative for the DECODE and ENCODE commands. The"
" default destination file format is selected by scanning the file"
" extension of the destination. Is it '.kcl', a binary KCL file is"
@@ -2525,7 +2614,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" Automated dropping of bad KCL triangles is enabled if no other drop"
" option is specified and the destination is an OBJ file.",
0,
- 34,
+ 36,
option_tab_cmd_COPY,
option_allowed_cmd_COPY
},
@@ -2538,10 +2627,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkclt CFF source...",
"CFF is an abbreviation of 'create flag file' and will create a flag"
- " file template for each entered source file. If the flag file already"
- " exists, only missing group names are added at the end of file.",
+ " file template for each entered source file. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. If the flag file already exists, only missing group names"
+ " are added at the end of file.",
0,
- 15,
+ 17,
option_tab_cmd_CFF,
option_allowed_cmd_CFF
},
@@ -2574,9 +2665,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"F",
"wkclt FLAGS source...",
"Print a KCL type and flag usage statistic for each source to standard"
- " output.",
+ " output. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 27,
+ 29,
option_tab_cmd_FLAGS,
option_allowed_cmd_FLAGS
},
@@ -2590,10 +2682,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wkclt DUMP source...",
"This debugging command prints an information dump about the internal"
" triangle data base and the octree in human and machine readable text"
- " format. The output of all source files is concatenated and printed"
- " to standard output.",
+ " format. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The output of all"
+ " source files is concatenated and printed to standard output.",
0,
- 27,
+ 29,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -2609,7 +2702,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" triangle list is suppressed and only the header data and statistics"
" are printed.",
0,
- 27,
+ 29,
option_tab_cmd_DBRIEF,
option_allowed_cmd_DBRIEF
},
@@ -2623,10 +2716,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wkclt LIST source...",
"This debugging command prints a list of all triangles with metrics in"
" human and machine readable text format. It is like DUMP, but reduced"
- " to the list of triangles. The output of all source files is"
- " concatenated and printed to standard output.",
+ " to the list of triangles. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details. The output of"
+ " all source files is concatenated and printed to standard output.",
0,
- 25,
+ 27,
option_tab_cmd_LIST,
option_allowed_cmd_LIST
},
@@ -2640,11 +2734,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wkclt TRIANGLES source...",
"This debugging commands prints one data line for each triangle. The"
" goal is to compare data. Therefor and to create smaller lines the"
- " precision of the floating points numbers is reduced.\n"
+ " precision of the floating points numbers is reduced. Wildcards and"
+ " pipe characters are parsed, see https://szs.wiimm.de/doc/wildcards"
+ " for details.\n"
" The print order is: flag used length | 3 points | 4 normals. For"
" each point and normal 3 coordinates are printed.",
0,
- 27,
+ 29,
option_tab_cmd_TRIANGLES,
option_allowed_cmd_TRIANGLES
},
@@ -2690,11 +2786,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CHK",
"wkclt CHECK source...",
"Read the entered KCL files (text or binary) and and make a"
- " plausibility check. Hints and warnings are written to standard"
- " output. The exit status is 'DIFFER' if at least one KMP warning"
- " found.",
+ " plausibility check. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. Hints and warnings"
+ " are written to standard output. The exit status is 'DIFFER' if at"
+ " least one KMP warning found.",
0,
- 8,
+ 10,
option_tab_cmd_CHECK,
option_allowed_cmd_CHECK
},
@@ -2706,10 +2803,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"SHA1",
0,
"wszst SHA1 [source]...",
- "Print a SHA1 checksum of the KCL for each source. The checksum is"
- " calculated after patching.",
+ "Print a SHA1 checksum of the KCL for each source. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The checksum is calculated after patching.",
0,
- 29,
+ 31,
option_tab_cmd_SHA1,
option_allowed_cmd_SHA1
},
@@ -2721,9 +2819,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ANALYZE",
0,
"wkclt ANALYZE source...",
- "Analyze some KCL data.",
+ "Analyze some KCL data. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 24,
+ 26,
option_tab_cmd_ANALYZE,
option_allowed_cmd_ANALYZE
},
@@ -2735,10 +2834,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"BLOW",
0,
"wkclt BLOW source...",
- "Try to calculate the used blow size (KCL_BLOW) of a KCL. Print one"
- " line for each source file.",
+ "Try to calculate the used blow size (KCL_BLOW) of a KCL. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. Print one line for"
+ " each source file.",
0,
- 1,
+ 3,
option_tab_cmd_BLOW,
option_allowed_cmd_BLOW
},
diff --git a/project/src/ui/ui-wkclt.h b/project/src/ui/ui-wkclt.h
index 2efc4bc..5ca1b18 100644
--- a/project/src/ui/ui-wkclt.h
+++ b/project/src/ui/ui-wkclt.h
@@ -83,6 +83,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_NO_PARAM,
OPT_NO_ECHO,
OPT_NO_CHECK,
@@ -97,7 +99,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 41
+ OPT__N_SPECIFIC, // == 43
//----- global options -----
@@ -141,7 +143,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 80
+ OPT__N_TOTAL // == 82
} enumOptions;
@@ -183,6 +185,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_NO_PARAM = 1llu << OPT_NO_PARAM,
// OB_NO_ECHO = 1llu << OPT_NO_ECHO,
// OB_NO_CHECK = 1llu << OPT_NO_CHECK,
@@ -255,8 +259,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -276,39 +282,49 @@ typedef enum enumOptions
//
// OB_CMD_EXPORT = 0,
//
-// OB_CMD_CAT = OB_NO_ECHO
-// | OB_NO_CHECK
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_NO_ECHO
+// | OB_NO_CHECK
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_DECODE = OB_GRP_DEST
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
// OB_CMD_ENCODE = OB_CMD_DECODE,
//
// OB_CMD_COPY = OB_CMD_ENCODE,
//
-// OB_CMD_CFF = OB_LONG
+// OB_CMD_CFF = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG
// | OB_BRIEF
// | OB_GRP_DEST
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_FLAG_FILE,
//
// OB_CMD_TYPES = OB_NO_HEADER
// | OB_BRIEF,
//
-// OB_CMD_FLAGS = OB_NO_HEADER
-// | OB_NO_CHECK
+// OB_CMD_FLAGS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_NO_HEADER
+// | OB_NO_CHECK
// | OB_BRIEF
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_DUMP = OB_IGNORE
+// OB_CMD_DUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_CHECK
// | OB_BRIEF
// | OB_LONG
@@ -316,11 +332,15 @@ typedef enum enumOptions
//
// OB_CMD_DBRIEF = OB_CMD_DUMP,
//
-// OB_CMD_LIST = OB_IGNORE
+// OB_CMD_LIST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_CHECK
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_TRIANGLES = OB_IGNORE
+// OB_CMD_TRIANGLES = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_CHECK
// | OB_BRIEF
// | OB_LONG
@@ -338,13 +358,17 @@ typedef enum enumOptions
// | OB_LONG
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_CHECK = OB_BRIEF
+// OB_CMD_CHECK = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_BRIEF
// | OB_LONG
// | OB_NO_ECHO
-// | OB_NO_CHECK
-// | OB_IGNORE,
+// | OB_NO_CHECK,
//
-// OB_CMD_SHA1 = OB_IGNORE
+// OB_CMD_SHA1 = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_ID
// | OB_BASE64
// | OB_DB64
@@ -352,10 +376,14 @@ typedef enum enumOptions
// | OB_BRIEF
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_ANALYZE = OB_IGNORE
+// OB_CMD_ANALYZE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_BLOW = OB_IGNORE,
+// OB_CMD_BLOW = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE,
//
//} enumOptionsBit;
@@ -486,6 +514,8 @@ typedef enum enumGetOpt
GO_DB64,
GO_CODING,
GO_ROUND,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_NO_ECHO,
GO_UTF_8,
GO_NO_UTF_8,
diff --git a/project/src/ui/ui-wkmpt.c b/project/src/ui/ui-wkmpt.c
index 0e908e5..46a9657 100644
--- a/project/src/ui/ui-wkmpt.c
+++ b/project/src/ui/ui-wkmpt.c
@@ -375,6 +375,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" unneeded sections is also suppressed."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_EXPORT, false, false, false, false, false, 'X', "export",
0,
"Enable the export mode and create small and machine readable text"
@@ -485,7 +496,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 == 49
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 51
//----- global options -----
@@ -749,11 +760,18 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" The other allowed keywords are: FORCE, NEW, RM-SPCITEM, LEFT, RIGHT,"
" WIDE, NARROW, FIX-CKPH, FIX-ENPH, FIX-ITPH, FIX-PH, FIX-CKNEXT,"
" FIX-CKJGPT, FIX-CK, FIX-ALL, MASK-PFLAGS, RM-LECODE, PURGE-GOBJ,"
- " FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP ... 9LAPS,"
- " MAX-LAPS, RM-EMPTY, TINY-0 ... TINY-7, INPLACE, SILENT and LOG. See"
+ " FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP .. 9LAPS,"
+ " MAX-LAPS, RM-EMPTY, TINY-0 .. TINY-7, INPLACE, SILENT and LOG. See"
" https://szs.wiimm.de/opt/kmp for details."
},
+ { OPT_N_LAPS, false, true, false, false, false, 0, "n-laps",
+ "laps",
+ "If LAPS is a number between 1 and 9, then ignore laps settings of"
+ " option --kmp (1LAP..9LAPS) and patch KMP:STGI to this number of"
+ " laps."
+ },
+
{ OPT_SPEED_MOD, false, false, false, false, false, 0, "speed-mod",
"factor",
"The speed modifier is a user extensions to change the basic speed of"
@@ -895,7 +913,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 == 97
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 100
};
@@ -1269,6 +1287,8 @@ static const struct option OptionLong[] =
{ "xtridata", 2, 0, GO_XTRIDATA },
{ "xtri", 2, 0, GO_XTRIDATA },
{ "kmp", 1, 0, GO_KMP },
+ { "n-laps", 1, 0, GO_N_LAPS },
+ { "nlaps", 1, 0, GO_N_LAPS },
{ "speed-mod", 1, 0, GO_SPEED_MOD },
{ "speedmod", 1, 0, GO_SPEED_MOD },
{ "ktpt2", 1, 0, GO_KTPT2 },
@@ -1285,6 +1305,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "export", 0, 0, 'X' },
{ "no-param", 0, 0, 'P' },
{ "noparam", 0, 0, 'P' },
@@ -1434,27 +1458,30 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x0b0 */ OPT_N_LAPS,
+ /* 0x0b1 */ OPT_SPEED_MOD,
+ /* 0x0b2 */ OPT_KTPT2,
+ /* 0x0b3 */ OPT_TFORM_KMP,
+ /* 0x0b4 */ OPT_REPAIR_XPF,
+ /* 0x0b5 */ OPT_GAMEMODES,
+ /* 0x0b6 */ OPT_ROUND,
+ /* 0x0b7 */ OPT_NO_WILDCARDS,
+ /* 0x0b8 */ OPT_IN_ORDER,
+ /* 0x0b9 */ OPT_EPSILON,
+ /* 0x0ba */ OPT_DIFF,
+ /* 0x0bb */ OPT_NO_ECHO,
+ /* 0x0bc */ OPT_UTF_8,
+ /* 0x0bd */ OPT_NO_UTF_8,
+ /* 0x0be */ OPT_FORCE,
+ /* 0x0bf */ OPT_REPAIR_MAGICS,
+ /* 0x0c0 */ OPT_TINY,
+ /* 0x0c1 */ OPT_OLD,
+ /* 0x0c2 */ OPT_STD,
+ /* 0x0c3 */ OPT_NEW,
+ /* 0x0c4 */ OPT_EXTRACT,
+ /* 0x0c5 */ OPT_NUMBER,
+ /* 0x0c6 */ OPT_SECTIONS,
+ /* 0x0c7 */ 0,0,0,0, 0,0,0,0, 0,
/* 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,
@@ -1469,190 +1496,190 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[49] = // cmd #1
+static u8 option_allowed_cmd_VERSION[51] = // 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,1,
- 0,1,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, 1
};
-static u8 option_allowed_cmd_HELP[49] = // cmd #2
+static u8 option_allowed_cmd_HELP[51] = // 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
};
-static u8 option_allowed_cmd_CONFIG[49] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[51] = // 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,1,
- 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_ARGTEST[49] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[51] = // cmd #4
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1
};
-static u8 option_allowed_cmd_EXPAND[49] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[51] = // 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
};
-static u8 option_allowed_cmd_TEST[49] = // cmd #6
+static u8 option_allowed_cmd_TEST[51] = // 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
};
-static u8 option_allowed_cmd_COLORS[49] = // cmd #7
+static u8 option_allowed_cmd_COLORS[51] = // 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
+ 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_ERROR[49] = // cmd #8
+static u8 option_allowed_cmd_ERROR[51] = // 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
+ 1,1,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[49] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[51] = // 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
+ 0,0,1,1,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 #10
+static u8 option_allowed_cmd_FILEATTRIB[51] = // 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
+ 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_SYMBOLS[49] = // cmd #11
+static u8 option_allowed_cmd_SYMBOLS[51] = // 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
+ 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_FUNCTIONS[49] = // cmd #12
+static u8 option_allowed_cmd_FUNCTIONS[51] = // 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
+ 1,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_CALCULATE[49] = // cmd #13
+static u8 option_allowed_cmd_CALCULATE[51] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_MATRIX[49] = // cmd #14
+static u8 option_allowed_cmd_MATRIX[51] = // 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
+ 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_FLOAT[49] = // cmd #15
+static u8 option_allowed_cmd_FLOAT[51] = // 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
+ 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_STARTPOS[49] = // cmd #16
+static u8 option_allowed_cmd_STARTPOS[51] = // 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
+ 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 #17
+static u8 option_allowed_cmd_OBJECTS[51] = // 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
+ 1,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_EXPORT[49] = // cmd #18
+static u8 option_allowed_cmd_EXPORT[51] = // 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
+ 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 #19
+static u8 option_allowed_cmd_XEXPORT[51] = // cmd #19
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0
};
-static u8 option_allowed_cmd_CAT[49] = // cmd #20
+static u8 option_allowed_cmd_CAT[51] = // 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
+ 1,1,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 #21
+static u8 option_allowed_cmd_DECODE[51] = // 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
+ 1,1,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 #22
+static u8 option_allowed_cmd_ENCODE[51] = // 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
+ 0,0,1,1,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 #23
+static u8 option_allowed_cmd_DIFF[51] = // 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
+ 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 #24
+static u8 option_allowed_cmd_DRAW[51] = // 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
+ 1,1,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 #25
+static u8 option_allowed_cmd_CHECK[51] = // 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
+ 0,1,1,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 #26
+static u8 option_allowed_cmd_STGI[51] = // 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
+ 1,0,1,1,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 #27
+static u8 option_allowed_cmd_KTPT[51] = // 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
+ 0,0,1,1,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 #28
+static u8 option_allowed_cmd_ROUTES[51] = // 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
+ 1,0,1,1,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 #29
+static u8 option_allowed_cmd_GOBJ[51] = // 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
+ 1,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 #30
+static u8 option_allowed_cmd_GAMEMODES[51] = // 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
+ 1,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 #31
+static u8 option_allowed_cmd_WIM0[51] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0
};
@@ -1776,8 +1803,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1920,6 +1949,12 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_EXPORT,
@@ -1931,7 +1966,6 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
OptionInfo + OPT_WIM0,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1966,6 +2000,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1988,7 +2028,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_WIM0,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -2023,6 +2062,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -2036,7 +2081,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -2086,10 +2130,19 @@ static const InfoOption_t * option_tab_cmd_DIFF[] =
static const InfoOption_t * option_tab_cmd_DRAW[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DRAW,
OptionInfo + OPT_POS_MODE,
OptionInfo + OPT_POS_FILE,
OptionInfo + OPT_PNG,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -2112,7 +2165,6 @@ static const InfoOption_t * option_tab_cmd_DRAW[] =
OptionInfo + OPT_WIM0,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -2148,6 +2200,12 @@ static const InfoOption_t * option_tab_cmd_DRAW[] =
static const InfoOption_t * option_tab_cmd_CHECK[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
&option_cmd_CHECK_BRIEF,
@@ -2156,27 +2214,36 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_GENERIC,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_STGI[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ &option_cmd_STGI_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_NO_HEADER,
- &option_cmd_STGI_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_KTPT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ &option_cmd_KTPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_KTPT2,
- &option_cmd_KTPT_IGNORE,
&option_cmd_KTPT_LONG,
0
@@ -2184,17 +2251,27 @@ static const InfoOption_t * option_tab_cmd_KTPT[] =
static const InfoOption_t * option_tab_cmd_ROUTES[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ &option_cmd_ROUTES_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_NO_HEADER,
- &option_cmd_ROUTES_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_GOBJ[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_GOBJ_NO_HEADER,
&option_cmd_GOBJ_BRIEF,
&option_cmd_GOBJ_LONG,
@@ -2204,7 +2281,12 @@ static const InfoOption_t * option_tab_cmd_GOBJ[] =
static const InfoOption_t * option_tab_cmd_GAMEMODES[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_GAMEMODES,
&option_cmd_GAMEMODES_NO_HEADER,
&option_cmd_GAMEMODES_BRIEF,
@@ -2322,10 +2404,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -2387,9 +2466,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -2585,10 +2666,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkmpt CAT [source]...",
"Read the entered KMP files (text, binary or szs) and print them as"
- " decoded text files to standard output. The output of all source"
- " files is concatenated.",
+ " decoded text files to standard output. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details. The"
+ " output of all source files is concatenated.",
0,
- 37,
+ 39,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -2601,9 +2683,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DEC",
"wkmpt DECODE [source]...",
"Read the entered KMP files (text or binary) and decode them to text"
- " files. The default destination is '%P/%N.txt'.",
+ " files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.txt'.",
0,
- 45,
+ 47,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -2616,9 +2700,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ENC",
"wkmpt ENCODE source...",
"Read the entered KMP files (text or binary) and encode (compile) them"
- " to binary files. The default destination is '%P/%N.kmp'.",
+ " to binary files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.kmp'.",
0,
- 40,
+ 42,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -2654,12 +2740,14 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"D",
"wkmpt DRAW source...",
"Read the entered KMP files (text or binary), of needed load the"
- " related KCL file, draw KMP objects and create an OBJ file. The"
- " default destination is '%P/%N.kmp.obj'.\n"
+ " related KCL file, draw KMP objects and create an OBJ file. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.kmp.obj'.\n"
" Automated dropping of bad KCL triangles is enabled if no drop"
" option is specified by option --kcl.",
0,
- 50,
+ 52,
option_tab_cmd_DRAW,
option_allowed_cmd_DRAW
},
@@ -2672,11 +2760,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"CHK",
"wkmpt CHECK source...",
"Read the entered KMP files (text or binary) and and make a"
- " plausibility check. Hints and warnings are written to standard"
- " output. The exit status is 'DIFFER' if at least one KMP warning"
- " found.",
+ " plausibility check. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. Hints and warnings"
+ " are written to standard output. The exit status is 'DIFFER' if at"
+ " least one KMP warning found.",
0,
- 9,
+ 11,
option_tab_cmd_CHECK,
option_allowed_cmd_CHECK
},
@@ -2691,9 +2780,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Find the first KMP:STGI of each file and print an analysis of it as"
" single line statistic. Additional the number of lap counter check"
" points ('LC') is printed. Track and KMP (binary and text) files are"
- " accepted as input.",
+ " accepted as input. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 4,
+ 6,
option_tab_cmd_STGI,
option_allowed_cmd_STGI
},
@@ -2711,7 +2801,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" This command is dedicated to LE-CODE, which supports an alternative"
" position for the finish line at the minimap.",
0,
- 5,
+ 7,
option_tab_cmd_KTPT,
option_allowed_cmd_KTPT
},
@@ -2724,9 +2814,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkmpt ROUTES file...",
"Print the internal cross references for routes of KMP sections CKPH,"
- " CKPT, ENPH, ENPT, ITPH and ITPT.",
+ " CKPT, ENPH, ENPT, ITPH and ITPT. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 4,
+ 6,
option_tab_cmd_ROUTES,
option_allowed_cmd_ROUTES
},
@@ -2739,9 +2830,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wkmpt GOBJ [source]...",
"Analyze the objects of KMP section GOBJ and print a status line for"
- " each object. ...",
+ " each object. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 4,
+ 6,
option_tab_cmd_GOBJ,
option_allowed_cmd_GOBJ
},
@@ -2757,9 +2849,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" support and print a list. The lists consists of index, scenario"
" version and scenario name. Scenario versions are only equal, if the"
" scenarios are duplicates. Duplicates happens only, if --gamemodes"
- " option TT or FULL is set.",
+ " option TT or FULL is set. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 5,
+ 7,
option_tab_cmd_GAMEMODES,
option_allowed_cmd_GAMEMODES
},
diff --git a/project/src/ui/ui-wkmpt.h b/project/src/ui/ui-wkmpt.h
index 78795d9..d5b9d48 100644
--- a/project/src/ui/ui-wkmpt.h
+++ b/project/src/ui/ui-wkmpt.h
@@ -87,6 +87,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_EXPORT,
OPT_NO_PARAM,
OPT_EPSILON,
@@ -105,7 +107,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 49
+ OPT__N_SPECIFIC, // == 51
//----- global options -----
@@ -141,6 +143,7 @@ typedef enum enumOptions
OPT_TRI_HEIGHT,
OPT_XTRIDATA,
OPT_KMP,
+ OPT_N_LAPS,
OPT_SPEED_MOD,
OPT_KTPT2,
OPT_TFORM_KMP,
@@ -158,7 +161,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 97
+ OPT__N_TOTAL // == 100
} enumOptions;
@@ -204,6 +207,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_EXPORT = 1llu << OPT_EXPORT,
// OB_NO_PARAM = 1llu << OPT_NO_PARAM,
// OB_EPSILON = 1llu << OPT_EPSILON,
@@ -282,8 +287,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -311,23 +318,29 @@ typedef enum enumOptions
//
// OB_CMD_XEXPORT = 0,
//
-// OB_CMD_CAT = OB_GRP_TEXTOUT
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_DECODE = OB_GRP_DEST
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_ENCODE = OB_GRP_DEST
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
// OB_CMD_DIFF = OB_EPSILON
@@ -335,35 +348,52 @@ typedef enum enumOptions
// | OB_DEST
// | OB_ESC,
//
-// OB_CMD_DRAW = OB_DRAW
+// OB_CMD_DRAW = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_DRAW
// | OB_POS_MODE
// | OB_POS_FILE
// | OB_PNG
// | OB_CMD_DECODE
// | OB_KCL_SCRIPT,
//
-// OB_CMD_CHECK = OB_BRIEF
+// OB_CMD_CHECK = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_BRIEF
// | OB_LONG
// | OB_NO_ECHO
// | OB_GENERIC
-// | OB_NO_CHECK
-// | OB_IGNORE,
+// | OB_NO_CHECK,
//
-// OB_CMD_STGI = OB_NO_HEADER
-// | OB_IGNORE,
+// OB_CMD_STGI = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_NO_HEADER,
//
-// OB_CMD_KTPT = OB_IGNORE
+// OB_CMD_KTPT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_LONG,
//
-// OB_CMD_ROUTES = OB_NO_HEADER
-// | OB_IGNORE,
+// OB_CMD_ROUTES = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_NO_HEADER,
//
-// OB_CMD_GOBJ = OB_IGNORE
+// OB_CMD_GOBJ = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_LONG,
//
-// OB_CMD_GAMEMODES = OB_IGNORE
+// OB_CMD_GAMEMODES = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_GAMEMODES
// | OB_NO_HEADER
// | OB_BRIEF
@@ -508,12 +538,15 @@ typedef enum enumGetOpt
GO_FLAG_FILE,
GO_XTRIDATA,
GO_KMP,
+ GO_N_LAPS,
GO_SPEED_MOD,
GO_KTPT2,
GO_TFORM_KMP,
GO_REPAIR_XPF,
GO_GAMEMODES,
GO_ROUND,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_EPSILON,
GO_DIFF,
GO_NO_ECHO,
diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c
index 551d201..b6fe0ba 100644
--- a/project/src/ui/ui-wlect.c
+++ b/project/src/ui/ui-wlect.c
@@ -89,6 +89,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Suppress cross reference comments."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_EXPORT, false, false, false, false, false, 'X', "export",
0,
"Enable the export mode and create small and machine readable text"
@@ -387,7 +398,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 == 47
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 49
//----- global options -----
@@ -673,7 +684,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 == 87
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 89
};
@@ -891,6 +902,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "export", 0, 0, 'X' },
{ "no-param", 0, 0, 'P' },
{ "noparam", 0, 0, 'P' },
@@ -1064,51 +1079,52 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08f */ OPT_PLUS,
/* 0x090 */ OPT_CHDIR,
/* 0x091 */ OPT_ROUND,
- /* 0x092 */ OPT_NO_ECHO,
- /* 0x093 */ OPT_UTF_8,
- /* 0x094 */ OPT_NO_UTF_8,
- /* 0x095 */ OPT_LT_CLEAR,
- /* 0x096 */ OPT_LT_ONLINE,
- /* 0x097 */ OPT_LT_N_PLAYERS,
- /* 0x098 */ OPT_LT_COND_BIT,
- /* 0x099 */ OPT_LT_GAME_MODE,
- /* 0x09a */ OPT_LT_ENGINE,
- /* 0x09b */ OPT_LT_RANDOM,
- /* 0x09c */ OPT_LEX_PURGE,
- /* 0x09d */ OPT_LEX_RM_FEAT,
- /* 0x09e */ OPT_FORCE,
- /* 0x09f */ OPT_REPAIR_MAGICS,
- /* 0x0a0 */ OPT_CREATE_DISTRIB,
- /* 0x0a1 */ OPT_OLD,
- /* 0x0a2 */ OPT_STD,
- /* 0x0a3 */ OPT_NEW,
- /* 0x0a4 */ OPT_EXTRACT,
- /* 0x0a5 */ OPT_LE_DEFINE,
- /* 0x0a6 */ OPT_LE_ARENA,
- /* 0x0a7 */ OPT_LPAR,
- /* 0x0a8 */ OPT_ALIAS,
- /* 0x0a9 */ OPT_ENGINE,
- /* 0x0aa */ OPT_200CC,
- /* 0x0ab */ OPT_PERFMON,
- /* 0x0ac */ OPT_CUSTOM_TT,
- /* 0x0ad */ OPT_XPFLAGS,
- /* 0x0ae */ OPT_SPEEDOMETER,
- /* 0x0af */ OPT_DEBUG,
- /* 0x0b0 */ OPT_TRACK_DIR,
- /* 0x0b1 */ OPT_COPY_TRACKS,
- /* 0x0b2 */ OPT_MOVE_TRACKS,
- /* 0x0b3 */ OPT_MOVE1_TRACKS,
- /* 0x0b4 */ OPT_LINK_TRACKS,
- /* 0x0b5 */ OPT_SZS_MODE,
- /* 0x0b6 */ OPT_LOAD_BMG,
- /* 0x0b7 */ OPT_PATCH_BMG,
- /* 0x0b8 */ OPT_MACRO_BMG,
- /* 0x0b9 */ OPT_PATCH_NAMES,
- /* 0x0ba */ OPT_ORDER_BY,
- /* 0x0bb */ OPT_ORDER_ALL,
- /* 0x0bc */ OPT_NUMBER,
- /* 0x0bd */ OPT_SECTIONS,
- /* 0x0be */ 0,0,
+ /* 0x092 */ OPT_NO_WILDCARDS,
+ /* 0x093 */ OPT_IN_ORDER,
+ /* 0x094 */ OPT_NO_ECHO,
+ /* 0x095 */ OPT_UTF_8,
+ /* 0x096 */ OPT_NO_UTF_8,
+ /* 0x097 */ OPT_LT_CLEAR,
+ /* 0x098 */ OPT_LT_ONLINE,
+ /* 0x099 */ OPT_LT_N_PLAYERS,
+ /* 0x09a */ OPT_LT_COND_BIT,
+ /* 0x09b */ OPT_LT_GAME_MODE,
+ /* 0x09c */ OPT_LT_ENGINE,
+ /* 0x09d */ OPT_LT_RANDOM,
+ /* 0x09e */ OPT_LEX_PURGE,
+ /* 0x09f */ OPT_LEX_RM_FEAT,
+ /* 0x0a0 */ OPT_FORCE,
+ /* 0x0a1 */ OPT_REPAIR_MAGICS,
+ /* 0x0a2 */ OPT_CREATE_DISTRIB,
+ /* 0x0a3 */ OPT_OLD,
+ /* 0x0a4 */ OPT_STD,
+ /* 0x0a5 */ OPT_NEW,
+ /* 0x0a6 */ OPT_EXTRACT,
+ /* 0x0a7 */ OPT_LE_DEFINE,
+ /* 0x0a8 */ OPT_LE_ARENA,
+ /* 0x0a9 */ OPT_LPAR,
+ /* 0x0aa */ OPT_ALIAS,
+ /* 0x0ab */ OPT_ENGINE,
+ /* 0x0ac */ OPT_200CC,
+ /* 0x0ad */ OPT_PERFMON,
+ /* 0x0ae */ OPT_CUSTOM_TT,
+ /* 0x0af */ OPT_XPFLAGS,
+ /* 0x0b0 */ OPT_SPEEDOMETER,
+ /* 0x0b1 */ OPT_DEBUG,
+ /* 0x0b2 */ OPT_TRACK_DIR,
+ /* 0x0b3 */ OPT_COPY_TRACKS,
+ /* 0x0b4 */ OPT_MOVE_TRACKS,
+ /* 0x0b5 */ OPT_MOVE1_TRACKS,
+ /* 0x0b6 */ OPT_LINK_TRACKS,
+ /* 0x0b7 */ OPT_SZS_MODE,
+ /* 0x0b8 */ OPT_LOAD_BMG,
+ /* 0x0b9 */ OPT_PATCH_BMG,
+ /* 0x0ba */ OPT_MACRO_BMG,
+ /* 0x0bb */ OPT_PATCH_NAMES,
+ /* 0x0bc */ OPT_ORDER_BY,
+ /* 0x0bd */ OPT_ORDER_ALL,
+ /* 0x0be */ OPT_NUMBER,
+ /* 0x0bf */ OPT_SECTIONS,
/* 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,
@@ -1124,184 +1140,184 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[47] = // cmd #1
+static u8 option_allowed_cmd_VERSION[49] = // cmd #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
+ 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[47] = // cmd #2
+static u8 option_allowed_cmd_HELP[49] = // 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
};
-static u8 option_allowed_cmd_CONFIG[47] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[49] = // cmd #3
{
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
};
-static u8 option_allowed_cmd_ARGTEST[47] = // cmd #4
+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,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_EXPAND[47] = // 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,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
+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,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 #7
+static u8 option_allowed_cmd_COLORS[49] = // cmd #7
{
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
};
-static u8 option_allowed_cmd_ERROR[47] = // cmd #8
+static u8 option_allowed_cmd_ERROR[49] = // cmd #8
{
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
+ 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 #9
+static u8 option_allowed_cmd_FILETYPE[49] = // 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, 1,0
+ 0,0,0,1,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[47] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[49] = // cmd #10
{
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,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 #11
+static u8 option_allowed_cmd_SYMBOLS[49] = // cmd #11
{
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,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 #12
+static u8 option_allowed_cmd_FUNCTIONS[49] = // 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
+ 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
+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,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 #14
+static u8 option_allowed_cmd_FLOAT[49] = // cmd #14
{
0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,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 #15
+static u8 option_allowed_cmd_EXPORT[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,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,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[47] = // cmd #16
+static u8 option_allowed_cmd_DPAD[49] = // 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,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DUMP[47] = // cmd #17
+static u8 option_allowed_cmd_DUMP[49] = // cmd #17
{
- 0,0,0,1,0, 1,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
+ 0,0,0,1,0, 1,1,1,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,1,0
};
-static u8 option_allowed_cmd_DB[47] = // cmd #18
+static u8 option_allowed_cmd_DB[49] = // cmd #18
{
- 0,0,0,1,0, 1,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
+ 0,0,0,1,0, 1,1,1,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,1,0
};
-static u8 option_allowed_cmd_DL[47] = // cmd #19
+static u8 option_allowed_cmd_DL[49] = // cmd #19
{
- 0,0,0,1,0, 1,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
+ 0,0,0,1,0, 1,1,1,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,1,0
};
-static u8 option_allowed_cmd_DLL[47] = // cmd #20
+static u8 option_allowed_cmd_DLL[49] = // cmd #20
{
- 0,0,0,1,0, 1,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
+ 0,0,0,1,0, 1,1,1,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,1,0
};
-static u8 option_allowed_cmd_DLLL[47] = // cmd #21
+static u8 option_allowed_cmd_DLLL[49] = // cmd #21
{
- 0,0,0,1,0, 1,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
+ 0,0,0,1,0, 1,1,1,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,1,0
};
-static u8 option_allowed_cmd_BIN_DIFF[47] = // cmd #22
+static u8 option_allowed_cmd_BIN_DIFF[49] = // 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
};
-static u8 option_allowed_cmd_PATCH[47] = // cmd #23
+static u8 option_allowed_cmd_PATCH[49] = // cmd #23
{
- 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
+ 0,0,0,0,0, 0,1,1,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_TIMESTAMP[47] = // cmd #24
+static u8 option_allowed_cmd_TIMESTAMP[49] = // 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,1,1,1, 1,1,1,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,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[47] = // cmd #25
+static u8 option_allowed_cmd_LPAR[49] = // cmd #25
{
- 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
+ 0,0,0,0,1, 1,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_CREATE[47] = // cmd #26
+static u8 option_allowed_cmd_CREATE[49] = // cmd #26
{
- 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
+ 0,0,0,0,1, 1,0,0,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_DISTRIBUTION[47] = // cmd #27
+static u8 option_allowed_cmd_DISTRIBUTION[49] = // cmd #27
{
- 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
+ 0,1,0,0,1, 1,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 1,1,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_CAT[47] = // cmd #28
+static u8 option_allowed_cmd_CAT[49] = // cmd #28
{
- 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
+ 0,0,0,0,1, 1,1,1,1,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0
};
-static u8 option_allowed_cmd_DECODE[47] = // cmd #29
+static u8 option_allowed_cmd_DECODE[49] = // cmd #29
{
- 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
+ 0,0,0,0,1, 1,1,1,1,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,1,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_ENCODE[47] = // cmd #30
+static u8 option_allowed_cmd_ENCODE[49] = // cmd #30
{
- 0,0,0,0,0, 0,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
+ 0,0,0,0,0, 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,1,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,0
};
@@ -1422,8 +1438,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1479,6 +1497,12 @@ static const InfoOption_t * option_tab_cmd_DPAD[] =
static const InfoOption_t * option_tab_cmd_DUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1502,6 +1526,12 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
static const InfoOption_t * option_tab_cmd_DB[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1525,6 +1555,12 @@ static const InfoOption_t * option_tab_cmd_DB[] =
static const InfoOption_t * option_tab_cmd_DL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1548,6 +1584,12 @@ static const InfoOption_t * option_tab_cmd_DL[] =
static const InfoOption_t * option_tab_cmd_DLL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1571,6 +1613,12 @@ static const InfoOption_t * option_tab_cmd_DLL[] =
static const InfoOption_t * option_tab_cmd_DLLL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1602,6 +1650,12 @@ static const InfoOption_t * option_tab_cmd_BIN_DIFF[] =
static const InfoOption_t * option_tab_cmd_PATCH[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1631,7 +1685,6 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_CREATE_DISTRIB,
0
@@ -1639,6 +1692,12 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
static const InfoOption_t * option_tab_cmd_TIMESTAMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1650,13 +1709,18 @@ static const InfoOption_t * option_tab_cmd_TIMESTAMP[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_LPAR[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LE_DEFINE,
OptionInfo + OPT_LPAR,
OptionInfo + OPT_ALIAS,
@@ -1681,7 +1745,6 @@ static const InfoOption_t * option_tab_cmd_LPAR[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOPT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_EXPORT,
@@ -1774,8 +1837,13 @@ static const InfoOption_t * option_tab_cmd_DISTRIBUTION[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
- OptionInfo + OPT_COMPLETE,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_COMPLETE,
&option_grp_TEXTOPT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_EXPORT,
@@ -1786,6 +1854,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COMPLETE,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
@@ -1798,7 +1872,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOPT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_EXPORT,
@@ -1809,6 +1882,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COMPLETE,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
@@ -1822,7 +1901,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
- OptionInfo + OPT_IGNORE,
0
};
@@ -1927,10 +2005,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -1992,9 +2067,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -2121,10 +2198,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DUMP",
"D",
"wlect DUMP [source]...",
- "Print an information dump for each source file. LE-CODE binaries and"
- " LEX binaries are accepted as input.",
+ "Print an information dump for each source file. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. LE-CODE binaries and LEX binaries are accepted as input.",
0,
- 14,
+ 17,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -2138,7 +2216,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Short cut for 'DUMP --brief'.",
"",
0,
- 14,
+ 17,
option_tab_cmd_DB,
option_allowed_cmd_DB
},
@@ -2152,7 +2230,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DL [source]...",
"Short cut for 'DUMP --long'.",
0,
- 14,
+ 17,
option_tab_cmd_DL,
option_allowed_cmd_DL
},
@@ -2166,7 +2244,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DLL [source]...",
"Short cut for 'DUMP --long --long'.",
0,
- 14,
+ 17,
option_tab_cmd_DLL,
option_allowed_cmd_DLL
},
@@ -2180,7 +2258,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DLL [source]...",
"Short cut for 'DUMP --long --long --long'.",
0,
- 14,
+ 17,
option_tab_cmd_DLLL,
option_allowed_cmd_DLLL
},
@@ -2214,10 +2292,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"PATCH",
"P",
"wlect PATCH [lecode_bin]...",
- "Read each LE-CODE binary file and patch it. Use --le-define to setup"
- " cups and tracks.",
+ "Read each LE-CODE binary file and patch it. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. Use --le-define to setup cups and tracks.",
0,
- 25,
+ 27,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
@@ -2230,9 +2309,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wlect TIMESTAMP [lecode_bin]...",
"Read each LE-CODE binary file and set creation time if exists and is"
- " null with respect to others existing timestamps.",
+ " null with respect to others existing timestamps. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 9,
+ 11,
option_tab_cmd_TIMESTAMP,
option_allowed_cmd_TIMESTAMP
},
@@ -2244,11 +2325,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LPAR",
0,
"wlect LPAR [le_bin]...",
- "Read each LE-BIN file and patch it. Then extract the LE-CODE"
- " parameters and store them as LPAR text file. Print the result to"
- " standard output if no other destination is defined.",
+ "Read each LE-BIN file and patch it. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details. Then"
+ " extract the LE-CODE parameters and store them as LPAR text file."
+ " Print the result to standard output if no other destination is"
+ " defined.",
0,
- 22,
+ 24,
option_tab_cmd_LPAR,
option_allowed_cmd_LPAR
},
@@ -2280,9 +2363,9 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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."
- " Wildcards are accepted, see https://szs.wiimm.de/doc/wildcards for"
- " details.\n"
+ " data and creates any number of files with different file types. The"
+ " parameters are evaluated step by step. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.\n"
" Use the command without keyword to get an extended description.",
0,
21,
@@ -2298,10 +2381,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wlect CAT [source]...",
"Read the entered LEX and LE-CODE files (text, binary or szs) and"
- " print them as decoded text files to standard output. The output of"
- " all source files is concatenated.",
+ " print them as decoded text files to standard output. Wildcards and"
+ " pipe characters are parsed, see https://szs.wiimm.de/doc/wildcards"
+ " for details. The output of all source files is concatenated.",
0,
- 6,
+ 8,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -2314,9 +2398,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DEC",
"wlect DECODE [source]...",
"Read the entered LEX files (text or binary) and decode them to text"
- " files. The default destination is '%P/%N.txt'.",
+ " files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.txt'.",
0,
- 14,
+ 16,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -2329,9 +2415,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ENC",
"wlect ENCODE source...",
"Read the entered LEX files (text or binary) and encode (compile) them"
- " to binary files. The default destination is '%P/%N.lex'.",
+ " to binary files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.lex'.",
0,
- 11,
+ 13,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h
index 84c436d..cdc9539 100644
--- a/project/src/ui/ui-wlect.h
+++ b/project/src/ui/ui-wlect.h
@@ -61,6 +61,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_EXPORT,
OPT_NO_PARAM,
OPT_NO_ECHO,
@@ -103,7 +105,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 47
+ OPT__N_SPECIFIC, // == 49
//----- global options -----
@@ -148,7 +150,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 87
+ OPT__N_TOTAL // == 89
} enumOptions;
@@ -168,6 +170,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_EXPORT = 1llu << OPT_EXPORT,
// OB_NO_PARAM = 1llu << OPT_NO_PARAM,
// OB_NO_ECHO = 1llu << OPT_NO_ECHO,
@@ -271,8 +275,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -290,7 +296,10 @@ typedef enum enumOptions
//
// OB_CMD_DPAD = 0,
//
-// OB_CMD_DUMP = OB_GRP_PATCH
+// OB_CMD_DUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_PATCH
// | OB_BRIEF
// | OB_LONG
// | OB_GRP_PATCH
@@ -306,16 +315,24 @@ typedef enum enumOptions
//
// OB_CMD_BIN_DIFF = 0,
//
-// OB_CMD_PATCH = OB_GRP_PATCH
+// OB_CMD_PATCH = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_PATCH
// | OB_GRP_TRACK_COPY
// | OB_GRP_DEST
-// | OB_IGNORE
// | OB_CREATE_DISTRIB,
//
-// OB_CMD_TIMESTAMP = OB_GRP_DEST
+// OB_CMD_TIMESTAMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_IGNORE,
//
-// OB_CMD_LPAR = OB_GRP_PATCH
+// OB_CMD_LPAR = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_PATCH
// | OB_GRP_DEST
// | OB_GRP_TEXTOUT,
//
@@ -336,21 +353,27 @@ typedef enum enumOptions
// | OB_GRP_TEXTOUT
// | OB_GRP_DEST,
//
-// OB_CMD_CAT = OB_COMPLETE
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_COMPLETE
// | OB_GRP_TEXTOUT
-// | OB_NO_ECHO
-// | OB_IGNORE,
+// | OB_NO_ECHO,
//
-// OB_CMD_DECODE = OB_COMPLETE
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_COMPLETE
// | OB_GRP_DEST
// | OB_GRP_TEXTOUT
-// | OB_NO_ECHO
-// | OB_IGNORE,
+// | OB_NO_ECHO,
//
-// OB_CMD_ENCODE = OB_COMPLETE
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_COMPLETE
// | OB_GRP_DEST
-// | OB_NO_ECHO
-// | OB_IGNORE,
+// | OB_NO_ECHO,
//
//} enumOptionsBit;
@@ -454,6 +477,8 @@ typedef enum enumGetOpt
GO_PLUS,
GO_CHDIR,
GO_ROUND,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_NO_ECHO,
GO_UTF_8,
GO_NO_UTF_8,
diff --git a/project/src/ui/ui-wmdlt.c b/project/src/ui/ui-wmdlt.c
index 3908322..a04a848 100644
--- a/project/src/ui/ui-wmdlt.c
+++ b/project/src/ui/ui-wmdlt.c
@@ -233,6 +233,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Suppress cross reference comments."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_NO_PARAM, false, false, false, false, false, 'P', "no-param",
0,
"Disable parameter support in decoded KMP text files."
@@ -315,7 +326,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 == 33
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 35
//----- global options -----
@@ -590,7 +601,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 69
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 71
};
@@ -805,6 +816,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "no-param", 0, 0, 'P' },
{ "noparam", 0, 0, 'P' },
{ "no-echo", 0, 0, GO_NO_ECHO },
@@ -931,19 +946,21 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x09f */ OPT_NO_WILDCARDS,
+ /* 0x0a0 */ OPT_IN_ORDER,
+ /* 0x0a1 */ OPT_NO_ECHO,
+ /* 0x0a2 */ OPT_UTF_8,
+ /* 0x0a3 */ OPT_NO_UTF_8,
+ /* 0x0a4 */ OPT_FORCE,
+ /* 0x0a5 */ OPT_REPAIR_MAGICS,
+ /* 0x0a6 */ OPT_TINY,
+ /* 0x0a7 */ OPT_OLD,
+ /* 0x0a8 */ OPT_STD,
+ /* 0x0a9 */ OPT_NEW,
+ /* 0x0aa */ OPT_EXTRACT,
+ /* 0x0ab */ OPT_NUMBER,
+ /* 0x0ac */ OPT_SECTIONS,
+ /* 0x0ad */ 0,0,0,
/* 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,
@@ -960,136 +977,136 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[33] = // cmd #1
+static u8 option_allowed_cmd_VERSION[35] = // cmd #1
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,1
+ 0,0,0,0,1
};
-static u8 option_allowed_cmd_HELP[33] = // cmd #2
+static u8 option_allowed_cmd_HELP[35] = // 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
};
-static u8 option_allowed_cmd_CONFIG[33] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[35] = // cmd #3
{
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
};
-static u8 option_allowed_cmd_ARGTEST[33] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[35] = // 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
};
-static u8 option_allowed_cmd_EXPAND[33] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[35] = // 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
};
-static u8 option_allowed_cmd_TEST[33] = // cmd #6
+static u8 option_allowed_cmd_TEST[35] = // 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
};
-static u8 option_allowed_cmd_COLORS[33] = // cmd #7
+static u8 option_allowed_cmd_COLORS[35] = // 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
+ 0,0,0,0,0
};
-static u8 option_allowed_cmd_ERROR[33] = // cmd #8
+static u8 option_allowed_cmd_ERROR[35] = // 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
+ 0,0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[33] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[35] = // 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
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[33] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[35] = // 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
+ 0,0,0,0,0
};
-static u8 option_allowed_cmd_SYMBOLS[33] = // cmd #11
+static u8 option_allowed_cmd_SYMBOLS[35] = // 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
+ 0,0,0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[33] = // cmd #12
+static u8 option_allowed_cmd_FUNCTIONS[35] = // 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
+ 0,0,0,0,0
};
-static u8 option_allowed_cmd_CALCULATE[33] = // cmd #13
+static u8 option_allowed_cmd_CALCULATE[35] = // 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
};
-static u8 option_allowed_cmd_MATRIX[33] = // cmd #14
+static u8 option_allowed_cmd_MATRIX[35] = // 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
+ 0,0,0,0,0
};
-static u8 option_allowed_cmd_FLOAT[33] = // cmd #15
+static u8 option_allowed_cmd_FLOAT[35] = // 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
+ 0,0,0,0,0
};
-static u8 option_allowed_cmd_EXPORT[33] = // cmd #16
+static u8 option_allowed_cmd_EXPORT[35] = // 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
};
-static u8 option_allowed_cmd_CAT[33] = // cmd #17
+static u8 option_allowed_cmd_CAT[35] = // 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
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0,
+ 0,0,0,1,0
};
-static u8 option_allowed_cmd_DECODE[33] = // cmd #18
+static u8 option_allowed_cmd_DECODE[35] = // 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
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 1,1,0,1,1, 1,1,1,1,1,
+ 1,1,1,1,0
};
-static u8 option_allowed_cmd_ENCODE[33] = // cmd #19
+static u8 option_allowed_cmd_ENCODE[35] = // 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
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1,
+ 1,1,1,1,0
};
-static u8 option_allowed_cmd_STRINGS[33] = // cmd #20
+static u8 option_allowed_cmd_STRINGS[35] = // 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
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0,
+ 0,0,0,1,0
};
-static u8 option_allowed_cmd_GEOMETRY[33] = // cmd #21
+static u8 option_allowed_cmd_GEOMETRY[35] = // 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
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0,
+ 0,0,0,1,0
};
-static u8 option_allowed_cmd_XTEST[33] = // cmd #22
+static u8 option_allowed_cmd_XTEST[35] = // 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
+ 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0,
+ 0,0,0,1,0
};
@@ -1202,8 +1219,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1281,7 +1300,12 @@ static const InfoOption_t * option_tab_cmd_EXPORT[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -1311,6 +1335,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1322,7 +1352,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -1352,6 +1381,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1365,7 +1400,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -1391,7 +1425,12 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
static const InfoOption_t * option_tab_cmd_STRINGS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -1421,7 +1460,12 @@ static const InfoOption_t * option_tab_cmd_STRINGS[] =
static const InfoOption_t * option_tab_cmd_GEOMETRY[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -1451,7 +1495,12 @@ static const InfoOption_t * option_tab_cmd_GEOMETRY[] =
static const InfoOption_t * option_tab_cmd_XTEST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -1579,10 +1628,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -1644,9 +1690,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -1785,12 +1833,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wmdlt CAT [source]...",
"Read the entered MDL files (text or binary) and print them as decoded"
- " text files to standard output (stdout). The output of all source"
- " files is concatenated.\n"
+ " text files to standard output (stdout). Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The output of all source files is concatenated.\n"
" A decoded MDL0 file can only be used for analysis. Encoding or"
" creating a new MDL0 file is not supported.",
0,
- 21,
+ 23,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -1803,11 +1852,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DEC",
"wmdlt DECODE [source]...",
"Read the entered MDL files (text or binary) and decode them to text"
- " files. The default destination is '%P/%N.txt'.\n"
+ " files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.txt'.\n"
" A decoded MDL0 file can only be used for analysis. Encoding or"
" creating a new MDL0 file is not supported.",
0,
- 29,
+ 31,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -1820,9 +1871,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ENC",
"wmdlt ENCODE [source]...",
"Read the entered MDL files (text or binary) and encode (compile) them"
- " to binary files. The default destination is '%P/%N.mdl'.",
+ " to binary files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.mdl'.",
0,
- 27,
+ 29,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -1835,12 +1888,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wmdlt STRINGS [source]...",
"Read the entered MDL files (text or binary) and print all strings of"
- " all sections.\n"
+ " all sections. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.\n"
" For archives like SZS or BREES, the strings of each containing MDL"
" are printed. It is also possible to address an internal sub-file"
" like track.szs/course_model.brres.",
0,
- 21,
+ 23,
option_tab_cmd_STRINGS,
option_allowed_cmd_STRINGS
},
@@ -1853,10 +1907,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"GEO",
"wmdlt GEOMETRY [source]...",
"Read the entered MDL files (text or binary) and print some geometry"
- " information to the standard output (stdout). The output of all"
- " source files is concatenated.",
+ " information to the standard output (stdout). Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The output of all source files is concatenated.",
0,
- 21,
+ 23,
option_tab_cmd_GEOMETRY,
option_allowed_cmd_GEOMETRY
},
@@ -1868,9 +1923,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"_TEST",
0,
"wszst _TEST [files]",
- "Test something.",
+ "Test something. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 21,
+ 23,
option_tab_cmd_XTEST,
option_allowed_cmd_XTEST
},
diff --git a/project/src/ui/ui-wmdlt.h b/project/src/ui/ui-wmdlt.h
index 28821cc..e0a439c 100644
--- a/project/src/ui/ui-wmdlt.h
+++ b/project/src/ui/ui-wmdlt.h
@@ -75,6 +75,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_NO_PARAM,
OPT_NO_ECHO,
OPT_NO_CHECK,
@@ -89,7 +91,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 33
+ OPT__N_SPECIFIC, // == 35
//----- global options -----
@@ -130,7 +132,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 69
+ OPT__N_TOTAL // == 71
} enumOptions;
@@ -164,6 +166,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_NO_PARAM = 1llu << OPT_NO_PARAM,
// OB_NO_ECHO = 1llu << OPT_NO_ECHO,
// OB_NO_CHECK = 1llu << OPT_NO_CHECK,
@@ -232,8 +236,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -253,41 +259,53 @@ typedef enum enumOptions
//
// OB_CMD_EXPORT = 0,
//
-// OB_CMD_CAT = OB_GRP_TEXTOUT
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_DECODE = OB_GRP_DEST
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_ENCODE = OB_GRP_DEST
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_STRINGS = OB_GRP_TEXTOUT
+// OB_CMD_STRINGS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_GEOMETRY = OB_GRP_TEXTOUT
+// OB_CMD_GEOMETRY = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_XTEST = OB_GRP_TEXTOUT
+// OB_CMD_XTEST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
// | OB_NO_CHECK
-// | OB_IGNORE
// | OB_GRP_TRANSFORM,
//
//} enumOptionsBit;
@@ -397,6 +415,8 @@ typedef enum enumGetOpt
GO_AROT,
GO_TFORM_SCRIPT,
GO_ROUND,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_NO_ECHO,
GO_UTF_8,
GO_NO_UTF_8,
diff --git a/project/src/ui/ui-wpatt.c b/project/src/ui/ui-wpatt.c
index 7181a33..9c23cb3 100644
--- a/project/src/ui/ui-wpatt.c
+++ b/project/src/ui/ui-wpatt.c
@@ -75,6 +75,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Suppress cross reference comments."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_NO_PARAM, false, false, false, false, false, 'P', "no-param",
0,
"Disable parameter support in decoded KMP text files."
@@ -157,7 +168,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 == 18
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 20
//----- global options -----
@@ -421,7 +432,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 == 53
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 55
};
@@ -584,6 +595,10 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "no-param", 0, 0, 'P' },
{ "noparam", 0, 0, 'P' },
{ "no-echo", 0, 0, GO_NO_ECHO },
@@ -694,19 +709,21 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x08f */ OPT_NO_WILDCARDS,
+ /* 0x090 */ OPT_IN_ORDER,
+ /* 0x091 */ OPT_NO_ECHO,
+ /* 0x092 */ OPT_PAT,
+ /* 0x093 */ OPT_UTF_8,
+ /* 0x094 */ OPT_NO_UTF_8,
+ /* 0x095 */ OPT_FORCE,
+ /* 0x096 */ OPT_REPAIR_MAGICS,
+ /* 0x097 */ OPT_OLD,
+ /* 0x098 */ OPT_STD,
+ /* 0x099 */ OPT_NEW,
+ /* 0x09a */ OPT_EXTRACT,
+ /* 0x09b */ OPT_NUMBER,
+ /* 0x09c */ OPT_SECTIONS,
+ /* 0x09d */ 0,0,0,
/* 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,
@@ -724,94 +741,94 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[18] = // cmd #1
+static u8 option_allowed_cmd_VERSION[20] = // cmd #1
{
- 0,0,1,0,1, 0,0,0,0,0, 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,1
};
-static u8 option_allowed_cmd_HELP[18] = // cmd #2
+static u8 option_allowed_cmd_HELP[20] = // 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
};
-static u8 option_allowed_cmd_CONFIG[18] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[20] = // cmd #3
{
- 0,0,1,0,1, 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
};
-static u8 option_allowed_cmd_ARGTEST[18] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[20] = // 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
};
-static u8 option_allowed_cmd_EXPAND[18] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[20] = // 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
};
-static u8 option_allowed_cmd_TEST[18] = // cmd #6
+static u8 option_allowed_cmd_TEST[20] = // 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
};
-static u8 option_allowed_cmd_COLORS[18] = // cmd #7
+static u8 option_allowed_cmd_COLORS[20] = // cmd #7
{
- 0,0,1,0,1, 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
};
-static u8 option_allowed_cmd_ERROR[18] = // cmd #8
+static u8 option_allowed_cmd_ERROR[20] = // cmd #8
{
- 0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[18] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[20] = // cmd #9
{
- 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0
+ 0,0,1,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[18] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[20] = // cmd #10
{
- 0,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,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_SYMBOLS[18] = // cmd #11
+static u8 option_allowed_cmd_SYMBOLS[20] = // cmd #11
{
- 0,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,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[18] = // cmd #12
+static u8 option_allowed_cmd_FUNCTIONS[20] = // cmd #12
{
- 0,0,1,1,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
};
-static u8 option_allowed_cmd_CALCULATE[18] = // cmd #13
+static u8 option_allowed_cmd_CALCULATE[20] = // 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
};
-static u8 option_allowed_cmd_FLOAT[18] = // cmd #14
+static u8 option_allowed_cmd_FLOAT[20] = // cmd #14
{
- 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,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_EXPORT[18] = // cmd #15
+static u8 option_allowed_cmd_EXPORT[20] = // 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
};
-static u8 option_allowed_cmd_CAT[18] = // cmd #16
+static u8 option_allowed_cmd_CAT[20] = // cmd #16
{
- 0,0,0,1,1, 0,1,1,0,0, 0,0,0,0,0, 0,1,0
+ 0,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0, 0,0,0,1,0
};
-static u8 option_allowed_cmd_DECODE[18] = // cmd #17
+static u8 option_allowed_cmd_DECODE[20] = // cmd #17
{
- 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,0
+ 0,0,0,1,1, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,0
};
-static u8 option_allowed_cmd_ENCODE[18] = // cmd #18
+static u8 option_allowed_cmd_ENCODE[20] = // cmd #18
{
- 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,0
+ 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,0
};
@@ -922,8 +939,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -973,7 +992,12 @@ static const InfoOption_t * option_tab_cmd_EXPORT[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -984,6 +1008,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_DECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -996,7 +1026,6 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_ECHO,
@@ -1007,6 +1036,12 @@ static const InfoOption_t * option_tab_cmd_DECODE[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -1021,7 +1056,6 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_NO_ECHO,
OptionInfo + OPT_NO_CHECK,
- OptionInfo + OPT_IGNORE,
0
};
@@ -1126,10 +1160,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -1191,9 +1222,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -1307,10 +1340,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wpatt CAT [source]...",
"Read the entered PAT files (text or binary) and print them as decoded"
- " text files to standard output (stdout). The output of all source"
- " files is concatenated.",
+ " text files to standard output (stdout). Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The output of all source files is concatenated.",
0,
- 5,
+ 7,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -1323,9 +1357,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DEC",
"wpatt DECODE [source]...",
"Read the entered PAT files (text or binary) and decode them to text"
- " files. The default destination is '%P/%N.txt'.",
+ " files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.txt'.",
0,
- 14,
+ 16,
option_tab_cmd_DECODE,
option_allowed_cmd_DECODE
},
@@ -1338,9 +1374,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ENC",
"wpatt ENCODE [source]...",
"Read the entered PAT files (text or binary) and encode (compile) them"
- " to binary files. The default destination is '%P/%N.pat'.",
+ " to binary files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. The default"
+ " destination is '%P/%N.pat'.",
0,
- 12,
+ 14,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
diff --git a/project/src/ui/ui-wpatt.h b/project/src/ui/ui-wpatt.h
index 9df0853..1f08393 100644
--- a/project/src/ui/ui-wpatt.h
+++ b/project/src/ui/ui-wpatt.h
@@ -60,6 +60,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_NO_PARAM,
OPT_NO_ECHO,
OPT_NO_CHECK,
@@ -74,7 +76,7 @@ typedef enum enumOptions
OPT_IGNORE,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 18
+ OPT__N_SPECIFIC, // == 20
//----- global options -----
@@ -114,7 +116,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 53
+ OPT__N_TOTAL // == 55
} enumOptions;
@@ -133,6 +135,8 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_NO_PARAM = 1llu << OPT_NO_PARAM,
// OB_NO_ECHO = 1llu << OPT_NO_ECHO,
// OB_NO_CHECK = 1llu << OPT_NO_CHECK,
@@ -185,8 +189,10 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -202,21 +208,27 @@ typedef enum enumOptions
//
// OB_CMD_EXPORT = 0,
//
-// OB_CMD_CAT = OB_GRP_TEXTOUT
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
-// | OB_NO_CHECK
-// | OB_IGNORE,
+// | OB_NO_CHECK,
//
-// OB_CMD_DECODE = OB_GRP_DEST
+// OB_CMD_DECODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_TEXTOUT
// | OB_NO_ECHO
-// | OB_NO_CHECK
-// | OB_IGNORE,
+// | OB_NO_CHECK,
//
-// OB_CMD_ENCODE = OB_GRP_DEST
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_NO_ECHO
-// | OB_NO_CHECK
-// | OB_IGNORE,
+// | OB_NO_CHECK,
//
//} enumOptionsBit;
@@ -304,6 +316,8 @@ typedef enum enumGetOpt
GO_LE_CODE,
GO_CHDIR,
GO_ROUND,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_NO_ECHO,
GO_PAT,
GO_UTF_8,
diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c
index 2c606ed..543ee0f 100644
--- a/project/src/ui/ui-wstrt.c
+++ b/project/src/ui/ui-wstrt.c
@@ -64,6 +64,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"List only the track file names and suppress table header and footer."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
+ { OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
+ 0,
+ "Process the input files in order of the command line and don't delete"
+ " duplicates."
+ },
+
{ OPT_NO_HEADER, false, false, false, false, false, 'H', "no-header",
0,
"Suppress the syntax information section in BMG text files."
@@ -80,11 +91,9 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"file",
"Each option call adds the filename to an internal list. Each file"
" must be of type GCT and is added to the internal wcode stock.\n"
- " If parameter FILE contains at least one wildcard (e.g. '*.gct'),"
+ " If parameter FILE contains at least one wildcard (e.g. \"*.gct\"),"
" then FILE is used as search pattern and all found files are added."
- " In order to use this variant, the calling shell must not interpret"
- " the wildcards. Therefore, the parameter must usually be enclosed in"
- " single or double quotes.\n"
+ " Quote FILE for this purpose. \n"
" If a single file is not found and the filename (not path) contains"
" at least 1 '@' character, then all '@' characters of it are replaced"
" by the region code (one of P,E,J,K) for a second try."
@@ -184,11 +193,9 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" and VBI hooks are optionally initialized. Use option --force to"
" allow overlapped sections. Use option --verbose up to 2 times for a"
" log.\n"
- " If parameter FILE contains at least one wildcard (e.g. '*.gct'),"
+ " If parameter FILE contains at least one wildcard (e.g. \"*.GCT\"),"
" then FILE is used as search pattern and all found files are added."
- " In order to use this variant, the calling shell must not interpret"
- " the wildcards. Therefore, the parameter must usually be enclosed in"
- " single or double quotes.\n"
+ " Quote FILE for this purpose. \n"
" If a single file is not found and the filename (not path) contains"
" at least 1 '@' character, then all '@' characters of it are replaced"
" by the region code (one of P,E,J,K) for a second try.\n"
@@ -292,11 +299,9 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Each option call adds the filename to an internal list. Each file"
" must be of type WPF (Wiimms Patch File) and defines a list of"
" conditionals and patches for staticr.rel and main.dol.\n"
- " If parameter FILE contains at least one wildcard (e.g. '*.wpf'),"
+ " If parameter FILE contains at least one wildcard (e.g. \"*.wpf\"),"
" then FILE is used as search pattern and all found files are added."
- " In order to use this variant, the calling shell must not interpret"
- " the wildcards. Therefore, the parameter must usually be enclosed in"
- " single or double quotes."
+ " Quote FILE for this purpose. "
},
{ OPT_SECTIONS, false, false, false, false, true, 0, "sections",
@@ -501,7 +506,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" dependent (multiple of format size)."
},
- {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 66
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 68
//----- global options -----
@@ -919,7 +924,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" directory."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 121
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 123
};
@@ -1167,6 +1172,10 @@ static const struct option OptionLong[] =
{ "const", 1, 0, 'c' },
{ "long", 0, 0, 'l' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
+ { "in-order", 0, 0, GO_IN_ORDER },
+ { "inorder", 0, 0, GO_IN_ORDER },
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "tracks", 1, 0, 'T' },
@@ -1377,87 +1386,88 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 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,
+ /* 0x08e */ OPT_NO_WILDCARDS,
+ /* 0x08f */ OPT_IN_ORDER,
+ /* 0x090 */ OPT_VS_REGION,
+ /* 0x091 */ OPT_BT_REGION,
+ /* 0x092 */ OPT_ALL_RANKS,
+ /* 0x093 */ OPT_POINTS,
+ /* 0x094 */ OPT_CHEAT,
+ /* 0x095 */ OPT_HTTPS,
+ /* 0x096 */ OPT_DOMAIN,
+ /* 0x097 */ OPT_WIIMMFI,
+ /* 0x098 */ OPT_TWIIMMFI,
+ /* 0x099 */ OPT_WC24,
+ /* 0x09a */ OPT_WCODE,
+ /* 0x09b */ OPT_ADD_WCODE,
+ /* 0x09c */ OPT_PB_MODE,
+ /* 0x09d */ OPT_PATCHED_BY,
+ /* 0x09e */ OPT_VS,
+ /* 0x09f */ OPT_VS2,
+ /* 0x0a0 */ OPT_BT,
+ /* 0x0a1 */ OPT_BT2,
+ /* 0x0a2 */ OPT_CANNON,
+ /* 0x0a3 */ OPT_MENO,
+ /* 0x0a4 */ OPT_UTF_8,
+ /* 0x0a5 */ OPT_NO_UTF_8,
+ /* 0x0a6 */ OPT_FORCE,
+ /* 0x0a7 */ OPT_REPAIR_MAGICS,
+ /* 0x0a8 */ OPT_OLD,
+ /* 0x0a9 */ OPT_STD,
+ /* 0x0aa */ OPT_NEW,
+ /* 0x0ab */ OPT_EXTRACT,
+ /* 0x0ac */ OPT_NUMBER,
+ /* 0x0ad */ OPT_CLEAN_DOL,
+ /* 0x0ae */ OPT_ADD_LECODE,
+ /* 0x0af */ OPT_ADD_CTCODE,
+ /* 0x0b0 */ OPT_CT_DIR,
+ /* 0x0b1 */ OPT_MOVE_D8,
+ /* 0x0b2 */ OPT_ADD_SECTION,
+ /* 0x0b3 */ OPT_FULL_GCH,
+ /* 0x0b4 */ OPT_GCT_NO_SEP,
+ /* 0x0b5 */ OPT_GCT_SEP,
+ /* 0x0b6 */ OPT_GCT_ASM_SEP,
+ /* 0x0b7 */ OPT_GCT_LIST,
+ /* 0x0b8 */ OPT_GCT_MOVE,
+ /* 0x0b9 */ OPT_GCT_ADDR,
+ /* 0x0ba */ OPT_GCT_SPACE,
+ /* 0x0bb */ OPT_ALLOW_USER_GCH,
+ /* 0x0bc */ OPT_CREATE_SECT,
+ /* 0x0bd */ OPT_WPF,
+ /* 0x0be */ OPT_SECTIONS,
+ /* 0x0bf */ OPT_PORT_DB,
+ /* 0x0c0 */ OPT_ORDER,
+ /* 0x0c1 */ OPT_VADDR,
+ /* 0x0c2 */ OPT_FADDR,
+ /* 0x0c3 */ OPT_SNAME,
+ /* 0x0c4 */ OPT_INT1,
+ /* 0x0c5 */ OPT_INT2,
+ /* 0x0c6 */ OPT_INT3,
+ /* 0x0c7 */ OPT_INT4,
+ /* 0x0c8 */ OPT_INT5,
+ /* 0x0c9 */ OPT_INT6,
+ /* 0x0ca */ OPT_INT7,
+ /* 0x0cb */ OPT_INT8,
+ /* 0x0cc */ OPT_FLOAT,
+ /* 0x0cd */ OPT_DOUBLE,
+ /* 0x0ce */ OPT_LE,
+ /* 0x0cf */ OPT_BE,
+ /* 0x0d0 */ OPT_ZEROS,
+ /* 0x0d1 */ OPT_HEX,
+ /* 0x0d2 */ OPT_DEC,
+ /* 0x0d3 */ OPT_C_SYNTAX,
+ /* 0x0d4 */ OPT_ADDR,
+ /* 0x0d5 */ OPT_ALIGN,
+ /* 0x0d6 */ OPT_TRIGGER,
+ /* 0x0d7 */ OPT_NO_ADDR,
+ /* 0x0d8 */ OPT_NO_NUMBERS,
+ /* 0x0d9 */ OPT_NO_TEXT,
+ /* 0x0da */ OPT_FORMAT,
+ /* 0x0db */ OPT_NO_NULL,
+ /* 0x0dc */ OPT_NARROW,
+ /* 0x0dd */ OPT_SMALL,
+ /* 0x0de */ OPT_WIDE,
+ /* 0x0df */ OPT_BYTES,
/* 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,
@@ -1471,179 +1481,179 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[66] = // cmd #1
+static u8 option_allowed_cmd_VERSION[68] = // cmd #1
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_HELP[66] = // cmd #2
+static u8 option_allowed_cmd_HELP[68] = // 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
};
-static u8 option_allowed_cmd_CONFIG[66] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[68] = // cmd #3
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_ARGTEST[66] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[68] = // cmd #4
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1
+ 1,1,1,1,1, 1,1,1
};
-static u8 option_allowed_cmd_EXPAND[66] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[68] = // 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
};
-static u8 option_allowed_cmd_TEST[66] = // cmd #6
+static u8 option_allowed_cmd_TEST[68] = // 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
};
-static u8 option_allowed_cmd_COLORS[66] = // cmd #7
+static u8 option_allowed_cmd_COLORS[68] = // cmd #7
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_ERROR[66] = // cmd #8
+static u8 option_allowed_cmd_ERROR[68] = // 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
+ 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,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 #9
+static u8 option_allowed_cmd_FILETYPE[68] = // 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,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FILEATTRIB[66] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[68] = // 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, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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 #11
+static u8 option_allowed_cmd_RAWDUMP[68] = // 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,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
};
-static u8 option_allowed_cmd_DUMP[66] = // cmd #12
+static u8 option_allowed_cmd_DUMP[68] = // 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,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_CDUMP[66] = // cmd #13
+static u8 option_allowed_cmd_CDUMP[68] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_HEXDUMP[66] = // cmd #14
+static u8 option_allowed_cmd_HEXDUMP[68] = // 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
+ 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,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 #15
+static u8 option_allowed_cmd_PORT[68] = // 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
+ 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,1,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 #16
+static u8 option_allowed_cmd_WHERE[68] = // 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
+ 0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,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 #17
+static u8 option_allowed_cmd_HTTPS[68] = // 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,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_EXTRACT[66] = // cmd #18
+static u8 option_allowed_cmd_EXTRACT[68] = // 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,1,1, 0,0,0,1,1, 0,1,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_TRACKS[66] = // cmd #19
+static u8 option_allowed_cmd_TRACKS[68] = // 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,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_ARENAS[66] = // cmd #20
+static u8 option_allowed_cmd_ARENAS[68] = // 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,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FILES[66] = // cmd #21
+static u8 option_allowed_cmd_FILES[68] = // cmd #21
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_FIND[66] = // cmd #22
+static u8 option_allowed_cmd_FIND[68] = // cmd #22
{
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_POINTS[66] = // cmd #23
+static u8 option_allowed_cmd_POINTS[68] = // 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,1,1,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_ANALYZE[66] = // cmd #24
+static u8 option_allowed_cmd_ANALYZE[68] = // 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,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0
};
-static u8 option_allowed_cmd_PATCH[66] = // cmd #25
+static u8 option_allowed_cmd_PATCH[68] = // 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,
- 0,0,0,0,0, 0
+ 0,0,0,1,1, 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0
};
@@ -1773,8 +1783,10 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
- &option_cmd_FILETYPE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_FILETYPE_LONG,
0
};
@@ -1796,6 +1808,12 @@ static const InfoOption_t * option_tab_cmd_RAWDUMP[] =
static const InfoOption_t * option_tab_cmd_DUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_DUMP_LONG,
0
@@ -1809,6 +1827,12 @@ static const InfoOption_t * option_tab_cmd_CDUMP[] =
static const InfoOption_t * option_tab_cmd_HEXDUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_VADDR,
OptionInfo + OPT_FADDR,
OptionInfo + OPT_SNAME,
@@ -1877,6 +1901,12 @@ static const InfoOption_t * option_tab_cmd_WHERE[] =
static const InfoOption_t * option_tab_cmd_HTTPS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_HTTPS_LONG,
&option_cmd_HTTPS_VERBOSE,
@@ -1885,6 +1915,12 @@ static const InfoOption_t * option_tab_cmd_HTTPS[] =
static const InfoOption_t * option_tab_cmd_EXTRACT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_OVERWRITE,
@@ -1997,6 +2033,12 @@ static const InfoOption_t * option_tab_cmd_POINTS[] =
static const InfoOption_t * option_tab_cmd_ANALYZE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_CLEAN_DOL,
OptionInfo + OPT_TRACKS,
OptionInfo + OPT_ARENAS,
@@ -2020,6 +2062,12 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] =
static const InfoOption_t * option_tab_cmd_PATCH[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -2031,7 +2079,6 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NONE, // separator
@@ -2165,10 +2212,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -2230,9 +2274,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 2,
+ 4,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -2278,9 +2324,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wstrt DUMP file...",
"Dump the structure of REL files (e.g. StaticR.rel) and of DOL files"
- " (e.g. main.dol) as text.",
+ " (e.g. main.dol) as text. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 1,
+ 4,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -2307,10 +2354,12 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"XDUMP",
"wstrt HEXDUMP file...",
"Dump the content of DOL files as hex dump and use virtual addresses."
- " Select parts by --vaddr, --faddr and --sname. Without selectors, the"
- " whole file is dumped.",
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. Select parts by"
+ " --vaddr, --faddr and --sname. Without selectors, the whole file is"
+ " dumped.",
0,
- 34,
+ 37,
option_tab_cmd_HEXDUMP,
option_allowed_cmd_HEXDUMP
},
@@ -2366,9 +2415,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wstrt _HTTPS file...",
"Collect data about https-requests and print a total summary for all"
- " accepted files.",
+ " accepted files. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 2,
+ 5,
option_tab_cmd_HTTPS,
option_allowed_cmd_HTTPS
},
@@ -2380,9 +2430,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"EXTRACT",
"X",
"wstrt EXTRACT dol...",
- "Extract the sections of a DOL or a REL file into a directory.",
+ "Extract the sections of DOL and REL file into a directory. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 3,
+ 6,
option_tab_cmd_EXTRACT,
option_allowed_cmd_EXTRACT
},
@@ -2477,10 +2529,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ANALYZE",
"ANA",
"wstrt ANALYZE [file]...",
- "Open 'StaticR.rel' and DOL files and analyze them. The files will be"
- " classified using SHA1 checksums.",
+ "Open 'StaticR.rel' and DOL files and analyze them. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The files will be classified using SHA1 checksums.",
0,
- 17,
+ 20,
option_tab_cmd_ANALYZE,
option_allowed_cmd_ANALYZE
},
@@ -2492,10 +2545,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"PATCH",
0,
"wstrt PATCH [file]...",
- "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii. No backup"
- " is made.",
+ "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. No backup is made.",
0,
- 34,
+ 36,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h
index b3f1ad8..d7985da 100644
--- a/project/src/ui/ui-wstrt.h
+++ b/project/src/ui/ui-wstrt.h
@@ -58,6 +58,8 @@ typedef enum enumOptions
OPT_LONG,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
+ OPT_IN_ORDER,
OPT_NO_HEADER,
OPT_CHEAT,
OPT_ADD_WCODE,
@@ -122,7 +124,7 @@ typedef enum enumOptions
OPT_WIDE,
OPT_BYTES,
- OPT__N_SPECIFIC, // == 66
+ OPT__N_SPECIFIC, // == 68
//----- global options -----
@@ -182,7 +184,7 @@ typedef enum enumOptions
OPT_CLEAN_DOL,
OPT_CT_DIR,
- OPT__N_TOTAL // == 121
+ OPT__N_TOTAL // == 123
} enumOptions;
@@ -199,6 +201,8 @@ typedef enum enumOptions
//
// OB_LONG = 1llu << OPT_LONG,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
+// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_CHEAT = 1llu << OPT_CHEAT,
// OB_ADD_WCODE = 1llu << OPT_ADD_WCODE,
@@ -328,19 +332,27 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
// OB_CMD_RAWDUMP = OB_DEST
// | OB_DEST2,
//
-// OB_CMD_DUMP = OB_LONG,
+// OB_CMD_DUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
// OB_CMD_CDUMP = 0,
//
-// OB_CMD_HEXDUMP = OB_VADDR
+// OB_CMD_HEXDUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_VADDR
// | OB_FADDR
// | OB_SNAME
// | OB_GRP_HEXDUMP,
@@ -360,9 +372,15 @@ typedef enum enumOptions
// | OB_BRIEF
// | OB_LONG,
//
-// OB_CMD_HTTPS = OB_LONG,
+// OB_CMD_HTTPS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG,
//
-// OB_CMD_EXTRACT = OB_DEST
+// OB_CMD_EXTRACT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_DEST
// | OB_DEST2
// | OB_OVERWRITE,
//
@@ -382,11 +400,16 @@ typedef enum enumOptions
// | OB_LONG
// | OB_CHEAT,
//
-// OB_CMD_ANALYZE = OB_GRP_PATCH
+// OB_CMD_ANALYZE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_PATCH
// | OB_LONG,
//
-// OB_CMD_PATCH = OB_GRP_DEST
+// OB_CMD_PATCH = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_PATCH
// | OB_ADD_LECODE
// | OB_ADD_CTCODE
@@ -502,6 +525,8 @@ typedef enum enumGetOpt
GO_CT_CODE,
GO_LE_CODE,
GO_CHDIR,
+ GO_NO_WILDCARDS,
+ GO_IN_ORDER,
GO_VS_REGION,
GO_BT_REGION,
GO_ALL_RANKS,
diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c
index da13aa2..3f48fee 100644
--- a/project/src/ui/ui-wszst.c
+++ b/project/src/ui/ui-wszst.c
@@ -477,6 +477,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" from more than 8 cups."
},
+ { OPT_9LAPS, false, false, false, false, false, 0, "9laps",
+ 0,
+ "Patch RACE*.szs files from directory .../Scene/UI/ to support 9 laps."
+ " See https://wiki.tockdom.com/wiki/Lap_Texture_Fix for details."
+ },
+
{ OPT_TITLE_SCREEN, false, false, false, false, false, 0, "title-screen",
"dir",
"Specify a directory from which to search and replace title screens."
@@ -559,6 +565,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" unneeded sections is also suppressed."
},
+ { OPT_NO_WILDCARDS, false, false, false, false, false, 0, "no-wildcards",
+ 0,
+ "Disable wildcard parsing and use each filename exactly as specified."
+ },
+
{ OPT_IN_ORDER, false, false, false, false, false, 0, "in-order",
0,
"Process the input files in order of the command line and don't delete"
@@ -1189,7 +1200,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 == 142
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 144
//----- global options -----
@@ -1467,11 +1478,18 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" The other allowed keywords are: FORCE, NEW, RM-SPCITEM, LEFT, RIGHT,"
" WIDE, NARROW, FIX-CKPH, FIX-ENPH, FIX-ITPH, FIX-PH, FIX-CKNEXT,"
" FIX-CKJGPT, FIX-CK, FIX-ALL, MASK-PFLAGS, RM-LECODE, PURGE-GOBJ,"
- " FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP ... 9LAPS,"
- " MAX-LAPS, RM-EMPTY, TINY-0 ... TINY-7, INPLACE, SILENT and LOG. See"
+ " FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP .. 9LAPS,"
+ " MAX-LAPS, RM-EMPTY, TINY-0 .. TINY-7, INPLACE, SILENT and LOG. See"
" https://szs.wiimm.de/opt/kmp for details."
},
+ { OPT_N_LAPS, false, true, false, false, false, 0, "n-laps",
+ "laps",
+ "If LAPS is a number between 1 and 9, then ignore laps settings of"
+ " option --kmp (1LAP..9LAPS) and patch KMP:STGI to this number of"
+ " laps."
+ },
+
{ OPT_SPEED_MOD, false, false, false, false, false, 0, "speed-mod",
"factor",
"The speed modifier is a user extensions to change the basic speed of"
@@ -1577,13 +1595,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LT_CLEAR, false, false, false, false, false, 0, "lt-clear",
0,
- "Clear the LEX/TEST section and remove the section and course.lex if"
- " empty. This option is executed before all other --lt-* options."
+ "Clear LEX sections TEST and DEV1 and remove the section and"
+ " course.lex if empty. This option is executed before all other --lt-*"
+ " options."
},
{ OPT_LT_ONLINE, false, false, false, false, false, 0, "lt-online",
"mode",
- "Set LEX/TEST parameter OFFLINE-ONLINE to this MODE. MODE is one of"
+ "Set LEX:TEST parameter OFFLINE-ONLINE to this MODE. MODE is one of"
" AUTO (default), NEVER or ALWAYS. Only track.szs files are modified."
" If needed, file course.lex and section TEST are created or removed"
" if empty."
@@ -1591,14 +1610,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LT_N_PLAYERS, false, false, false, false, false, 0, "lt-n-players",
"offline,online",
- "Set LEX/TEST parameters N-OFFLINE and N-ONLINE to these integer"
+ "Set LEX:TEST parameters N-OFFLINE and N-ONLINE to these integer"
" values. Only track.szs files are modified. If needed, file"
" course.lex and section TEST are created or removed if empty."
},
{ OPT_LT_COND_BIT, false, false, false, false, false, 0, "lt-cond-bit",
"bitnum",
- "Set LEX/TEST parameter COND-BIT to this integer value. Use -1 to"
+ "Set LEX:TEST parameter COND-BIT to this integer value. Use -1 to"
" deactivate this COND-BIT. Only track.szs files are modified. If"
" needed, file course.lex and section TEST are created or removed if"
" empty."
@@ -1606,7 +1625,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LT_GAME_MODE, false, false, false, false, false, 0, "lt-game-mode",
"mode",
- "Set LEX/TEST parameter GAME-MODE to this MODE. MODE is one of AUTO"
+ "Set LEX:TEST parameter GAME-MODE to this MODE. MODE is one of AUTO"
" (default), BALLOON, COIN, VERSUS or ITEMRAIN. Only track.szs files"
" are modified. If needed, file course.lex and section TEST are"
" created or removed if empty."
@@ -1614,7 +1633,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_LT_ENGINE, false, false, false, false, false, 0, "lt-engine",
"mode",
- "Set LEX/TEST parameter ENGINE to this MODE. MODE is one of AUTO"
+ "Set LEX:TEST parameter ENGINE to this MODE. MODE is one of AUTO"
" (default), BATTLE, 50CC, 100CC, 150CC, 200CC, 150M or 200M. Only"
" track.szs files are modified. If needed, file course.lex and section"
" TEST are created or removed if empty."
@@ -1871,7 +1890,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 == 225
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 228
};
@@ -2288,25 +2307,25 @@ static const InfoOption_t option_cmd_STGI_IGNORE =
" too."
};
-static const InfoOption_t option_cmd_ISARENA_BRIEF =
+static const InfoOption_t option_cmd_IS_ARENA_IGNORE =
+ { OPT_IGNORE, false, false, false, false, false, 'i', "ignore",
+ 0,
+ "If set, ignore non existing source files and files without KMP"
+ " without warning."
+ };
+
+static const InfoOption_t option_cmd_IS_ARENA_BRIEF =
{ OPT_BRIEF, false, false, false, false, false, 'B', "brief",
0,
"If set, suppress the output of header and filenames."
};
-static const InfoOption_t option_cmd_ISARENA_QUIET =
+static const InfoOption_t option_cmd_IS_ARENA_QUIET =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"If set, print nothing and set only the exit status."
};
-static const InfoOption_t option_cmd_ISARENA_IGNORE =
- { OPT_IGNORE, false, false, false, false, false, 'i', "ignore",
- 0,
- "If set, ignore non existing source files and files without KMP"
- " without warning."
- };
-
static const InfoOption_t option_cmd_MINIMAP_LONG =
{ OPT_LONG, false, false, false, false, false, 'l', "long",
0,
@@ -2456,7 +2475,7 @@ static const KeywordTab_t CommandTab[] =
{ CMD_CHECK, "CHECK", 0, 0 },
{ CMD_SLOTS, "SLOTS", 0, 0 },
{ CMD_STGI, "STGI", 0, 0 },
- { CMD_ISARENA, "ISARENA", 0, 0 },
+ { CMD_IS_ARENA, "IS-ARENA", "ISARENA", 0 },
{ CMD_NORMALIZE, "NORMALIZE", "NORM", 0 },
{ CMD_PATCH, "PATCH", 0, 0 },
{ CMD_COPY, "COPY", "CP", 0 },
@@ -2601,6 +2620,8 @@ static const struct option OptionLong[] =
{ "xtridata", 2, 0, GO_XTRIDATA },
{ "xtri", 2, 0, GO_XTRIDATA },
{ "kmp", 1, 0, GO_KMP },
+ { "n-laps", 1, 0, GO_N_LAPS },
+ { "nlaps", 1, 0, GO_N_LAPS },
{ "speed-mod", 1, 0, GO_SPEED_MOD },
{ "speedmod", 1, 0, GO_SPEED_MOD },
{ "ktpt2", 1, 0, GO_KTPT2 },
@@ -2658,6 +2679,7 @@ static const struct option OptionLong[] =
{ "msg", 1, 0, GO_FILTER_BMG },
{ "le-menu", 0, 0, GO_LE_MENU },
{ "lemenu", 0, 0, GO_LE_MENU },
+ { "9laps", 0, 0, GO_9LAPS },
{ "title-screen", 1, 0, GO_TITLE_SCREEN },
{ "titlescreen", 1, 0, GO_TITLE_SCREEN },
{ "cup-icons", 1, 0, GO_CUP_ICONS },
@@ -2679,6 +2701,8 @@ static const struct option OptionLong[] =
{ "no-header", 0, 0, 'H' },
{ "noheader", 0, 0, 'H' },
{ "brief", 0, 0, 'B' },
+ { "no-wildcards", 0, 0, GO_NO_WILDCARDS },
+ { "nowildcards", 0, 0, GO_NO_WILDCARDS },
{ "in-order", 0, 0, GO_IN_ORDER },
{ "inorder", 0, 0, GO_IN_ORDER },
{ "pipe", 0, 0, GO_PIPE },
@@ -3000,133 +3024,135 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x0bc */ OPT_FLAG_FILE,
/* 0x0bd */ OPT_XTRIDATA,
/* 0x0be */ OPT_KMP,
- /* 0x0bf */ OPT_SPEED_MOD,
- /* 0x0c0 */ OPT_KTPT2,
- /* 0x0c1 */ OPT_TFORM_KMP,
- /* 0x0c2 */ OPT_REPAIR_XPF,
- /* 0x0c3 */ OPT_GAMEMODES,
- /* 0x0c4 */ OPT_MDL,
- /* 0x0c5 */ OPT_PAT,
- /* 0x0c6 */ OPT_PATCH_FILE,
- /* 0x0c7 */ OPT_KMG_LIMIT,
- /* 0x0c8 */ OPT_KMG_COPY,
- /* 0x0c9 */ OPT_LT_CLEAR,
- /* 0x0ca */ OPT_LT_ONLINE,
- /* 0x0cb */ OPT_LT_N_PLAYERS,
- /* 0x0cc */ OPT_LT_COND_BIT,
- /* 0x0cd */ OPT_LT_GAME_MODE,
- /* 0x0ce */ OPT_LT_ENGINE,
- /* 0x0cf */ OPT_LT_RANDOM,
- /* 0x0d0 */ OPT_LEX_PURGE,
- /* 0x0d1 */ OPT_LEX_FEATURES,
- /* 0x0d2 */ OPT_LEX_RM_FEAT,
- /* 0x0d3 */ OPT_LOAD_BMG,
- /* 0x0d4 */ OPT_PATCH_BMG,
- /* 0x0d5 */ OPT_MACRO_BMG,
- /* 0x0d6 */ OPT_FILTER_BMG,
- /* 0x0d7 */ OPT_LE_MENU,
- /* 0x0d8 */ OPT_TITLE_SCREEN,
- /* 0x0d9 */ OPT_CUP_ICONS,
- /* 0x0da */ OPT_NO_COPY,
- /* 0x0db */ OPT_CACHE,
- /* 0x0dc */ OPT_CNAME,
- /* 0x0dd */ OPT_LOG_CACHE,
- /* 0x0de */ OPT_PARALLEL,
- /* 0x0df */ OPT_ID,
- /* 0x0e0 */ OPT_BASE64,
- /* 0x0e1 */ OPT_DB64,
- /* 0x0e2 */ OPT_CODING,
- /* 0x0e3 */ OPT_VERIFY,
- /* 0x0e4 */ OPT_ROUND,
- /* 0x0e5 */ OPT_IN_ORDER,
- /* 0x0e6 */ OPT_PIPE,
- /* 0x0e7 */ OPT_DELTA,
- /* 0x0e8 */ OPT_DIFF,
- /* 0x0e9 */ OPT_EPSILON,
- /* 0x0ea */ OPT_BMG_ENDIAN,
- /* 0x0eb */ OPT_BMG_ENCODING,
- /* 0x0ec */ OPT_BMG_INF_SIZE,
- /* 0x0ed */ OPT_BMG_MID,
- /* 0x0ee */ OPT_FORCE_ATTRIB,
- /* 0x0ef */ OPT_DEF_ATTRIB,
- /* 0x0f0 */ OPT_NO_ATTRIB,
- /* 0x0f1 */ OPT_X_ESCAPES,
- /* 0x0f2 */ OPT_OLD_ESCAPES,
- /* 0x0f3 */ OPT_NO_BMG_COLORS,
- /* 0x0f4 */ OPT_BMG_COLORS,
- /* 0x0f5 */ OPT_NO_BMG_INLINE,
- /* 0x0f6 */ OPT_AUTOADD_PATH,
- /* 0x0f7 */ OPT_STRIP,
- /* 0x0f8 */ OPT_UTF_8,
- /* 0x0f9 */ OPT_NO_UTF_8,
- /* 0x0fa */ OPT_FORCE,
- /* 0x0fb */ OPT_REPAIR_MAGICS,
- /* 0x0fc */ OPT_TINY,
- /* 0x0fd */ OPT_YAZ0,
- /* 0x0fe */ OPT_YAZ1,
- /* 0x0ff */ OPT_XYZ,
- /* 0x100 */ OPT_BZ,
- /* 0x101 */ OPT_SH,
- /* 0x102 */ OPT_BASH,
- /* 0x103 */ OPT_JSON,
- /* 0x104 */ OPT_PHP,
- /* 0x105 */ OPT_MAKEDOC,
- /* 0x106 */ OPT_VAR,
- /* 0x107 */ OPT_ARRAY,
- /* 0x108 */ OPT_AVAR,
- /* 0x109 */ OPT_CASE,
- /* 0x10a */ OPT_FMODES,
- /* 0x10b */ OPT_INSTALL,
- /* 0x10c */ OPT_ANALYZE,
- /* 0x10d */ OPT_ANALYZE_MODE,
- /* 0x10e */ OPT_OLD,
- /* 0x10f */ OPT_STD,
- /* 0x110 */ OPT_NEW,
- /* 0x111 */ OPT_EXTRACT,
- /* 0x112 */ OPT_REFERENCE,
- /* 0x113 */ OPT_NUMBER,
- /* 0x114 */ OPT_REMOVE_SRC,
- /* 0x115 */ OPT_IGNORE_SETUP,
- /* 0x116 */ OPT_PURGE,
- /* 0x117 */ OPT_ALIGN_U8,
- /* 0x118 */ OPT_ALIGN_PACK,
- /* 0x119 */ OPT_ALIGN_BRRES,
- /* 0x11a */ OPT_ALIGN_BREFF,
- /* 0x11b */ OPT_ALIGN_BREFT,
- /* 0x11c */ OPT_ALIGN,
- /* 0x11d */ OPT_ENCODE_ALL,
- /* 0x11e */ OPT_ENCODE_IMG,
- /* 0x11f */ OPT_NO_ENCODE,
- /* 0x120 */ OPT_NO_RECURSE,
- /* 0x121 */ OPT_AUTO_ADD,
- /* 0x122 */ OPT_NO_ECHO,
- /* 0x123 */ OPT_PT_DIR,
- /* 0x124 */ OPT_RM_AIPARAM,
- /* 0x125 */ OPT_U8,
- /* 0x126 */ OPT_SZS,
- /* 0x127 */ OPT_WU8,
- /* 0x128 */ OPT_XWU8,
- /* 0x129 */ OPT_WBZ,
- /* 0x12a */ OPT_PACK,
- /* 0x12b */ OPT_BRRES,
- /* 0x12c */ OPT_BREFF,
- /* 0x12d */ OPT_BREFT,
- /* 0x12e */ OPT_NO_COMPRESS,
- /* 0x12f */ OPT_FAST,
- /* 0x130 */ OPT_LINKS,
- /* 0x131 */ OPT_BASEDIR,
- /* 0x132 */ OPT_DECODE,
- /* 0x133 */ OPT_MIPMAPS,
- /* 0x134 */ OPT_NO_MIPMAPS,
- /* 0x135 */ OPT_N_MIPMAPS,
- /* 0x136 */ OPT_MAX_MIPMAPS,
- /* 0x137 */ OPT_MIPMAP_SIZE,
- /* 0x138 */ OPT_FAST_MIPMAPS,
- /* 0x139 */ OPT_CMPR_DEFAULT,
- /* 0x13a */ OPT_CUT,
- /* 0x13b */ OPT_RAW,
- /* 0x13c */ OPT_SECTIONS,
- /* 0x13d */ 0,0,0,
+ /* 0x0bf */ OPT_N_LAPS,
+ /* 0x0c0 */ OPT_SPEED_MOD,
+ /* 0x0c1 */ OPT_KTPT2,
+ /* 0x0c2 */ OPT_TFORM_KMP,
+ /* 0x0c3 */ OPT_REPAIR_XPF,
+ /* 0x0c4 */ OPT_GAMEMODES,
+ /* 0x0c5 */ OPT_MDL,
+ /* 0x0c6 */ OPT_PAT,
+ /* 0x0c7 */ OPT_PATCH_FILE,
+ /* 0x0c8 */ OPT_KMG_LIMIT,
+ /* 0x0c9 */ OPT_KMG_COPY,
+ /* 0x0ca */ OPT_LT_CLEAR,
+ /* 0x0cb */ OPT_LT_ONLINE,
+ /* 0x0cc */ OPT_LT_N_PLAYERS,
+ /* 0x0cd */ OPT_LT_COND_BIT,
+ /* 0x0ce */ OPT_LT_GAME_MODE,
+ /* 0x0cf */ OPT_LT_ENGINE,
+ /* 0x0d0 */ OPT_LT_RANDOM,
+ /* 0x0d1 */ OPT_LEX_PURGE,
+ /* 0x0d2 */ OPT_LEX_FEATURES,
+ /* 0x0d3 */ OPT_LEX_RM_FEAT,
+ /* 0x0d4 */ OPT_LOAD_BMG,
+ /* 0x0d5 */ OPT_PATCH_BMG,
+ /* 0x0d6 */ OPT_MACRO_BMG,
+ /* 0x0d7 */ OPT_FILTER_BMG,
+ /* 0x0d8 */ OPT_LE_MENU,
+ /* 0x0d9 */ OPT_9LAPS,
+ /* 0x0da */ OPT_TITLE_SCREEN,
+ /* 0x0db */ OPT_CUP_ICONS,
+ /* 0x0dc */ OPT_NO_COPY,
+ /* 0x0dd */ OPT_CACHE,
+ /* 0x0de */ OPT_CNAME,
+ /* 0x0df */ OPT_LOG_CACHE,
+ /* 0x0e0 */ OPT_PARALLEL,
+ /* 0x0e1 */ OPT_ID,
+ /* 0x0e2 */ OPT_BASE64,
+ /* 0x0e3 */ OPT_DB64,
+ /* 0x0e4 */ OPT_CODING,
+ /* 0x0e5 */ OPT_VERIFY,
+ /* 0x0e6 */ OPT_ROUND,
+ /* 0x0e7 */ OPT_NO_WILDCARDS,
+ /* 0x0e8 */ OPT_IN_ORDER,
+ /* 0x0e9 */ OPT_PIPE,
+ /* 0x0ea */ OPT_DELTA,
+ /* 0x0eb */ OPT_DIFF,
+ /* 0x0ec */ OPT_EPSILON,
+ /* 0x0ed */ OPT_BMG_ENDIAN,
+ /* 0x0ee */ OPT_BMG_ENCODING,
+ /* 0x0ef */ OPT_BMG_INF_SIZE,
+ /* 0x0f0 */ OPT_BMG_MID,
+ /* 0x0f1 */ OPT_FORCE_ATTRIB,
+ /* 0x0f2 */ OPT_DEF_ATTRIB,
+ /* 0x0f3 */ OPT_NO_ATTRIB,
+ /* 0x0f4 */ OPT_X_ESCAPES,
+ /* 0x0f5 */ OPT_OLD_ESCAPES,
+ /* 0x0f6 */ OPT_NO_BMG_COLORS,
+ /* 0x0f7 */ OPT_BMG_COLORS,
+ /* 0x0f8 */ OPT_NO_BMG_INLINE,
+ /* 0x0f9 */ OPT_AUTOADD_PATH,
+ /* 0x0fa */ OPT_STRIP,
+ /* 0x0fb */ OPT_UTF_8,
+ /* 0x0fc */ OPT_NO_UTF_8,
+ /* 0x0fd */ OPT_FORCE,
+ /* 0x0fe */ OPT_REPAIR_MAGICS,
+ /* 0x0ff */ OPT_TINY,
+ /* 0x100 */ OPT_YAZ0,
+ /* 0x101 */ OPT_YAZ1,
+ /* 0x102 */ OPT_XYZ,
+ /* 0x103 */ OPT_BZ,
+ /* 0x104 */ OPT_SH,
+ /* 0x105 */ OPT_BASH,
+ /* 0x106 */ OPT_JSON,
+ /* 0x107 */ OPT_PHP,
+ /* 0x108 */ OPT_MAKEDOC,
+ /* 0x109 */ OPT_VAR,
+ /* 0x10a */ OPT_ARRAY,
+ /* 0x10b */ OPT_AVAR,
+ /* 0x10c */ OPT_CASE,
+ /* 0x10d */ OPT_FMODES,
+ /* 0x10e */ OPT_INSTALL,
+ /* 0x10f */ OPT_ANALYZE,
+ /* 0x110 */ OPT_ANALYZE_MODE,
+ /* 0x111 */ OPT_OLD,
+ /* 0x112 */ OPT_STD,
+ /* 0x113 */ OPT_NEW,
+ /* 0x114 */ OPT_EXTRACT,
+ /* 0x115 */ OPT_REFERENCE,
+ /* 0x116 */ OPT_NUMBER,
+ /* 0x117 */ OPT_REMOVE_SRC,
+ /* 0x118 */ OPT_IGNORE_SETUP,
+ /* 0x119 */ OPT_PURGE,
+ /* 0x11a */ OPT_ALIGN_U8,
+ /* 0x11b */ OPT_ALIGN_PACK,
+ /* 0x11c */ OPT_ALIGN_BRRES,
+ /* 0x11d */ OPT_ALIGN_BREFF,
+ /* 0x11e */ OPT_ALIGN_BREFT,
+ /* 0x11f */ OPT_ALIGN,
+ /* 0x120 */ OPT_ENCODE_ALL,
+ /* 0x121 */ OPT_ENCODE_IMG,
+ /* 0x122 */ OPT_NO_ENCODE,
+ /* 0x123 */ OPT_NO_RECURSE,
+ /* 0x124 */ OPT_AUTO_ADD,
+ /* 0x125 */ OPT_NO_ECHO,
+ /* 0x126 */ OPT_PT_DIR,
+ /* 0x127 */ OPT_RM_AIPARAM,
+ /* 0x128 */ OPT_U8,
+ /* 0x129 */ OPT_SZS,
+ /* 0x12a */ OPT_WU8,
+ /* 0x12b */ OPT_XWU8,
+ /* 0x12c */ OPT_WBZ,
+ /* 0x12d */ OPT_PACK,
+ /* 0x12e */ OPT_BRRES,
+ /* 0x12f */ OPT_BREFF,
+ /* 0x130 */ OPT_BREFT,
+ /* 0x131 */ OPT_NO_COMPRESS,
+ /* 0x132 */ OPT_FAST,
+ /* 0x133 */ OPT_LINKS,
+ /* 0x134 */ OPT_BASEDIR,
+ /* 0x135 */ OPT_DECODE,
+ /* 0x136 */ OPT_MIPMAPS,
+ /* 0x137 */ OPT_NO_MIPMAPS,
+ /* 0x138 */ OPT_N_MIPMAPS,
+ /* 0x139 */ OPT_MAX_MIPMAPS,
+ /* 0x13a */ OPT_MIPMAP_SIZE,
+ /* 0x13b */ OPT_FAST_MIPMAPS,
+ /* 0x13c */ OPT_CMPR_DEFAULT,
+ /* 0x13d */ OPT_CUT,
+ /* 0x13e */ OPT_RAW,
+ /* 0x13f */ OPT_SECTIONS,
};
//
@@ -3134,742 +3160,742 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[142] = // cmd #1
+static u8 option_allowed_cmd_VERSION[144] = // cmd #1
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_HELP[142] = // cmd #2
+static u8 option_allowed_cmd_HELP[144] = // cmd #2
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_CONFIG[142] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[144] = // cmd #3
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,0,1,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_INSTALL[142] = // cmd #4
+static u8 option_allowed_cmd_INSTALL[144] = // 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,1,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #5
+static u8 option_allowed_cmd_ARGTEST[144] = // cmd #5
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_EXPAND[142] = // cmd #6
+static u8 option_allowed_cmd_EXPAND[144] = // cmd #6
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_WILDCARDS[142] = // cmd #7
+static u8 option_allowed_cmd_WILDCARDS[144] = // cmd #7
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 0,0,0,0,0, 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, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TEST[142] = // cmd #8
+static u8 option_allowed_cmd_TEST[144] = // cmd #8
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_COLORS[142] = // cmd #9
+static u8 option_allowed_cmd_COLORS[144] = // cmd #9
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ERROR[142] = // cmd #10
+static u8 option_allowed_cmd_ERROR[144] = // cmd #10
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[142] = // cmd #11
+static u8 option_allowed_cmd_FILETYPE[144] = // cmd #11
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,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, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_UI_CHECK[142] = // cmd #12
+static u8 option_allowed_cmd_UI_CHECK[144] = // cmd #12
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,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, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #13
+static u8 option_allowed_cmd_FILEATTRIB[144] = // 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, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 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[142] = // cmd #14
+static u8 option_allowed_cmd_BRSUB[144] = // cmd #14
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #15
+static u8 option_allowed_cmd_SYMBOLS[144] = // 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, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 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[142] = // cmd #16
+static u8 option_allowed_cmd_FUNCTIONS[144] = // 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,1, 1,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_CALCULATE[142] = // cmd #17
+static u8 option_allowed_cmd_CALCULATE[144] = // cmd #17
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_MATRIX[142] = // cmd #18
+static u8 option_allowed_cmd_MATRIX[144] = // cmd #18
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,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, 1,0,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FLOAT[142] = // cmd #19
+static u8 option_allowed_cmd_FLOAT[144] = // cmd #19
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 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[142] = // cmd #20
+static u8 option_allowed_cmd_VR_CALC[144] = // 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, 1,1,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_VR_RACE[142] = // cmd #21
+static u8 option_allowed_cmd_VR_RACE[144] = // 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,1, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 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[142] = // cmd #22
+static u8 option_allowed_cmd_AUTOADD[144] = // 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,1,1,0,1,
- 0,0,1,0,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,1,0,0,1, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TRACKS[142] = // cmd #23
+static u8 option_allowed_cmd_TRACKS[144] = // cmd #23
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0
};
-static u8 option_allowed_cmd_SCANCACHE[142] = // cmd #24
+static u8 option_allowed_cmd_SCANCACHE[144] = // cmd #24
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_EXPORT[142] = // cmd #25
+static u8 option_allowed_cmd_EXPORT[144] = // cmd #25
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_SIZEOF[142] = // cmd #26
+static u8 option_allowed_cmd_SIZEOF[144] = // 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,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,1, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 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[142] = // cmd #27
+static u8 option_allowed_cmd_CODE[144] = // 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,1,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #28
+static u8 option_allowed_cmd_RECODE[144] = // cmd #28
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_SUBFILE[142] = // cmd #29
+static u8 option_allowed_cmd_SUBFILE[144] = // cmd #29
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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
};
-static u8 option_allowed_cmd_TESTNORM[142] = // cmd #30
+static u8 option_allowed_cmd_TESTNORM[144] = // cmd #30
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_LIST[142] = // cmd #31
+static u8 option_allowed_cmd_LIST[144] = // cmd #31
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,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,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #32
+static u8 option_allowed_cmd_LIST_L[144] = // cmd #32
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,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,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #33
+static u8 option_allowed_cmd_LIST_LL[144] = // cmd #33
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,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,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #34
+static u8 option_allowed_cmd_LIST_LLL[144] = // cmd #34
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,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,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #35
+static u8 option_allowed_cmd_LIST_A[144] = // cmd #35
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,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,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #36
+static u8 option_allowed_cmd_LIST_LA[144] = // cmd #36
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,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,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #37
+static u8 option_allowed_cmd_NAME_REF[144] = // cmd #37
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ILIST[142] = // cmd #38
+static u8 option_allowed_cmd_ILIST[144] = // cmd #38
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #39
+static u8 option_allowed_cmd_ILIST_L[144] = // cmd #39
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #40
+static u8 option_allowed_cmd_ILIST_LL[144] = // cmd #40
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #41
+static u8 option_allowed_cmd_ILIST_A[144] = // cmd #41
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #42
+static u8 option_allowed_cmd_ILIST_LA[144] = // cmd #42
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #43
+static u8 option_allowed_cmd_MEMORY[144] = // cmd #43
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #44
+static u8 option_allowed_cmd_MEMORY_A[144] = // cmd #44
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #45
+static u8 option_allowed_cmd_DUMP[144] = // cmd #45
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #46
+static u8 option_allowed_cmd_SHA1[144] = // cmd #46
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,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,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,0, 1,0,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_ANALYZE[142] = // cmd #47
+static u8 option_allowed_cmd_ANALYZE[144] = // cmd #47
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_SPLIT[142] = // cmd #48
+static u8 option_allowed_cmd_SPLIT[144] = // cmd #48
{
0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_IS_TEXTURE[142] = // cmd #49
+static u8 option_allowed_cmd_IS_TEXTURE[144] = // cmd #49
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FEATURES[142] = // cmd #50
+static u8 option_allowed_cmd_FEATURES[144] = // 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,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, 1,0,0,0,0, 0,1,1,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_DISTRIBUTION[142] = // cmd #51
+static u8 option_allowed_cmd_DISTRIBUTION[144] = // cmd #51
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,1, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 1,1,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,1,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #52
+static u8 option_allowed_cmd_DIFF[144] = // cmd #52
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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,0, 0,0,0,0,0, 0,0,0,1,1, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 1,1,0,0
};
-static u8 option_allowed_cmd_CHECK[142] = // cmd #53
+static u8 option_allowed_cmd_CHECK[144] = // cmd #53
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,1, 0,1,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 0,1,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 1,0,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #54
+static u8 option_allowed_cmd_SLOTS[144] = // cmd #54
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,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,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,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[142] = // cmd #55
+static u8 option_allowed_cmd_STGI[144] = // cmd #55
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #56
+static u8 option_allowed_cmd_IS_ARENA[144] = // cmd #56
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #57
+static u8 option_allowed_cmd_NORMALIZE[144] = // cmd #57
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,1,1, 1,1,1,0,0, 1,1,1,1,1, 1,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[142] = // cmd #58
+static u8 option_allowed_cmd_PATCH[144] = // cmd #58
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 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[142] = // cmd #59
+static u8 option_allowed_cmd_COPY[144] = // cmd #59
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 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[142] = // cmd #60
+static u8 option_allowed_cmd_DUPLICATE[144] = // cmd #60
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
+ 1,1,1,1,1, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,1,1, 1,1,1,0,0, 1,1,1,1,1, 1,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[142] = // cmd #61
+static u8 option_allowed_cmd_MINIMAP[144] = // cmd #61
{
0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
+ 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,1,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,1,0,1, 1,0,0,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,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[142] = // cmd #62
+static u8 option_allowed_cmd_COMPRESS[144] = // cmd #62
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,1,1, 1,1,1,0,0, 1,1,1,1,1, 1,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[142] = // cmd #63
+static u8 option_allowed_cmd_DECOMPRESS[144] = // cmd #63
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,1,1, 1,1,1,0,0, 1,1,1,1,1, 1,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[142] = // cmd #64
+static u8 option_allowed_cmd_ENCODE[144] = // cmd #64
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,1,0,1,1, 1,1,1,1,1, 1,1,1,0,1, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 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[142] = // cmd #65
+static u8 option_allowed_cmd_CREATE[144] = // cmd #65
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,1, 0,1,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 0,1,0,0,0, 0,1,1,1,1, 1,1,1,0,1, 0,0
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_UPDATE[142] = // cmd #66
+static u8 option_allowed_cmd_UPDATE[144] = // cmd #66
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 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,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,1,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,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[142] = // cmd #67
+static u8 option_allowed_cmd_EXTRACT[144] = // cmd #67
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 1,1,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,1,1,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[142] = // cmd #68
+static u8 option_allowed_cmd_XDECODE[144] = // cmd #68
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 1,1,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,1,1,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[142] = // cmd #69
+static u8 option_allowed_cmd_XEXPORT[144] = // cmd #69
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 1,1,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,1,1,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[142] = // cmd #70
+static u8 option_allowed_cmd_XALL[144] = // cmd #70
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 1,1,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,1,1,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,1, 1,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[142] = // cmd #71
+static u8 option_allowed_cmd_XCOMMON[144] = // cmd #71
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_BINARY[142] = // cmd #72
+static u8 option_allowed_cmd_BINARY[144] = // cmd #72
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TEXT[142] = // cmd #73
+static u8 option_allowed_cmd_TEXT[144] = // cmd #73
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,1,
- 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,
+ 0,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_CAT[142] = // cmd #74
+static u8 option_allowed_cmd_CAT[144] = // cmd #74
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,1,
- 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,
+ 0,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_BMG[142] = // cmd #75
+static u8 option_allowed_cmd_BMG[144] = // cmd #75
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0,
- 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1,
+ 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_KCL[142] = // cmd #76
+static u8 option_allowed_cmd_KCL[144] = // cmd #76
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,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,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
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #77
+static u8 option_allowed_cmd_KMP[144] = // cmd #77
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,0,0,0, 0,0,0,0,0, 1,1,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #78
+static u8 option_allowed_cmd_LEX[144] = // cmd #78
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_INFO[142] = // cmd #79
+static u8 option_allowed_cmd_INFO[144] = // 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, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,1,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 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[142] = // cmd #80
+static u8 option_allowed_cmd_GHOST[144] = // cmd #80
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0,
- 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_YAZDUMP[142] = // cmd #81
+static u8 option_allowed_cmd_YAZDUMP[144] = // cmd #81
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
+ 1,1,1,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_VEHICLE[142] = // cmd #82
+static u8 option_allowed_cmd_VEHICLE[144] = // cmd #82
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,0,1,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 0,0,0,0,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
};
@@ -4009,6 +4035,9 @@ static const InfoOption_t * option_tab_cmd_CONFIG[] =
static const InfoOption_t * option_tab_cmd_INSTALL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
0
};
@@ -4027,8 +4056,9 @@ static const InfoOption_t * option_tab_cmd_EXPAND[] =
static const InfoOption_t * option_tab_cmd_WILDCARDS[] =
{
- OptionInfo + OPT_IGNORE,
+ OptionInfo + OPT_NO_WILDCARDS,
OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
0
};
@@ -4062,19 +4092,22 @@ static const InfoOption_t * option_tab_cmd_ERROR[] =
static const InfoOption_t * option_tab_cmd_FILETYPE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
&option_cmd_FILETYPE_LONG,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_UI_CHECK[] =
{
- &option_cmd_UI_CHECK_LONG,
- OptionInfo + OPT_NO_HEADER,
+ OptionInfo + OPT_NO_WILDCARDS,
OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_UI_CHECK_LONG,
+ OptionInfo + OPT_NO_HEADER,
0
};
@@ -4171,7 +4204,12 @@ static const InfoOption_t * option_tab_cmd_VR_RACE[] =
static const InfoOption_t * option_tab_cmd_AUTOADD[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_AUTOADD_QUIET,
&option_cmd_AUTOADD_VERBOSE,
&option_cmd_AUTOADD_DEST,
@@ -4223,6 +4261,9 @@ static const InfoOption_t * option_tab_cmd_SIZEOF[] =
static const InfoOption_t * option_tab_cmd_CODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
0
};
@@ -4258,14 +4299,19 @@ static const InfoOption_t * option_tab_cmd_TESTNORM[] =
static const InfoOption_t * option_tab_cmd_LIST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
&option_cmd_LIST_LONG,
OptionInfo + OPT_SORT,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -4315,7 +4361,6 @@ static const InfoOption_t * option_tab_cmd_LIST[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -4324,14 +4369,19 @@ static const InfoOption_t * option_tab_cmd_LIST[] =
static const InfoOption_t * option_tab_cmd_LIST_L[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
&option_cmd_LIST_LONG,
OptionInfo + OPT_SORT,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -4381,7 +4431,6 @@ static const InfoOption_t * option_tab_cmd_LIST_L[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -4390,14 +4439,19 @@ static const InfoOption_t * option_tab_cmd_LIST_L[] =
static const InfoOption_t * option_tab_cmd_LIST_LL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
&option_cmd_LIST_LONG,
OptionInfo + OPT_SORT,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -4447,7 +4501,6 @@ static const InfoOption_t * option_tab_cmd_LIST_LL[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -4456,14 +4509,19 @@ static const InfoOption_t * option_tab_cmd_LIST_LL[] =
static const InfoOption_t * option_tab_cmd_LIST_LLL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
&option_cmd_LIST_LONG,
OptionInfo + OPT_SORT,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -4513,7 +4571,6 @@ static const InfoOption_t * option_tab_cmd_LIST_LLL[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -4522,14 +4579,19 @@ static const InfoOption_t * option_tab_cmd_LIST_LLL[] =
static const InfoOption_t * option_tab_cmd_LIST_A[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
&option_cmd_LIST_LONG,
OptionInfo + OPT_SORT,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -4579,7 +4641,6 @@ static const InfoOption_t * option_tab_cmd_LIST_A[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -4588,14 +4649,19 @@ static const InfoOption_t * option_tab_cmd_LIST_A[] =
static const InfoOption_t * option_tab_cmd_LIST_LA[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
&option_cmd_LIST_LONG,
OptionInfo + OPT_SORT,
OptionInfo + OPT_NO_HEADER,
- OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -4645,7 +4711,6 @@ static const InfoOption_t * option_tab_cmd_LIST_LA[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -4663,7 +4728,13 @@ static const InfoOption_t * option_tab_cmd_NAME_REF[] =
static const InfoOption_t * option_tab_cmd_ILIST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ALL,
&option_cmd_ILIST_LONG,
OptionInfo + OPT_SORT,
@@ -4717,7 +4788,6 @@ static const InfoOption_t * option_tab_cmd_ILIST[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
0
@@ -4725,7 +4795,13 @@ static const InfoOption_t * option_tab_cmd_ILIST[] =
static const InfoOption_t * option_tab_cmd_ILIST_L[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ALL,
&option_cmd_ILIST_LONG,
OptionInfo + OPT_SORT,
@@ -4779,7 +4855,6 @@ static const InfoOption_t * option_tab_cmd_ILIST_L[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
0
@@ -4787,7 +4862,13 @@ static const InfoOption_t * option_tab_cmd_ILIST_L[] =
static const InfoOption_t * option_tab_cmd_ILIST_LL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ALL,
&option_cmd_ILIST_LONG,
OptionInfo + OPT_SORT,
@@ -4841,7 +4922,6 @@ static const InfoOption_t * option_tab_cmd_ILIST_LL[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
0
@@ -4849,7 +4929,13 @@ static const InfoOption_t * option_tab_cmd_ILIST_LL[] =
static const InfoOption_t * option_tab_cmd_ILIST_A[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ALL,
&option_cmd_ILIST_LONG,
OptionInfo + OPT_SORT,
@@ -4903,7 +4989,6 @@ static const InfoOption_t * option_tab_cmd_ILIST_A[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
0
@@ -4911,7 +4996,13 @@ static const InfoOption_t * option_tab_cmd_ILIST_A[] =
static const InfoOption_t * option_tab_cmd_ILIST_LA[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_ALL,
&option_cmd_ILIST_LONG,
OptionInfo + OPT_SORT,
@@ -4965,7 +5056,6 @@ static const InfoOption_t * option_tab_cmd_ILIST_LA[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
0
@@ -4973,7 +5063,13 @@ static const InfoOption_t * option_tab_cmd_ILIST_LA[] =
static const InfoOption_t * option_tab_cmd_MEMORY[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
&option_cmd_MEMORY_DECODE,
&option_cmd_MEMORY_MIPMAPS,
@@ -5031,7 +5127,6 @@ static const InfoOption_t * option_tab_cmd_MEMORY[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -5040,7 +5135,13 @@ static const InfoOption_t * option_tab_cmd_MEMORY[] =
static const InfoOption_t * option_tab_cmd_MEMORY_A[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_RECURSE,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_EXT,
&option_cmd_MEMORY_DECODE,
&option_cmd_MEMORY_MIPMAPS,
@@ -5098,7 +5199,6 @@ static const InfoOption_t * option_tab_cmd_MEMORY_A[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_SLOT,
@@ -5107,6 +5207,12 @@ static const InfoOption_t * option_tab_cmd_MEMORY_A[] =
static const InfoOption_t * option_tab_cmd_DUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
@@ -5157,7 +5263,6 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
OptionInfo + OPT_MIPMAP_SIZE,
OptionInfo + OPT_FAST_MIPMAPS,
OptionInfo + OPT_CMPR_DEFAULT,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
0
@@ -5165,7 +5270,13 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
static const InfoOption_t * option_tab_cmd_SHA1[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_RECURSE,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
OptionInfo + OPT_IGNORE_SETUP,
@@ -5230,8 +5341,13 @@ static const InfoOption_t * option_tab_cmd_SHA1[] =
static const InfoOption_t * option_tab_cmd_ANALYZE[] =
{
- &option_cmd_ANALYZE_LONG,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ &option_cmd_ANALYZE_LONG,
&option_cmd_ANALYZE_QUIET,
OptionInfo + OPT_NONE, // separator
@@ -5258,6 +5374,12 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] =
static const InfoOption_t * option_tab_cmd_SPLIT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LOAD_PREFIX,
OptionInfo + OPT_LOAD_CATEGORY,
OptionInfo + OPT_PLUS,
@@ -5266,10 +5388,6 @@ static const InfoOption_t * option_tab_cmd_SPLIT[] =
OptionInfo + OPT_NONE, // separator
- OptionInfo + OPT_IGNORE,
-
- OptionInfo + OPT_NONE, // separator
-
&option_grp_SCRIPT_SECTIONS,
OptionInfo + OPT_SH,
OptionInfo + OPT_BASH,
@@ -5291,7 +5409,12 @@ static const InfoOption_t * option_tab_cmd_SPLIT[] =
static const InfoOption_t * option_tab_cmd_IS_TEXTURE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_REFERENCE,
OptionInfo + OPT_BATTLE,
&option_cmd_IS_TEXTURE_LONG,
@@ -5301,9 +5424,14 @@ static const InfoOption_t * option_tab_cmd_IS_TEXTURE[] =
static const InfoOption_t * option_tab_cmd_FEATURES[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_FEATURES_BRIEF,
&option_cmd_FEATURES_LONG,
- OptionInfo + OPT_IGNORE,
&option_cmd_FEATURES_QUIET,
OptionInfo + OPT_NONE, // separator
@@ -5330,7 +5458,12 @@ static const InfoOption_t * option_tab_cmd_FEATURES[] =
static const InfoOption_t * option_tab_cmd_DISTRIBUTION[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
OptionInfo + OPT_IGNORE_SETUP,
@@ -5404,8 +5537,13 @@ static const InfoOption_t * option_tab_cmd_DIFF[] =
static const InfoOption_t * option_tab_cmd_CHECK[] =
{
- &option_cmd_CHECK_NO_CHECK,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ &option_cmd_CHECK_NO_CHECK,
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
&option_cmd_CHECK_BRIEF,
@@ -5511,6 +5649,7 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -5519,7 +5658,12 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
static const InfoOption_t * option_tab_cmd_SLOTS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_SLOTS_BRIEF,
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_U8,
@@ -5622,6 +5766,7 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -5630,28 +5775,44 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] =
static const InfoOption_t * option_tab_cmd_STGI[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ &option_cmd_STGI_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_NO_HEADER,
- &option_cmd_STGI_IGNORE,
0
};
-static const InfoOption_t * option_tab_cmd_ISARENA[] =
+static const InfoOption_t * option_tab_cmd_IS_ARENA[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ &option_cmd_IS_ARENA_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_COLORS,
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_NO_HEADER,
- &option_cmd_ISARENA_BRIEF,
- &option_cmd_ISARENA_QUIET,
- &option_cmd_ISARENA_IGNORE,
+ &option_cmd_IS_ARENA_BRIEF,
+ &option_cmd_IS_ARENA_QUIET,
0
};
static const InfoOption_t * option_tab_cmd_NORMALIZE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -5677,7 +5838,6 @@ static const InfoOption_t * option_tab_cmd_NORMALIZE[] =
OptionInfo + OPT_NONE, // separator
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
OptionInfo + OPT_ALIGN_U8,
@@ -5741,6 +5901,7 @@ static const InfoOption_t * option_tab_cmd_NORMALIZE[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -5749,6 +5910,12 @@ static const InfoOption_t * option_tab_cmd_NORMALIZE[] =
static const InfoOption_t * option_tab_cmd_PATCH[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -5775,7 +5942,6 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_NONE, // separator
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_COMPRESS,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
@@ -5840,6 +6006,7 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -5848,6 +6015,12 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
static const InfoOption_t * option_tab_cmd_COPY[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -5874,7 +6047,6 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
OptionInfo + OPT_NONE, // separator
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_COMPRESS,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
@@ -5939,6 +6111,7 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -5948,6 +6121,12 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
static const InfoOption_t * option_tab_cmd_DUPLICATE[] =
{
OptionInfo + OPT_GAMEMODES,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -5974,7 +6153,6 @@ static const InfoOption_t * option_tab_cmd_DUPLICATE[] =
OptionInfo + OPT_NONE, // separator
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_COMPRESS,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
@@ -6039,6 +6217,7 @@ static const InfoOption_t * option_tab_cmd_DUPLICATE[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6047,10 +6226,15 @@ static const InfoOption_t * option_tab_cmd_DUPLICATE[] =
static const InfoOption_t * option_tab_cmd_MINIMAP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_MINIMAP_LONG,
OptionInfo + OPT_REMOVE_DEST,
OptionInfo + OPT_PRESERVE,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_COMPRESS,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
@@ -6102,6 +6286,12 @@ static const InfoOption_t * option_tab_cmd_MINIMAP[] =
static const InfoOption_t * option_tab_cmd_COMPRESS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6127,7 +6317,6 @@ static const InfoOption_t * option_tab_cmd_COMPRESS[] =
OptionInfo + OPT_NONE, // separator
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_COMPRESS,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
@@ -6192,6 +6381,7 @@ static const InfoOption_t * option_tab_cmd_COMPRESS[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6200,6 +6390,12 @@ static const InfoOption_t * option_tab_cmd_COMPRESS[] =
static const InfoOption_t * option_tab_cmd_DECOMPRESS[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6217,7 +6413,6 @@ static const InfoOption_t * option_tab_cmd_DECOMPRESS[] =
OptionInfo + OPT_U8,
OptionInfo + OPT_WU8,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_NORM,
OptionInfo + OPT_LINKS,
OptionInfo + OPT_ALIGN_U8,
@@ -6280,6 +6475,7 @@ static const InfoOption_t * option_tab_cmd_DECOMPRESS[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6288,6 +6484,12 @@ static const InfoOption_t * option_tab_cmd_DECOMPRESS[] =
static const InfoOption_t * option_tab_cmd_ENCODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_IGNORE_SETUP,
OptionInfo + OPT_ALIGN_U8,
OptionInfo + OPT_ALIGN_PACK,
@@ -6371,6 +6573,7 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6379,6 +6582,12 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
static const InfoOption_t * option_tab_cmd_CREATE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6494,6 +6703,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6502,8 +6712,13 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
static const InfoOption_t * option_tab_cmd_UPDATE[] =
{
- OptionInfo + OPT_SOURCE,
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_SOURCE,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6585,6 +6800,7 @@ static const InfoOption_t * option_tab_cmd_UPDATE[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6593,6 +6809,12 @@ static const InfoOption_t * option_tab_cmd_UPDATE[] =
static const InfoOption_t * option_tab_cmd_EXTRACT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6615,7 +6837,6 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] =
OptionInfo + OPT_CMPR_DEFAULT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_DELTA,
@@ -6675,6 +6896,7 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6683,6 +6905,12 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] =
static const InfoOption_t * option_tab_cmd_XDECODE[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6705,7 +6933,6 @@ static const InfoOption_t * option_tab_cmd_XDECODE[] =
OptionInfo + OPT_CMPR_DEFAULT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_DELTA,
@@ -6765,6 +6992,7 @@ static const InfoOption_t * option_tab_cmd_XDECODE[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6773,6 +7001,12 @@ static const InfoOption_t * option_tab_cmd_XDECODE[] =
static const InfoOption_t * option_tab_cmd_XEXPORT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6795,7 +7029,6 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] =
OptionInfo + OPT_CMPR_DEFAULT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_DELTA,
@@ -6855,6 +7088,7 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6863,6 +7097,12 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] =
static const InfoOption_t * option_tab_cmd_XALL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6885,7 +7125,6 @@ static const InfoOption_t * option_tab_cmd_XALL[] =
OptionInfo + OPT_CMPR_DEFAULT,
OptionInfo + OPT_CUT,
OptionInfo + OPT_ALL,
- OptionInfo + OPT_IGNORE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_DELTA,
@@ -6945,6 +7184,7 @@ static const InfoOption_t * option_tab_cmd_XALL[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -6953,6 +7193,12 @@ static const InfoOption_t * option_tab_cmd_XALL[] =
static const InfoOption_t * option_tab_cmd_XCOMMON[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6964,16 +7210,20 @@ static const InfoOption_t * option_tab_cmd_XCOMMON[] =
OptionInfo + OPT_OVERWRITE,
OptionInfo + OPT_NUMBER,
OptionInfo + OPT_REMOVE_DEST,
- OptionInfo + OPT_IGNORE,
0
};
static const InfoOption_t * option_tab_cmd_BINARY[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_KMG_LIMIT,
OptionInfo + OPT_KMG_COPY,
- OptionInfo + OPT_IGNORE,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -6991,7 +7241,12 @@ static const InfoOption_t * option_tab_cmd_BINARY[] =
static const InfoOption_t * option_tab_cmd_TEXT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DECODE,
OptionInfo + OPT_KMG_LIMIT,
OptionInfo + OPT_KMG_COPY,
@@ -7035,7 +7290,12 @@ static const InfoOption_t * option_tab_cmd_TEXT[] =
static const InfoOption_t * option_tab_cmd_CAT[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DECODE,
&option_grp_TEXTOUT_NO_HEADER,
OptionInfo + OPT_BRIEF,
@@ -7063,7 +7323,12 @@ static const InfoOption_t * option_tab_cmd_CAT[] =
static const InfoOption_t * option_tab_cmd_BMG[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_BMG_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_BMG_ENDIAN,
@@ -7087,7 +7352,12 @@ static const InfoOption_t * option_tab_cmd_BMG[] =
static const InfoOption_t * option_tab_cmd_KCL[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_KCL_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_NO_PARAM,
@@ -7143,6 +7413,7 @@ static const InfoOption_t * option_tab_cmd_KCL[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -7151,7 +7422,12 @@ static const InfoOption_t * option_tab_cmd_KCL[] =
static const InfoOption_t * option_tab_cmd_KMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_KMP_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_EXPORT,
@@ -7208,6 +7484,7 @@ static const InfoOption_t * option_tab_cmd_KMP[] =
OptionInfo + OPT_MACRO_BMG,
OptionInfo + OPT_FILTER_BMG,
OptionInfo + OPT_LE_MENU,
+ OptionInfo + OPT_9LAPS,
OptionInfo + OPT_TITLE_SCREEN,
OptionInfo + OPT_CUP_ICONS,
@@ -7216,7 +7493,12 @@ static const InfoOption_t * option_tab_cmd_KMP[] =
static const InfoOption_t * option_tab_cmd_LEX[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_LEX_NO_HEADER,
OptionInfo + OPT_BRIEF,
OptionInfo + OPT_EXPORT,
@@ -7226,6 +7508,8 @@ static const InfoOption_t * option_tab_cmd_LEX[] =
static const InfoOption_t * option_tab_cmd_INFO[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
&option_cmd_INFO_NO_HEADER,
@@ -7234,7 +7518,12 @@ static const InfoOption_t * option_tab_cmd_INFO[] =
static const InfoOption_t * option_tab_cmd_GHOST[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
&option_cmd_GHOST_NO_HEADER,
OptionInfo + OPT_NONE, // separator
@@ -7260,6 +7549,12 @@ static const InfoOption_t * option_tab_cmd_GHOST[] =
static const InfoOption_t * option_tab_cmd_YAZDUMP[] =
{
+ OptionInfo + OPT_NO_WILDCARDS,
+ OptionInfo + OPT_IN_ORDER,
+ OptionInfo + OPT_IGNORE,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
OptionInfo + OPT_ESC,
@@ -7374,10 +7669,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"INSTALL",
0,
"wszst INSTALL [file]...",
- "Install files to the shared directory. Use 'wszst CONFIG' to list"
- " related pathes.",
- 0,
+ "Install files to the shared directory. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details. Use"
+ " 'wszst CONFIG' to list related pathes.",
0,
+ 3,
option_tab_cmd_INSTALL,
option_allowed_cmd_INSTALL
},
@@ -7407,10 +7703,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"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) for the following parameters. All tools know the EXPAND"
- " command.",
+ " searched. All tools know the EXPAND command.",
0,
0,
option_tab_cmd_EXPAND,
@@ -7424,15 +7717,14 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"WILDCARDS",
0,
"wszst WILDCARDS pattern...",
- " Each parameter is treated as a filename. Wildcards are accepted, see"
- " https://szs.wiimm.de/doc/wildcards for details. After evaluating the"
- " wildcards, all input files are sorted according to their path and"
- " duplicates are deleted. The special parameters '+h' and '_h' enable"
- " or disable the search for hidden directories and files (files"
- " beginning with a point) for the following parameters. Finally, one"
- " line is printed for each file name of the list.",
+ " Each parameter is treated as a filename. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details. The special parameters '|+' and '|-' enable or disable the"
+ " search for hidden directories and files (files beginning with a"
+ " point) for the following parameters. Finally, one line is printed"
+ " for each file name of the list.",
0,
- 2,
+ 3,
option_tab_cmd_WILDCARDS,
option_allowed_cmd_WILDCARDS
},
@@ -7492,9 +7784,11 @@ 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. All tools know the FILETYPE command.",
+ " each file as list. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. All tools know the"
+ " FILETYPE command.",
0,
- 3,
+ 5,
option_tab_cmd_FILETYPE,
option_allowed_cmd_FILETYPE
},
@@ -7507,12 +7801,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"UC",
"wszst UI-CHECK file...",
"Classify SZS files from directory .../Scene/UI/. For the analysis,"
- " the filename is ignored and only the content is examined.Wildcards"
- " are accepted, see https://szs.wiimm.de/doc/wildcards for details."
- " After evaluating the wildcards, all input files are sorted according"
- " to their path and duplicates are deleted.",
+ " the filename is ignored and only the content is examined. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 4,
+ 5,
option_tab_cmd_UI_CHECK,
option_allowed_cmd_UI_CHECK
},
@@ -7541,11 +7834,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
false,
"BRSUB",
0,
- "wszst BRSUB [file]...",
+ "wszst BRSUB [source]...",
" If no file is defined, print a table with known BRRES sub files"
" consisting of file format, version, number of sections and warn"
" level. Otherwise analyse the version numbers of each BRRES sub file"
- " of each source and print warnings about invalid versions.",
+ " of each source and print warnings about invalid versions. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
3,
option_tab_cmd_BRSUB,
@@ -7688,12 +7983,15 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Manage the auto-add library. Primarily add files to the main auto-add"
" archive for future use of option --auto-add or to convert WU8 files."
" If SOURCE is a directory, all standard track and arena file names"
- " are searched for the missed auto-add files. Without source files,"
- " the status of the auto-add archive is printed.\n"
+ " are searched for the missed auto-add files. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.\n"
+ " Without source files, the status of the auto-add archive is"
+ " printed.\n"
" Try 'wszst AUTOADD ./path_to/Race/Course/' to add all supported"
" files.",
0,
- 8,
+ 10,
option_tab_cmd_AUTOADD,
option_allowed_cmd_AUTOADD
},
@@ -7773,9 +8071,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst _CODE [files]",
"All bytes of all input files are xor'ed with 0xDC and copied to"
- " stdout. If no source file is given, standard input is read.",
- 0,
+ " stdout. If no source file is given, standard input is read."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
+ 3,
option_tab_cmd_CODE,
option_allowed_cmd_CODE
},
@@ -7833,12 +8133,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst LIST [source]...",
"List all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC"
" archives. If listing a directory, then a virtual SZS file is created"
- " (like CREATE does it) and listed. Wildcards are accepted, see"
- " https://szs.wiimm.de/doc/wildcards for details. After evaluating the"
- " wildcards, all input files are sorted according to their path and"
- " duplicates are deleted.",
+ " (like CREATE does it) and listed. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 51,
+ 52,
option_tab_cmd_LIST,
option_allowed_cmd_LIST
},
@@ -7851,12 +8149,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LL",
"wszst LIST-L [source]...",
"List all sub files with size. 'LIST-L' and 'LL' are short cuts for"
- " 'LIST --long'. Wildcards are accepted, see"
- " https://szs.wiimm.de/doc/wildcards for details. After evaluating the"
- " wildcards, all input files are sorted according to their path and"
- " duplicates are deleted.",
+ " 'LIST --long'. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 51,
+ 52,
option_tab_cmd_LIST_L,
option_allowed_cmd_LIST_L
},
@@ -7869,12 +8165,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LLL",
"wszst LIST-LL [source]...",
"List all sub files with offset and size. 'LIST-LL' and 'LLL' are"
- " short cuts for 'LIST --long --long'. Wildcards are accepted, see"
- " https://szs.wiimm.de/doc/wildcards for details. After evaluating the"
- " wildcards, all input files are sorted according to their path and"
- " duplicates are deleted.",
+ " short cuts for 'LIST --long --long'. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 51,
+ 52,
option_tab_cmd_LIST_LL,
option_allowed_cmd_LIST_LL
},
@@ -7888,11 +8182,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst LIST-LLL [source]...",
"List all sub files with offset and size in debugging mode. 'LIST-LLL'"
" and 'LLLL' are short cuts for 'LIST --long --long --long'. Wildcards"
- " are accepted, see https://szs.wiimm.de/doc/wildcards for details."
- " After evaluating the wildcards, all input files are sorted according"
- " to their path and duplicates are deleted.",
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 51,
+ 52,
option_tab_cmd_LIST_LLL,
option_allowed_cmd_LIST_LLL
},
@@ -7905,12 +8198,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"LA",
"wszst LIST-A [source]...",
"List recursive all sub files with size. 'LIST-A' and 'LA' are short"
- " cuts for 'LIST --long --all --all'. Wildcards are accepted, see"
- " https://szs.wiimm.de/doc/wildcards for details. After evaluating the"
- " wildcards, all input files are sorted according to their path and"
- " duplicates are deleted.",
+ " cuts for 'LIST --long --all --all'. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 51,
+ 52,
option_tab_cmd_LIST_A,
option_allowed_cmd_LIST_A
},
@@ -7924,11 +8215,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst LIST-LA [source]...",
"List recursive all sub files with offset and size. 'LIST-LA' and"
" 'LLA' are short cuts for 'LIST --long --long --all --all'. Wildcards"
- " are accepted, see https://szs.wiimm.de/doc/wildcards for details."
- " After evaluating the wildcards, all input files are sorted according"
- " to their path and duplicates are deleted.",
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 51,
+ 52,
option_tab_cmd_LIST_LA,
option_allowed_cmd_LIST_LA
},
@@ -7943,7 +8233,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"For each BRRES file or subfile, create a name based cross reference"
" and print the result as list ordered by names in BRRES order. For U8"
" archives (e.g. track SZS files), sub file course_model.brres is"
- " analysed.",
+ " analysed. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
3,
option_tab_cmd_NAME_REF,
@@ -7960,9 +8251,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"List the images files of all sub files of SZS, U8, PACK, BRRES,"
" BREFF, BREFT and RARC archives; non image files are ignored. If"
" listing a directory, then a virtual SZS file is created (like CREATE"
- " does it) and listed.",
+ " does it) and listed. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 47,
+ 49,
option_tab_cmd_ILIST,
option_allowed_cmd_ILIST
},
@@ -7977,7 +8269,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,
- 47,
+ 49,
option_tab_cmd_ILIST_L,
option_allowed_cmd_ILIST_L
},
@@ -7992,7 +8284,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,
- 47,
+ 49,
option_tab_cmd_ILIST_LL,
option_allowed_cmd_ILIST_LL
},
@@ -8007,7 +8299,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,
- 47,
+ 49,
option_tab_cmd_ILIST_A,
option_allowed_cmd_ILIST_A
},
@@ -8022,7 +8314,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,
- 47,
+ 49,
option_tab_cmd_ILIST_LA,
option_allowed_cmd_ILIST_LA
},
@@ -8035,9 +8327,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"MEM",
"wszst MEMORY [source]...",
"Dump a memory map of each source file. Virtual images (extracted"
- " directories) are also supported.",
+ " directories) are also supported. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 49,
+ 51,
option_tab_cmd_MEMORY,
option_allowed_cmd_MEMORY
},
@@ -8052,7 +8345,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,
- 49,
+ 51,
option_tab_cmd_MEMORY_A,
option_allowed_cmd_MEMORY_A
},
@@ -8067,9 +8360,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Dump the internal structure of a BRRES files, compressed or not."
" Other archives are ignored. The main goal is to verify string"
" relocation. Virtual images (extracted directories) are also"
- " supported.",
+ " supported. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 43,
+ 45,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -8082,9 +8376,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst SHA1 [source]...",
"Print a SHA1 checksum for each source. The checksum is calculated by"
- " using the uncompressed data and after patching.",
+ " using the uncompressed data and after patching. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 50,
+ 53,
option_tab_cmd_SHA1,
option_allowed_cmd_SHA1
},
@@ -8097,9 +8393,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"ANA",
"wszst ANALYZE [source]...",
"Analyse track files and LE-CODE binaries. Print the results in"
- " machine-readable form. The output format is selected by options.",
+ " machine-readable form. The output format is selected by options."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 16,
+ 18,
option_tab_cmd_ANALYZE,
option_allowed_cmd_ANALYZE
},
@@ -8112,9 +8410,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst SPLIT [source]...",
"Analyse (file) names and split them into the different parts. Print"
- " the results in machine readable format.",
+ " the results in machine readable format. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 18,
+ 20,
option_tab_cmd_SPLIT,
option_allowed_cmd_SPLIT
},
@@ -8129,12 +8429,14 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Test each source to see if it's a texture hack versus a reference"
" file. For each source, one human and machine readable status line is"
" printed. It is either »-1=err« on error, »1=yes« for a texture"
- " hack, or »0=no LIST« with a comma separated list of reasons.\n"
+ " hack, or »0=no LIST« with a comma separated list of reasons."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.\n"
" At the moment KCL, KMP (see notes) and LEX are checked. KMP section"
" CAME has been intentionally left out. Section ENPT is only checked"
" if KCL contains a least one face of type force-recalculation.",
0,
- 4,
+ 6,
option_tab_cmd_IS_TEXTURE,
option_allowed_cmd_IS_TEXTURE
},
@@ -8148,9 +8450,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst FEATURES [source]...",
"Analyse track files and create a feature list for each source in"
" machine readable format. CTGP uses the feature lists to manage"
- " ghosts. See option --lex-features for details.",
+ " ghosts. See option --lex-features for details. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 17,
+ 19,
option_tab_cmd_FEATURES,
option_allowed_cmd_FEATURES
},
@@ -8167,7 +8471,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" the uncompressed data. If SOURCE is a directory, scan it for SZS,"
" WBZ, U8 and WU8 files. If a source directory starts with \"arena\","
" all tracks of the directory are assumed to be battle arenas. Finally"
- " print the results into file RESULT.\n"
+ " print the results into file RESULT. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.\n"
" The default name for RESULT is \"distribution.txt\". Extension .txt"
" is appended to the filename if not defined. If RESULT is a"
" directory, it is used as first source too.\n"
@@ -8177,7 +8482,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" See »welect DISTRIBUTION« for a new and alternative implementation"
" of this.",
0,
- 47,
+ 49,
option_tab_cmd_DISTRIBUTION,
option_allowed_cmd_DISTRIBUTION
},
@@ -8211,9 +8516,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" check both) and find unknown, modified, needed and unneeded files."
" Also analyse cannons and make slot proposals. This command uses an"
" internal object and file database. The source can be a SZS, U8, WU8"
- " or WBZ file, or an U8 like directory.",
+ " or WBZ file, or an U8 like directory. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 97,
+ 100,
option_tab_cmd_CHECK,
option_allowed_cmd_CHECK
},
@@ -8229,9 +8535,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" a SZS, U8, WU8 or WBZ file, or an U8 like directory. For each source"
" one status line is printed. The status line contains either a"
" positive or a negative slot list, whatever is shorter. For battle"
- " arenas, the keyword ARENA is printed.",
+ " arenas, the keyword ARENA is printed. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 93,
+ 96,
option_tab_cmd_SLOTS,
option_allowed_cmd_SLOTS
},
@@ -8246,32 +8553,35 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Find the first KMP:STGI of each file and print an analysis of it as"
" single line statistic. Additional the number of lap counter check"
" points ('LC') is printed. Track and KMP (binary and text) files are"
- " accepted as input.",
+ " accepted as input. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 4,
+ 6,
option_tab_cmd_STGI,
option_allowed_cmd_STGI
},
- { CMD_ISARENA,
+ { CMD_IS_ARENA,
false,
false,
false,
+ "IS-ARENA",
"ISARENA",
- 0,
- "wszst ISARENA [source]...",
+ "wszst IS_ARENA [source]...",
"Analyse each track for its arena status and print a line with a"
- " status code and the track name. The status code is: »-RACE« for a"
- " racing track, »?MAYBE« for likely an arena, »+ARENA« for an"
- " arena, »+DISPATCH« for an arena with dispatch points or any error"
- " hint beginning with an »!«. So the very first character (one of"
- " »!-?+«) can be used to distinguish the status class.\n"
+ " status code and the track name. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details. The"
+ " status code is: »-RACE« for a racing track, »?MAYBE« for likely"
+ " an arena, »+ARENA« for an arena, »+DISPATCH« for an arena with"
+ " dispatch points or any error hint beginning with an »!«. So the"
+ " very first character (one of »!-?+«) can be used to distinguish"
+ " the status class.\n"
" The exit status is >2 on error, 2 (DIFFER), if at least one file is"
" a racing track, or 0 (OK), if all sources are arenas.",
0,
- 6,
- option_tab_cmd_ISARENA,
- option_allowed_cmd_ISARENA
+ 8,
+ option_tab_cmd_IS_ARENA,
+ option_allowed_cmd_IS_ARENA
},
{ CMD_NORMALIZE,
@@ -8286,10 +8596,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" directory '.' is available it becomes the root directory for all"
" others. Compressed sources are compressed again with maximum"
" compression (level 9). The destination is only written if any data"
- " changed.\n"
+ " changed. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.\n"
" 'wszst NORMALIZE' is the same as 'wszst PATCH --norm'.",
0,
- 79,
+ 82,
option_tab_cmd_NORMALIZE,
option_allowed_cmd_NORMALIZE
},
@@ -8305,9 +8616,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" patching and transforming options and store the file again."
" Compressed sources are compressed again. The destination is only"
" written if any data changed or if stored in another file. Wildcards"
- " are accepted, see https://szs.wiimm.de/doc/wildcards for details.",
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 81,
+ 84,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
@@ -8323,12 +8635,15 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"COPY is an alternative command for copying and patching files. It"
" uses the same internal procedure as command PATCH, but has another"
" command line syntax.\n"
- " The command copies all source files to the destination. If more than"
- " 1 source is defined, the destination must be either a directory or a"
- " destination filename with escapes. Patching is also possible and"
- " option --overwrite is set implicitly.",
+ " The command copies all source files to the destination. If no"
+ " destination is defined by options --dest or --DEST, then the last"
+ " parameter is used as destination. If more than 1 source is defined,"
+ " the destination must be either a directory or a destination filename"
+ " with escapes. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details. Patching is also"
+ " possible and option --overwrite is set implicitly.",
0,
- 81,
+ 84,
option_tab_cmd_COPY,
option_allowed_cmd_COPY
},
@@ -8353,7 +8668,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" Use command 'wkmpt GAMEMODES' to list all variants and to check them"
" beforehand.",
0,
- 82,
+ 85,
option_tab_cmd_DUPLICATE,
option_allowed_cmd_DUPLICATE
},
@@ -8369,9 +8684,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" SZS, U8, BRRES or MDL file. If patching options are used, modify the"
" data and write back the file using its original file format. Only"
" the translation vector is modified and new translation and inverse"
- " matrices are calculated.",
+ " matrices are calculated. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 46,
+ 48,
option_tab_cmd_MINIMAP,
option_allowed_cmd_MINIMAP
},
@@ -8385,9 +8701,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst COMPRESS [source]...",
"Compress and create a SZS archives. If the source is already"
" compressed, then decompress and compress it again. The default"
- " destination is '%P/%N.szs'.",
+ " destination is '%P/%N.szs'. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 80,
+ 83,
option_tab_cmd_COMPRESS,
option_allowed_cmd_COMPRESS
},
@@ -8399,9 +8716,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"DECOMPRESS",
"DEC",
"wszst DECOMPRESS [szs]...",
- "Decompress SZS files. The default destination is '%P/%N.u8'.",
+ "Decompress SZS files. The default destination is '%P/%N.u8'."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 73,
+ 76,
option_tab_cmd_DECOMPRESS,
option_allowed_cmd_DECOMPRESS
},
@@ -8414,9 +8733,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"E",
"wszst ENCODE [source_dir]...",
" Create and/or encode sub files if necessary. It works like command"
- " CREATE, but without creating a new first level archive file.",
+ " CREATE, but without creating a new first level archive file."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 76,
+ 80,
option_tab_cmd_ENCODE,
option_allowed_cmd_ENCODE
},
@@ -8430,9 +8751,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst CREATE [source_dir]...",
"Create SZS, U8, PACK, BRRES, BREFF or BREFT archives by adding all"
" not hidden files of the directory structure. Create and/or encode"
- " sub files if necessary. The default destination is '%P/%N%T'.",
+ " sub files if necessary. The default destination is '%P/%N%T'."
+ " Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 102,
+ 106,
option_tab_cmd_CREATE,
option_allowed_cmd_CREATE
},
@@ -8449,9 +8772,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" instead of extracting, source files are searched in a prior"
" extracted archive. Only files with the same size are updated. The"
" secondary source is used to find the source sub files. The default"
- " secondary source is '%P/%N.d/'.",
+ " secondary source is '%P/%N.d/'. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 73,
+ 76,
option_tab_cmd_UPDATE,
option_allowed_cmd_UPDATE
},
@@ -8464,9 +8788,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"X",
"wszst EXTRACT [source]...",
"Extract all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC"
- " archives. The default destination is '%P/%N.d/'.",
+ " archives. The default destination is '%P/%N.d/'. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 78,
+ 81,
option_tab_cmd_EXTRACT,
option_allowed_cmd_EXTRACT
},
@@ -8481,9 +8807,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Command XDECODE is a short cut for 'EXTRACT --decode'. It extract all"
" sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC archives"
" and decodes all supported files. The default destination is"
- " '%P/%N.d/'.",
+ " '%P/%N.d/'. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 78,
+ 81,
option_tab_cmd_XDECODE,
option_allowed_cmd_XDECODE
},
@@ -8498,9 +8825,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Command XEXPORT is a short cut for 'EXTRACT --decode --export'. It"
" extract all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC"
" archives and decodes all supported files with enabled export mode."
- " The default destination is '%P/%N.d/'.",
+ " The default destination is '%P/%N.d/'. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 78,
+ 81,
option_tab_cmd_XEXPORT,
option_allowed_cmd_XEXPORT
},
@@ -8515,9 +8843,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Command XALL is a short cut for 'EXTRACT --all'. It extract all sub"
" files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC archives"
" recursively and decodes all supported files. The default destination"
- " is '%P/%N.d/'.",
+ " is '%P/%N.d/'. Wildcards and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 78,
+ 81,
option_tab_cmd_XALL,
option_allowed_cmd_XALL
},
@@ -8531,9 +8860,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst XCOMMON [source]...",
"Command XCOMMON is a short cut for 'EXTRACT --basedir=common'. Scan"
" archives and extract files from archives, that are below directory"
- " 'common'. The default destination is '%P/%N.d/'.",
+ " 'common'. The default destination is '%P/%N.d/'. Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 9,
+ 11,
option_tab_cmd_XCOMMON,
option_allowed_cmd_XCOMMON
},
@@ -8546,12 +8877,14 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"BIN",
"wszst BINARY [source]...",
"Read each source file (binary or text, but never archives) and write"
- " the content as binary file. The file extension of the new file"
- " depends on the file type, but is usually .bin. Currently supported"
- " file formats are BMG, GEOHIT, ITEMSLOT, KCL, KMG, KMP, LEX, OBJFLOW,"
- " PAT and the related text formats.",
+ " the content as binary file. Wildcards and pipe characters are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details.\n"
+ " The file extension of the new file depends on the file type, but is"
+ " usually .bin. Currently supported file formats are BMG, GEOHIT,"
+ " ITEMSLOT, KCL, KMG, KMP, LEX, OBJFLOW, PAT and the related text"
+ " formats.",
0,
- 11,
+ 13,
option_tab_cmd_BINARY,
option_allowed_cmd_BINARY
},
@@ -8564,12 +8897,13 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"TXT",
"wszst TEXT [source]...",
"Read each source file (binary or text, but never archives) and write"
- " the content as text file. The file extension of the new file is"
- " usually .txt. Currently supported file formats are BMG, GEOHIT,"
- " ITEMSLOT, KCL, KMG, KMP, LEX, OBJFLOW, PAT and the related text"
- " formats.",
+ " the content as text file. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details.\n"
+ " The file extension of the new file is usually .txt. Currently"
+ " supported file formats are BMG, GEOHIT, ITEMSLOT, KCL, KMG, KMP,"
+ " LEX, OBJFLOW, PAT and the related text formats.",
0,
- 32,
+ 34,
option_tab_cmd_TEXT,
option_allowed_cmd_TEXT
},
@@ -8582,10 +8916,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst CAT [source/subfile]...",
"Extract one or more sub files of SZS, U8, PACK, BRRES, BREFF, BREFT"
- " and RARC archives. The output of all source files is concatenated"
- " and written to stdout.",
+ " and RARC archives. Wildcards, pipe characters and sub-files are"
+ " parsed, see https://szs.wiimm.de/doc/wildcards for details. The"
+ " output of all source files is concatenated and written to stdout.",
0,
- 22,
+ 24,
option_tab_cmd_CAT,
option_allowed_cmd_CAT
},
@@ -8599,9 +8934,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst BMG [source]...",
"For each archive all BMG sub files are searched and, if found,"
" decoded and printed as combined BMG text file. The command works"
- " exactly like 'wbmgt MIX'.",
+ " exactly like 'wbmgt MIX'. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 18,
+ 20,
option_tab_cmd_BMG,
option_allowed_cmd_BMG
},
@@ -8614,11 +8950,14 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst KCL [source]...",
"For each archive the KCL sub file course.kcl is searched and, if"
- " found, decoded and printed (copied to stdout).\n"
+ " found, decoded and printed (copied to stdout). Wildcards, pipe"
+ " characters and sub-files are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.\n"
" Automated dropping of bad KCL triangles is enabled if no other drop"
- " option is specified by option --kcl.",
+ " option is specified by option --kcl. Wildcards and pipe characters"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 55,
+ 58,
option_tab_cmd_KCL,
option_allowed_cmd_KCL
},
@@ -8631,9 +8970,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst KMP [source]...",
"For each archive the KMP sub file course.kmp is searched and, if"
- " found, decoded and printed (copied to stdout).",
+ " found, decoded and printed (copied to stdout). Wildcards, pipe"
+ " characters and sub-files are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 56,
+ 59,
option_tab_cmd_KMP,
option_allowed_cmd_KMP
},
@@ -8646,9 +8987,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
0,
"wszst LEX [source]...",
"For each archive the LEX sub file course.lex is searched and, if"
- " found, decoded and printed (copied to stdout).",
+ " found, decoded and printed (copied to stdout). Wildcards and pipe"
+ " characters are parsed, see https://szs.wiimm.de/doc/wildcards for"
+ " details.",
0,
- 4,
+ 6,
option_tab_cmd_LEX,
option_allowed_cmd_LEX
},
@@ -8662,9 +9005,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wszst INFO [source]...",
"For each archive a file named info.txt and, if not found, credits.txt"
" is searched, ignoring case. The first found file of each archive is"
- " printed (copied to stdout).",
+ " printed (copied to stdout). Wildcards, pipe characters and sub-files"
+ " are parsed, see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 2,
+ 4,
option_tab_cmd_INFO,
option_allowed_cmd_INFO
},
@@ -8676,9 +9020,11 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"GHOSTS",
0,
"wszst GHOST [source]...",
- "Analyse each file and print a summary about the ghost data.",
+ "Analyse each file and print a summary about the ghost data. Wildcards"
+ " and pipe characters are parsed, see"
+ " https://szs.wiimm.de/doc/wildcards for details.",
0,
- 14,
+ 16,
option_tab_cmd_GHOST,
option_allowed_cmd_GHOST
},
@@ -8691,9 +9037,10 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"YD",
"wszst YAZDUMP [szs]...",
"Analyze YAZ compression and print a dump to stdout. Ignore files"
- " without YAZ compression.",
+ " without YAZ compression. Wildcards and pipe characters are parsed,"
+ " see https://szs.wiimm.de/doc/wildcards for details.",
0,
- 8,
+ 11,
option_tab_cmd_YAZDUMP,
option_allowed_cmd_YAZDUMP
},
diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h
index 2db44e8..fa0dc15 100644
--- a/project/src/ui/ui-wszst.h
+++ b/project/src/ui/ui-wszst.h
@@ -100,6 +100,7 @@ typedef enum enumOptions
OPT_MACRO_BMG,
OPT_FILTER_BMG,
OPT_LE_MENU,
+ OPT_9LAPS,
OPT_TITLE_SCREEN,
OPT_CUP_ICONS,
OPT_NO_COPY,
@@ -112,6 +113,7 @@ typedef enum enumOptions
OPT_LONG,
OPT_NO_HEADER,
OPT_BRIEF,
+ OPT_NO_WILDCARDS,
OPT_IN_ORDER,
OPT_PIPE,
OPT_DELTA,
@@ -198,7 +200,7 @@ typedef enum enumOptions
OPT_RAW,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 142
+ OPT__N_SPECIFIC, // == 144
//----- global options -----
@@ -236,6 +238,7 @@ typedef enum enumOptions
OPT_TRI_HEIGHT,
OPT_XTRIDATA,
OPT_KMP,
+ OPT_N_LAPS,
OPT_SPEED_MOD,
OPT_KTPT2,
OPT_TFORM_KMP,
@@ -286,7 +289,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 225
+ OPT__N_TOTAL // == 228
} enumOptions;
@@ -345,6 +348,7 @@ typedef enum enumOptions
// OB_MACRO_BMG = 1llu << OPT_MACRO_BMG,
// OB_FILTER_BMG = 1llu << OPT_FILTER_BMG,
// OB_LE_MENU = 1llu << OPT_LE_MENU,
+// OB_9LAPS = 1llu << OPT_9LAPS,
// OB_TITLE_SCREEN = 1llu << OPT_TITLE_SCREEN,
// OB_CUP_ICONS = 1llu << OPT_CUP_ICONS,
// OB_NO_COPY = 1llu << OPT_NO_COPY,
@@ -357,6 +361,7 @@ typedef enum enumOptions
// OB_LONG = 1llu << OPT_LONG,
// OB_NO_HEADER = 1llu << OPT_NO_HEADER,
// OB_BRIEF = 1llu << OPT_BRIEF,
+// OB_NO_WILDCARDS = 1llu << OPT_NO_WILDCARDS,
// OB_IN_ORDER = 1llu << OPT_IN_ORDER,
// OB_PIPE = 1llu << OPT_PIPE,
// OB_DELTA = 1llu << OPT_DELTA,
@@ -473,6 +478,7 @@ typedef enum enumOptions
// | OB_MACRO_BMG
// | OB_FILTER_BMG
// | OB_LE_MENU
+// | OB_9LAPS
// | OB_TITLE_SCREEN
// | OB_CUP_ICONS,
//
@@ -544,7 +550,9 @@ typedef enum enumOptions
// | OB_TRANSFORM
// | OB_STRIP,
//
-// OB_GRP_CREATE = OB_IGNORE_SETUP
+// OB_GRP_CREATE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE_SETUP
// | OB_GRP_FFORMAT2
// | OB_PT_DIR
// | OB_LINKS
@@ -593,14 +601,17 @@ typedef enum enumOptions
// | OB_LONG
// | OB_GRP_SCRIPT,
//
-// OB_CMD_INSTALL = 0,
+// OB_CMD_INSTALL = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE,
//
// OB_CMD_ARGTEST = ~(u64)0,
//
// OB_CMD_EXPAND = ~(u64)0,
//
-// OB_CMD_WILDCARDS = OB_IGNORE
-// | OB_IN_ORDER,
+// OB_CMD_WILDCARDS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE,
//
// OB_CMD_TEST = ~(u64)0,
//
@@ -612,14 +623,17 @@ typedef enum enumOptions
// | OB_LONG
// | OB_BRIEF,
//
-// OB_CMD_FILETYPE = OB_LONG
-// | OB_NO_HEADER
-// | OB_IGNORE,
+// OB_CMD_FILETYPE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG
+// | OB_NO_HEADER,
//
-// OB_CMD_UI_CHECK = OB_LONG
-// | OB_NO_HEADER
+// OB_CMD_UI_CHECK = OB_NO_WILDCARDS
// | OB_IN_ORDER
-// | OB_IGNORE,
+// | OB_IGNORE
+// | OB_LONG
+// | OB_NO_HEADER,
//
// OB_CMD_FILEATTRIB = OB_NO_HEADER,
//
@@ -646,7 +660,9 @@ typedef enum enumOptions
//
// OB_CMD_VR_RACE = OB_LONG,
//
-// OB_CMD_AUTOADD = OB_IGNORE
+// OB_CMD_AUTOADD = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_DEST
// | OB_DEST2
// | OB_OVERWRITE
@@ -666,22 +682,25 @@ typedef enum enumOptions
// OB_CMD_SIZEOF = OB_SORT
// | OB_BRIEF,
//
-// OB_CMD_CODE = 0,
+// OB_CMD_CODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE,
//
// OB_CMD_RECODE = 0,
//
// OB_CMD_SUBFILE = OB_GRP_DEST,
//
-// OB_CMD_LIST = OB_RECURSE
+// OB_CMD_LIST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_RECURSE
+// | OB_IGNORE
// | OB_EXT
// | OB_CUT
// | OB_ALL
// | OB_LONG
// | OB_SORT
// | OB_NO_HEADER
-// | OB_IN_ORDER
// | OB_GRP_CREATE
-// | OB_IGNORE
// | OB_NORM
// | OB_LINKS
// | OB_RM_AIPARAM
@@ -701,13 +720,15 @@ typedef enum enumOptions
// | OB_BRIEF
// | OB_LONG,
//
-// OB_CMD_ILIST = OB_RECURSE
+// OB_CMD_ILIST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_RECURSE
+// | OB_IGNORE
// | OB_ALL
// | OB_LONG
// | OB_SORT
// | OB_NO_HEADER
// | OB_GRP_CREATE
-// | OB_IGNORE
// | OB_NORM
// | OB_LINKS,
//
@@ -719,7 +740,10 @@ typedef enum enumOptions
//
// OB_CMD_ILIST_LA = OB_CMD_ILIST_A,
//
-// OB_CMD_MEMORY = OB_RECURSE
+// OB_CMD_MEMORY = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_RECURSE
+// | OB_IGNORE
// | OB_EXT
// | OB_DECODE
// | OB_MIPMAPS
@@ -727,7 +751,6 @@ typedef enum enumOptions
// | OB_ALL
// | OB_LONG
// | OB_GRP_CREATE
-// | OB_IGNORE
// | OB_NORM
// | OB_LINKS
// | OB_RM_AIPARAM
@@ -735,12 +758,17 @@ typedef enum enumOptions
//
// OB_CMD_MEMORY_A = OB_CMD_MEMORY,
//
-// OB_CMD_DUMP = OB_GRP_CREATE
+// OB_CMD_DUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_CREATE
// | OB_NORM
// | OB_LINKS,
//
-// OB_CMD_SHA1 = OB_IGNORE
+// OB_CMD_SHA1 = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_RECURSE
+// | OB_IGNORE
// | OB_NORM
// | OB_LINKS
// | OB_GRP_CREATE
@@ -752,34 +780,44 @@ typedef enum enumOptions
// | OB_BRIEF
// | OB_LONG,
//
-// OB_CMD_ANALYZE = OB_LONG
+// OB_CMD_ANALYZE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_LONG
// | OB_GRP_SCRIPT
// | OB_REFERENCE
// | OB_DEST
// | OB_DEST2,
//
-// OB_CMD_SPLIT = OB_PLUS
+// OB_CMD_SPLIT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_PLUS
// | OB_SPLIT
// | OB_PRINTF
-// | OB_IGNORE
// | OB_GRP_SCRIPT
// | OB_DEST
// | OB_DEST2,
//
-// OB_CMD_IS_TEXTURE = OB_IGNORE
+// OB_CMD_IS_TEXTURE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_REFERENCE
// | OB_LONG,
//
-// OB_CMD_FEATURES = OB_BRIEF
-// | OB_LONG
+// OB_CMD_FEATURES = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_BRIEF
+// | OB_LONG
// | OB_GRP_SCRIPT
// | OB_FMODES
// | OB_DEST
// | OB_DEST2,
//
-// OB_CMD_DISTRIBUTION = OB_IGNORE
+// OB_CMD_DISTRIBUTION = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NORM
// | OB_LINKS
// | OB_GRP_CREATE
@@ -794,38 +832,50 @@ typedef enum enumOptions
// | OB_DEST
// | OB_ESC,
//
-// OB_CMD_CHECK = OB_NO_CHECK
+// OB_CMD_CHECK = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_NO_CHECK
// | OB_BRIEF
// | OB_LONG
// | OB_GRP_CREATE
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_SLOTS = OB_IGNORE
+// OB_CMD_SLOTS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_BRIEF
// | OB_GRP_CREATE
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_STGI = OB_NO_HEADER
-// | OB_IGNORE,
+// OB_CMD_STGI = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_NO_HEADER,
//
-// OB_CMD_ISARENA = OB_NO_HEADER
-// | OB_BRIEF
-// | OB_IGNORE,
+// OB_CMD_IS_ARENA = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_NO_HEADER
+// | OB_BRIEF,
//
-// OB_CMD_NORMALIZE = OB_GRP_DEST
+// OB_CMD_NORMALIZE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_REMOVE_SRC
// | OB_GRP_FFORMAT1
-// | OB_IGNORE
// | OB_GRP_NORM
// | OB_FAST
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_PATCH = OB_GRP_DEST
+// OB_CMD_PATCH = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_REMOVE_SRC
// | OB_NO_COPY
// | OB_GRP_FFORMAT1
-// | OB_IGNORE
// | OB_COMPRESS
// | OB_GRP_NORM
// | OB_FAST
@@ -836,10 +886,12 @@ typedef enum enumOptions
// OB_CMD_DUPLICATE = OB_GAMEMODES
// | OB_CMD_PATCH,
//
-// OB_CMD_MINIMAP = OB_LONG
+// OB_CMD_MINIMAP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_LONG
// | OB_REMOVE_DEST
// | OB_PRESERVE
-// | OB_IGNORE
// | OB_COMPRESS
// | OB_GRP_NORM
// | OB_FAST
@@ -857,24 +909,31 @@ typedef enum enumOptions
// | OB_CENTER
// | OB_GRP_TRANSFORM,
//
-// OB_CMD_COMPRESS = OB_GRP_DEST
+// OB_CMD_COMPRESS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_REMOVE_SRC
// | OB_GRP_FFORMAT1
-// | OB_IGNORE
// | OB_COMPRESS
// | OB_GRP_NORM
// | OB_FAST
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_DECOMPRESS = OB_GRP_DEST
+// OB_CMD_DECOMPRESS = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_REMOVE_SRC
// | OB_U8
// | OB_WU8
-// | OB_IGNORE
// | OB_GRP_NORM
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_ENCODE = OB_IGNORE_SETUP
+// OB_CMD_ENCODE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_IGNORE_SETUP
// | OB_GRP_ALIGN
// | OB_GRP_ENCODE
// | OB_MIPMAPS
@@ -886,15 +945,20 @@ typedef enum enumOptions
// | OB_CMPR_DEFAULT
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_CREATE = OB_GRP_DEST
+// OB_CMD_CREATE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST
// | OB_GRP_CREATE
// | OB_NO_COMPRESS
// | OB_COMPRESS
// | OB_FAST
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_UPDATE = OB_SOURCE
+// OB_CMD_UPDATE = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_SOURCE
// | OB_GRP_DEST
// | OB_ESC
// | OB_NO_COMPRESS
@@ -905,9 +969,11 @@ typedef enum enumOptions
// | OB_GRP_ENCODE
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_EXTRACT = OB_GRP_DEST
-// | OB_GRP_EXTRACT
+// OB_CMD_EXTRACT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
// | OB_IGNORE
+// | OB_GRP_DEST
+// | OB_GRP_EXTRACT
// | OB_ANALYZE
// | OB_ANALYZE_MODE
// | OB_GRP_TRANSFORM2,
@@ -918,36 +984,50 @@ typedef enum enumOptions
//
// OB_CMD_XALL = OB_CMD_EXTRACT,
//
-// OB_CMD_XCOMMON = OB_GRP_DEST
-// | OB_IGNORE,
+// OB_CMD_XCOMMON = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST,
//
-// OB_CMD_BINARY = OB_IGNORE
+// OB_CMD_BINARY = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_GRP_DEST,
//
-// OB_CMD_TEXT = OB_IGNORE
+// OB_CMD_TEXT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_DECODE
// | OB_GRP_TEXTOUT
// | OB_GRP_BMG
// | OB_GRP_DEST,
//
-// OB_CMD_CAT = OB_IGNORE
+// OB_CMD_CAT = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_DECODE
// | OB_GRP_TEXTOUT
// | OB_GRP_BMG,
//
-// OB_CMD_BMG = OB_IGNORE
+// OB_CMD_BMG = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_GRP_BMG,
//
-// OB_CMD_KCL = OB_IGNORE
+// OB_CMD_KCL = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_NO_PARAM
// | OB_NO_CHECK
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_KMP = OB_IGNORE
+// OB_CMD_KMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_EXPORT
@@ -955,21 +1035,30 @@ typedef enum enumOptions
// | OB_NO_CHECK
// | OB_GRP_TRANSFORM2,
//
-// OB_CMD_LEX = OB_IGNORE
+// OB_CMD_LEX = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER
// | OB_BRIEF
// | OB_EXPORT,
//
-// OB_CMD_INFO = OB_IGNORE
+// OB_CMD_INFO = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER,
//
-// OB_CMD_GHOST = OB_IGNORE
+// OB_CMD_GHOST = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
// | OB_NO_HEADER
// | OB_GRP_SCRIPT
// | OB_DEST
// | OB_DEST2,
//
-// OB_CMD_YAZDUMP = OB_GRP_DEST,
+// OB_CMD_YAZDUMP = OB_NO_WILDCARDS
+// | OB_IN_ORDER
+// | OB_IGNORE
+// | OB_GRP_DEST,
//
// OB_CMD_VEHICLE = OB_SOURCE
// | OB_DEST
@@ -1049,7 +1138,7 @@ typedef enum enumCommands
CMD_CHECK,
CMD_SLOTS,
CMD_STGI,
- CMD_ISARENA,
+ CMD_IS_ARENA,
CMD_NORMALIZE,
CMD_PATCH,
CMD_COPY,
@@ -1193,6 +1282,7 @@ typedef enum enumGetOpt
GO_FLAG_FILE,
GO_XTRIDATA,
GO_KMP,
+ GO_N_LAPS,
GO_SPEED_MOD,
GO_KTPT2,
GO_TFORM_KMP,
@@ -1218,6 +1308,7 @@ typedef enum enumGetOpt
GO_MACRO_BMG,
GO_FILTER_BMG,
GO_LE_MENU,
+ GO_9LAPS,
GO_TITLE_SCREEN,
GO_CUP_ICONS,
GO_NO_COPY,
@@ -1231,6 +1322,7 @@ typedef enum enumGetOpt
GO_CODING,
GO_VERIFY,
GO_ROUND,
+ GO_NO_WILDCARDS,
GO_IN_ORDER,
GO_PIPE,
GO_DELTA,
diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def
index fe9833c..e249318 100644
--- a/project/src/ui/ui.def
+++ b/project/src/ui/ui.def
@@ -37,8 +37,8 @@
#:def_cmd( "INSTALL", "INSTALL", \
"wszst INSTALL [file]...", \
- "Install files to the shared directory. Use {wszst CONFIG} to list" \
- " related pathes." )
+ "Install files to the shared directory. $Wildcards$ and pipe" \
+ " characters are parsed. Use {wszst CONFIG} to list related pathes." )
#:def_cmd( "ARGTEST", "ARGTEST", \
"wszst ARGTEST ...", \
@@ -50,20 +50,15 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "WILDCARDS", "WILDCARDS", \
"wszst WILDCARDS pattern...", \
- " Each parameter is treated as a filename. $Wildcards$ are accepted." \
- " After evaluating the wildcards, all input files are sorted according" \
- " to their path and duplicates are deleted. The special parameters" \
- " '+h' and '_h' enable or disable the search for hidden directories" \
- " and files (files beginning with a point) for the following" \
- " parameters. Finally, one line is printed for each file name of the" \
- " list." )
+ " Each parameter is treated as a filename. $Wildcards$ and pipe" \
+ " characters are parsed. The special parameters '|+' and '|-' enable" \
+ " or disable the search for hidden directories and files (files" \
+ " beginning with a point) for the following parameters. Finally, one" \
+ " line is printed for each file name of the list." )
#:def_cmd( "TEST", "TEST", \
"wszst TEST [options]... [ignored]...", \
@@ -85,14 +80,14 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "UI_CHECK", "UI-CHECK|UC|UICHECK", \
"wszst UI-CHECK file...", \
"Classify SZS files from directory .../Scene/UI/. For the analysis," \
- " the filename is ignored and only the content is examined.$Wildcards$" \
- " are accepted. After evaluating the wildcards, all input files are" \
- " sorted according to their path and duplicates are deleted." )
+ " the filename is ignored and only the content is examined." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wszst FILEATTRIB [keyword]...", \
@@ -103,11 +98,12 @@
" FILEATTRIB command." )
#:def_cmd( "BRSUB", "BRSUB", \
- "wszst BRSUB [file]...", \
+ "wszst BRSUB [source]...", \
" If no file is defined, print a table with known BRRES sub files" \
" consisting of file format, version, number of sections and warn" \
" level. Otherwise analyse the version numbers of each BRRES sub file" \
- " of each source and print warnings about invalid versions." )
+ " of each source and print warnings about invalid versions." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "SYMBOLS", "SYMBOLS", \
"wszst SYMBOLS", \
@@ -171,8 +167,10 @@
"Manage the auto-add library. Primarily add files to the main auto-add" \
" archive for future use of option {--auto-add} or to convert WU8" \
" files. If @SOURCE@ is a directory, all standard track and arena file" \
- " names are searched for the missed auto-add files. Without source" \
- " files, the status of the auto-add archive is printed.\n" \
+ " names are searched for the missed auto-add files. $Wildcards$ and" \
+ " pipe characters are parsed.\n" \
+ " Without source files, the status of the auto-add archive is" \
+ " printed.\n" \
" Try {wszst AUTOADD ./path_to/Race/Course/} to add all supported" \
" files." )
@@ -197,58 +195,51 @@
"wszst LIST [source]...", \
"List all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC" \
" archives. If listing a directory, then a virtual SZS file is created" \
- " (like CREATE does it) and listed. $Wildcards$ are accepted. After" \
- " evaluating the wildcards, all input files are sorted according to" \
- " their path and duplicates are deleted." )
+ " (like CREATE does it) and listed. $Wildcards$ and pipe characters" \
+ " are parsed." )
#:def_cmd( "LIST_L", "LIST-L|LL|LISTL", \
"wszst LIST-L [source]...", \
"List all sub files with size. 'LIST-L' and 'LL' are short cuts for" \
- " {LIST --long}. $Wildcards$ are accepted. After evaluating the" \
- " wildcards, all input files are sorted according to their path and" \
- " duplicates are deleted." )
+ " {LIST --long}. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "LIST_LL", "LIST-LL|LLL|LISTLL", \
"wszst LIST-LL [source]...", \
"List all sub files with offset and size. 'LIST-LL' and 'LLL' are" \
- " short cuts for {LIST --long --long}. $Wildcards$ are accepted. After" \
- " evaluating the wildcards, all input files are sorted according to" \
- " their path and duplicates are deleted." )
+ " short cuts for {LIST --long --long}. $Wildcards$ and pipe characters" \
+ " are parsed." )
#:def_cmd( "LIST_LLL", "LIST-LLL|LLLL|LISTLLL", \
"wszst LIST-LLL [source]...", \
"List all sub files with offset and size in debugging mode. 'LIST-LLL'" \
" and 'LLLL' are short cuts for {LIST --long --long --long}." \
- " $Wildcards$ are accepted. After evaluating the wildcards, all input" \
- " files are sorted according to their path and duplicates are deleted." )
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "LIST_A", "LIST-A|LA|LISTA", \
"wszst LIST-A [source]...", \
"List recursive all sub files with size. 'LIST-A' and 'LA' are short" \
- " cuts for {LIST --long --all --all}. $Wildcards$ are accepted. After" \
- " evaluating the wildcards, all input files are sorted according to" \
- " their path and duplicates are deleted." )
+ " cuts for {LIST --long --all --all}. $Wildcards$ and pipe characters" \
+ " are parsed." )
#:def_cmd( "LIST_LA", "LIST-LA|LLA|LISTLA", \
"wszst LIST-LA [source]...", \
"List recursive all sub files with offset and size. 'LIST-LA' and" \
" 'LLA' are short cuts for {LIST --long --long --all --all}." \
- " $Wildcards$ are accepted. After evaluating the wildcards, all input" \
- " files are sorted according to their path and duplicates are deleted." )
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "NAME_REF", "NAME-REF|NAMEREF", \
"wszst NAME-REF [source]...", \
"For each BRRES file or subfile, create a name based cross reference" \
" and print the result as list ordered by names in BRRES order. For U8" \
" archives (e.g. track SZS files), sub file @course_model.brres@ is" \
- " analysed." )
+ " analysed. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "ILIST", "ILIST|IL", \
"wszst ILIST [source]...", \
"List the images files of all sub files of SZS, U8, PACK, BRRES," \
" BREFF, BREFT and RARC archives; non image files are ignored. If" \
" listing a directory, then a virtual SZS file is created (like CREATE" \
- " does it) and listed." )
+ " does it) and listed. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "ILIST_L", "ILIST-L|ILL|ILISTL", \
"wit ILIST-L [source]...", \
@@ -273,7 +264,8 @@
#:def_cmd( "MEMORY", "MEMORY|MEM", \
"wszst MEMORY [source]...", \
"Dump a memory map of each source file. Virtual images (extracted" \
- " directories) are also supported." )
+ " directories) are also supported. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "MEMORY_A", "MEMORY-A|MEMA", \
"wszst MEMORY-A [source]...", \
@@ -285,29 +277,33 @@
"Dump the internal structure of a BRRES files, compressed or not." \
" Other archives are ignored. The main goal is to verify string" \
" relocation. Virtual images (extracted directories) are also" \
- " supported." )
+ " supported. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "SHA1", "SHA1", \
"wszst SHA1 [source]...", \
"Print a SHA1 checksum for each source. The checksum is calculated by" \
- " using the uncompressed data and after patching." )
+ " using the uncompressed data and after patching. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "ANALYZE", "ANALYZE|ANA|ANALYSE", \
"wszst ANALYZE [source]...", \
"Analyse track files and LE-CODE binaries. Print the results in" \
- " machine-readable form. The output format is selected by options." )
+ " machine-readable form. The output format is selected by options." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "SPLIT", "SPLIT", \
"wszst SPLIT [source]...", \
"Analyse (file) names and split them into the different parts. Print" \
- " the results in machine readable format." )
+ " the results in machine readable format. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "IS_TEXTURE", "IS-TEXTURE|ISTEXTURE", \
"wszst IS-TEXTURE --reference reference [source]...", \
"Test each source to see if it's a texture hack versus a reference" \
" file. For each source, one human and machine readable status line is" \
" printed. It is either »-1=err« on error, »1=yes« for a texture" \
- " hack, or »0=no LIST« with a comma separated list of reasons.\n" \
+ " hack, or »0=no LIST« with a comma separated list of reasons." \
+ " $Wildcards$ and pipe characters are parsed.\n" \
" At the moment KCL, KMP (see notes) and LEX are checked. KMP section" \
" CAME has been intentionally left out. Section ENPT is only checked" \
" if KCL contains a least one face of type force-recalculation." )
@@ -316,7 +312,8 @@
"wszst FEATURES [source]...", \
"Analyse track files and create a feature list for each source in" \
" machine readable format. CTGP uses the feature lists to manage" \
- " ghosts. See option {--lex-features} for details." )
+ " ghosts. See option {--lex-features} for details. $Wildcards$ and" \
+ " pipe characters are parsed." )
#:def_cmd( "DISTRIBUTION", "DISTRIBUTION|DIS|DISTRIB", \
"wszst DISTRIBUTION result source...\n" \
@@ -325,7 +322,8 @@
" the uncompressed data. If @SOURCE@ is a directory, scan it for SZS," \
" WBZ, U8 and WU8 files. If a source directory starts with \"arena\"," \
" all tracks of the directory are assumed to be battle arenas. Finally" \
- " print the results into file @RESULT@.\n" \
+ " print the results into file @RESULT@. $Wildcards$ and pipe" \
+ " characters are parsed.\n" \
" The default name for @RESULT@ is \"distribution.txt\". Extension" \
" .txt is appended to the filename if not defined. If @RESULT@ is a" \
" directory, it is used as first source too.\n" \
@@ -349,7 +347,8 @@
" check both) and find unknown, modified, needed and unneeded files." \
" Also analyse cannons and make slot proposals. This command uses an" \
" internal object and file database. The source can be a SZS, U8, WU8" \
- " or WBZ file, or an U8 like directory." )
+ " or WBZ file, or an U8 like directory. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "SLOTS", "SLOTS", \
"wszst SLOTS [source]...", \
@@ -357,23 +356,25 @@
" a SZS, U8, WU8 or WBZ file, or an U8 like directory. For each source" \
" one status line is printed. The status line contains either a" \
" positive or a negative slot list, whatever is shorter. For battle" \
- " arenas, the keyword @ARENA@ is printed." )
+ " arenas, the keyword @ARENA@ is printed. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "STGI", "STGI", \
"wszst STGI [source]...", \
"Find the first KMP:STGI of each file and print an analysis of it as" \
" single line statistic. Additional the number of lap counter check" \
" points ('LC') is printed. Track and KMP (binary and text) files are" \
- " accepted as input." )
+ " accepted as input. $Wildcards$ and pipe characters are parsed." )
-#:def_cmd( "ISARENA", "ISARENA", \
- "wszst ISARENA [source]...", \
+#:def_cmd( "IS_ARENA", "IS-ARENA|ISARENA", \
+ "wszst IS_ARENA [source]...", \
"Analyse each track for its arena status and print a line with a" \
- " status code and the track name. The status code is: »-RACE« for a" \
- " racing track, »?MAYBE« for likely an arena, »+ARENA« for an" \
- " arena, »+DISPATCH« for an arena with dispatch points or any error" \
- " hint beginning with an »!«. So the very first character (one of" \
- " »!-?+«) can be used to distinguish the status class.\n" \
+ " status code and the track name. $Wildcards$ and pipe characters are" \
+ " parsed. The status code is: »-RACE« for a racing track, »?MAYBE«" \
+ " for likely an arena, »+ARENA« for an arena, »+DISPATCH« for an" \
+ " arena with dispatch points or any error hint beginning with an" \
+ " »!«. So the very first character (one of »!-?+«) can be used to" \
+ " distinguish the status class.\n" \
" The exit status is >2 on error, 2 (DIFFER), if at least one file is" \
" a racing track, or 0 (OK), if all sources are arenas." )
@@ -384,7 +385,7 @@
" directory '.' is available it becomes the root directory for all" \
" others. Compressed sources are compressed again with maximum" \
" compression (level 9). The destination is only written if any data" \
- " changed.\n" \
+ " changed. $Wildcards$ and pipe characters are parsed.\n" \
" {wszst NORMALIZE} is the same as {wszst PATCH --norm}." )
#:def_cmd( "PATCH", "PATCH", \
@@ -393,7 +394,7 @@
" patching and transforming options and store the file again." \
" Compressed sources are compressed again. The destination is only" \
" written if any data changed or if stored in another file." \
- " $Wildcards$ are accepted." )
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "COPY", "COPY|CP", \
"wszst COPY source dest\n" \
@@ -401,10 +402,12 @@
"COPY is an alternative command for copying and patching files. It" \
" uses the same internal procedure as command PATCH, but has another" \
" command line syntax.\n" \
- " The command copies all source files to the destination. If more than" \
- " 1 source is defined, the destination must be either a directory or a" \
- " destination filename with escapes. Patching is also possible and" \
- " option --overwrite is set implicitly." )
+ " The command copies all source files to the destination. If no" \
+ " destination is defined by options {--dest} or {--DEST}, then the" \
+ " last parameter is used as destination. If more than 1 source is" \
+ " defined, the destination must be either a directory or a destination" \
+ " filename with escapes. $Wildcards$ and pipe characters are parsed." \
+ " Patching is also possible and option --overwrite is set implicitly." )
#:def_cmd( "DUPLICATE", "DUPLICATE|DUP", \
"wszst DUPLICATE source [-d|-D] dest", \
@@ -427,28 +430,32 @@
" SZS, U8, BRRES or MDL file. If patching options are used, modify the" \
" data and write back the file using its original file format. Only" \
" the translation vector is modified and new translation and inverse" \
- " matrices are calculated." )
+ " matrices are calculated. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "COMPRESS", "COMPRESS|COM", \
"wszst COMPRESS [source]...", \
"Compress and create a SZS archives. If the source is already" \
" compressed, then decompress and compress it again. The default" \
- " destination is @'%P/%N.szs'@." )
+ " destination is @'%P/%N.szs'@. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "DECOMPRESS", "DECOMPRESS|DEC", \
"wszst DECOMPRESS [szs]...", \
- "Decompress SZS files. The default destination is @'%P/%N.u8'@." )
+ "Decompress SZS files. The default destination is @'%P/%N.u8'@." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "ENCODE", "ENCODE|E", \
"wszst ENCODE [source_dir]...", \
" Create and/or encode sub files if necessary. It works like command" \
- " CREATE, but without creating a new first level archive file." )
+ " CREATE, but without creating a new first level archive file." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "CREATE", "CREATE|C", \
"wszst CREATE [source_dir]...", \
"Create SZS, U8, PACK, BRRES, BREFF or BREFT archives by adding all" \
" not hidden files of the directory structure. Create and/or encode" \
- " sub files if necessary. The default destination is @'%P/%N%T'@." )
+ " sub files if necessary. The default destination is @'%P/%N%T'@." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "UPDATE", "UPDATE|U", \
"wszst UPDATE [source]... [--source=] [--dest=]", \
@@ -457,95 +464,109 @@
" but instead of extracting, source files are searched in a prior" \
" extracted archive. Only files with the same size are updated. The" \
" secondary source is used to find the source sub files. The default" \
- " secondary source is @'%P/%N.d/'@." )
+ " secondary source is @'%P/%N.d/'@. $Wildcards$ and pipe characters" \
+ " are parsed." )
#:def_cmd( "EXTRACT", "EXTRACT|X", \
"wszst EXTRACT [source]...", \
"Extract all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC" \
- " archives. The default destination is @'%P/%N.d/'@." )
+ " archives. The default destination is @'%P/%N.d/'@. $Wildcards$ and" \
+ " pipe characters are parsed." )
#:def_cmd( "XDECODE", "XDECODE|XD", \
"wszst XDECODE [source]...", \
"Command @XDECODE@ is a short cut for {EXTRACT --decode}. It extract" \
" all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC" \
" archives and decodes all supported files. The default destination is" \
- " @'%P/%N.d/'@." )
+ " @'%P/%N.d/'@. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "XEXPORT", "XEXPORT|XX", \
"wszst XEXPORT [source]...", \
"Command @XEXPORT@ is a short cut for {EXTRACT --decode --export}. It" \
" extract all sub files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC" \
" archives and decodes all supported files with enabled export mode." \
- " The default destination is @'%P/%N.d/'@." )
+ " The default destination is @'%P/%N.d/'@. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "XALL", "XALL|XA", \
"wszst XALL [source]...", \
"Command @XALL@ is a short cut for {EXTRACT --all}. It extract all sub" \
" files of SZS, U8, PACK, BRRES, BREFF, BREFT and RARC archives" \
" recursively and decodes all supported files. The default destination" \
- " is @'%P/%N.d/'@." )
+ " is @'%P/%N.d/'@. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "XCOMMON", "XCOMMON", \
"wszst XCOMMON [source]...", \
"Command @XCOMMON@ is a short cut for {EXTRACT --basedir=common}. Scan" \
" archives and extract files from archives, that are below directory" \
- " @'common'@. The default destination is @'%P/%N.d/'@." )
+ " @'common'@. The default destination is @'%P/%N.d/'@. $Wildcards$ and" \
+ " pipe characters are parsed." )
#:def_cmd( "BINARY", "BINARY|BIN", \
"wszst BINARY [source]...", \
"Read each source file (binary or text, but never archives) and write" \
- " the content as binary file. The file extension of the new file" \
- " depends on the file type, but is usually @.bin@. Currently supported" \
- " file formats are @BMG@, @GEOHIT@, @ITEMSLOT@, @KCL@, @KMG@, @KMP@," \
- " @LEX@, @OBJFLOW@, @PAT@ and the related text formats." )
+ " the content as binary file. $Wildcards$ and pipe characters are" \
+ " parsed.\n" \
+ " The file extension of the new file depends on the file type, but is" \
+ " usually @.bin@. Currently supported file formats are @BMG@," \
+ " @GEOHIT@, @ITEMSLOT@, @KCL@, @KMG@, @KMP@, @LEX@, @OBJFLOW@, @PAT@" \
+ " and the related text formats." )
#:def_cmd( "TEXT", "TEXT|TXT", \
"wszst TEXT [source]...", \
"Read each source file (binary or text, but never archives) and write" \
- " the content as text file. The file extension of the new file is" \
- " usually @.txt@. Currently supported file formats are @BMG@," \
- " @GEOHIT@, @ITEMSLOT@, @KCL@, @KMG@, @KMP@, @LEX@, @OBJFLOW@, @PAT@" \
- " and the related text formats." )
+ " the content as text file. $Wildcards$ and pipe characters are" \
+ " parsed.\n" \
+ " The file extension of the new file is usually @.txt@. Currently" \
+ " supported file formats are @BMG@, @GEOHIT@, @ITEMSLOT@, @KCL@," \
+ " @KMG@, @KMP@, @LEX@, @OBJFLOW@, @PAT@ and the related text formats." )
#:def_cmd( "CAT", "CAT", \
"wszst CAT [source/subfile]...", \
"Extract one or more sub files of SZS, U8, PACK, BRRES, BREFF, BREFT" \
- " and RARC archives. The output of all source files is concatenated" \
- " and written to stdout." )
+ " and RARC archives. $Wildcards$, pipe characters and sub-files are" \
+ " parsed. The output of all source files is concatenated and written" \
+ " to stdout." )
#:def_cmd( "BMG", "BMG", \
"wszst BMG [source]...", \
"For each archive all BMG sub files are searched and, if found," \
" decoded and printed as combined BMG text file. The command works" \
- " exactly like {wbmgt MIX}." )
+ " exactly like {wbmgt MIX}. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "KCL", "KCL", \
"wszst KCL [source]...", \
"For each archive the KCL sub file @course.kcl@ is searched and, if" \
- " found, decoded and printed (copied to stdout).\n" \
+ " found, decoded and printed (copied to stdout). $Wildcards$, pipe" \
+ " characters and sub-files are parsed.\n" \
" Automated dropping of bad KCL triangles is enabled if no other drop" \
- " option is specified by option {--kcl}." )
+ " option is specified by option {--kcl}. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "KMP", "KMP", \
"wszst KMP [source]...", \
"For each archive the KMP sub file @course.kmp@ is searched and, if" \
- " found, decoded and printed (copied to stdout)." )
+ " found, decoded and printed (copied to stdout). $Wildcards$, pipe" \
+ " characters and sub-files are parsed." )
#:def_cmd( "LEX", "LEX", \
"wszst LEX [source]...", \
"For each archive the LEX sub file @course.lex@ is searched and, if" \
- " found, decoded and printed (copied to stdout)." )
+ " found, decoded and printed (copied to stdout). $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "INFO", "INFO", \
"wszst INFO [source]...", \
"For each archive a file named @info.txt@ and, if not found," \
" @credits.txt@ is searched, ignoring case. The first found file of" \
- " each archive is printed (copied to stdout)." )
+ " each archive is printed (copied to stdout). $Wildcards$, pipe" \
+ " characters and sub-files are parsed." )
#:def_cmd( "YAZDUMP", "YAZDUMP|YD", \
"wszst YAZDUMP [szs]...", \
"Analyze YAZ compression and print a dump to stdout. Ignore files" \
- " without YAZ compression." )
+ " without YAZ compression. $Wildcards$ and pipe characters are parsed." )
#:def_opt( "VERSION", "V|version", "G", \
"", \
@@ -1088,8 +1109,8 @@
" all. The other allowed keywords are: @FORCE, NEW, RM-SPCITEM, LEFT," \
" RIGHT, WIDE, NARROW, FIX-CKPH, FIX-ENPH, FIX-ITPH, FIX-PH," \
" FIX-CKNEXT, FIX-CKJGPT, FIX-CK, FIX-ALL, MASK-PFLAGS, RM-LECODE," \
- " PURGE-GOBJ, FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP ..." \
- " 9LAPS, MAX-LAPS, RM-EMPTY, TINY-0 ... TINY-7, INPLACE, SILENT@ and" \
+ " PURGE-GOBJ, FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP .." \
+ " 9LAPS, MAX-LAPS, RM-EMPTY, TINY-0 .. TINY-7, INPLACE, SILENT@ and" \
" @LOG@." )
#:def_opt( "SPEED_MOD", "speed-mod|speedmod", "GP", \
@@ -1213,39 +1234,40 @@
#:def_opt( "LT_CLEAR", "lt-clear|ltclear", "G", \
"", \
- "Clear the LEX/TEST section and remove the section and course.lex if" \
- " empty. This option is executed before all other --lt-* options." )
+ "Clear LEX sections TEST and DEV1 and remove the section and" \
+ " course.lex if empty. This option is executed before all other --lt-*" \
+ " options." )
#:def_opt( "LT_ONLINE", "lt-online|ltonline", "GP", \
"mode", \
- "Set LEX/TEST parameter OFFLINE-ONLINE to this MODE. MODE is one of" \
+ "Set LEX:TEST parameter OFFLINE-ONLINE to this MODE. MODE is one of" \
" @AUTO@ (default), @NEVER@ or @ALWAYS@. Only track.szs files are" \
" modified. If needed, file course.lex and section TEST are created or" \
" removed if empty." )
#:def_opt( "LT_N_PLAYERS", "lt-n-players|lt-nplayers|ltnplayers", "GP", \
"offline,online", \
- "Set LEX/TEST parameters N-OFFLINE and N-ONLINE to these integer" \
+ "Set LEX:TEST parameters N-OFFLINE and N-ONLINE to these integer" \
" values. Only track.szs files are modified. If needed, file" \
" course.lex and section TEST are created or removed if empty." )
#:def_opt( "LT_COND_BIT", "lt-cond-bit|lt-condbit|ltcondbit", "GP", \
"bitnum", \
- "Set LEX/TEST parameter COND-BIT to this integer value. Use -1 to" \
+ "Set LEX:TEST parameter COND-BIT to this integer value. Use -1 to" \
" deactivate this COND-BIT. Only track.szs files are modified. If" \
" needed, file course.lex and section TEST are created or removed if" \
" empty." )
#:def_opt( "LT_GAME_MODE", "lt-game-mode|lt-gamemode|ltgamemode", "GP", \
"mode", \
- "Set LEX/TEST parameter GAME-MODE to this MODE. MODE is one of @AUTO@" \
+ "Set LEX:TEST parameter GAME-MODE to this MODE. MODE is one of @AUTO@" \
" (default), @BALLOON, COIN, VERSUS@ or @ITEMRAIN@. Only track.szs" \
" files are modified. If needed, file course.lex and section TEST are" \
" created or removed if empty." )
#:def_opt( "LT_ENGINE", "lt-engine|ltengine", "GP", \
"mode", \
- "Set LEX/TEST parameter ENGINE to this MODE. MODE is one of @AUTO@" \
+ "Set LEX:TEST parameter ENGINE to this MODE. MODE is one of @AUTO@" \
" (default), @BATTLE, 50CC, 100CC, 150CC, 200CC, 150M@ or @200M@. Only" \
" track.szs files are modified. If needed, file course.lex and section" \
" TEST are created or removed if empty." )
@@ -1333,6 +1355,11 @@
" change the menu as required by LE-CODE to be able to select tracks" \
" from more than 8 cups." )
+#:def_opt( "9LAPS", "9laps", "C", \
+ "", \
+ "Patch RACE*.szs files from directory .../Scene/UI/ to support 9 laps." \
+ " See https://wiki.tockdom.com/wiki/Lap_Texture_Fix for details." )
+
#:def_opt( "TITLE_SCREEN", "title-screen|titlescreen", "CP", \
"dir", \
"Specify a directory from which to search and replace title screens." \
@@ -1434,7 +1461,11 @@
" syntax information ({--no-header}). If set twice, the output of" \
" unneeded sections is also suppressed." )
-#:def_opt( "IN_ORDER", "in-order|inorder", "CM", \
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
"", \
"Process the input files in order of the command line and don't delete" \
" duplicates." )
@@ -2160,7 +2191,19 @@
"", \
"" )
-#:def_cmd_opt( "WILDCARDS", "IGNORE", \
+#:def_cmd_opt( "INSTALL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "INSTALL", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "INSTALL", "IGNORE", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "WILDCARDS", "NO_WILDCARDS", \
"", \
"" )
@@ -2168,6 +2211,10 @@
"", \
"" )
+#:def_cmd_opt( "WILDCARDS", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "TEST", "VERBOSE", \
"", \
"Print the matrices of transformations." )
@@ -2206,12 +2253,11 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
-#:def_cmd_opt( "FILETYPE", "NO_HEADER", \
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
"", \
"" )
@@ -2219,11 +2265,16 @@
"", \
"" )
-#:def_cmd_opt( "UI_CHECK", "LONG", \
+#:def_cmd_opt( "FILETYPE", "LONG", \
"", \
- "Print the result as technical list." )
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
-#:def_cmd_opt( "UI_CHECK", "NO_HEADER", \
+#:def_cmd_opt( "FILETYPE", "NO_HEADER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "UI_CHECK", "NO_WILDCARDS", \
"", \
"" )
@@ -2235,6 +2286,14 @@
"", \
"" )
+#:def_cmd_opt( "UI_CHECK", "LONG", \
+ "", \
+ "Print the result as technical list." )
+
+#:def_cmd_opt( "UI_CHECK", "NO_HEADER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -2376,6 +2435,14 @@
"", \
"Print full matrix of delta values." )
+#:def_cmd_opt( "AUTOADD", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "AUTOADD", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "AUTOADD", "IGNORE", \
"", \
"" )
@@ -2474,6 +2541,18 @@
"", \
"" )
+#:def_cmd_opt( "CODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SUBFILE", "DEST", \
"", \
"" )
@@ -2506,10 +2585,22 @@
"", \
"" )
+#:def_cmd_opt( "LIST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST", "RECURSE", \
"", \
"" )
+#:def_cmd_opt( "LIST", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST", "EXT", \
"", \
"" )
@@ -2535,10 +2626,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST", "IN_ORDER", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST", "IGNORE_SETUP", \
"", \
"" )
@@ -2699,15 +2786,19 @@
"", \
"" )
-#:def_cmd_opt( "LIST", "IGNORE", \
+#:def_cmd_opt( "LIST", "NORM", \
"", \
"" )
-#:def_cmd_opt( "LIST", "NORM", \
+#:def_cmd_opt( "LIST", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "LIST", "SLOT", \
+#:def_cmd_opt( "LIST_L", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_L", "IN_ORDER", \
"", \
"" )
@@ -2715,6 +2806,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_L", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_L", "EXT", \
"", \
"" )
@@ -2740,10 +2835,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST_L", "IN_ORDER", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST_L", "IGNORE_SETUP", \
"", \
"" )
@@ -2904,15 +2995,19 @@
"", \
"" )
-#:def_cmd_opt( "LIST_L", "IGNORE", \
+#:def_cmd_opt( "LIST_L", "NORM", \
"", \
"" )
-#:def_cmd_opt( "LIST_L", "NORM", \
+#:def_cmd_opt( "LIST_L", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "LIST_L", "SLOT", \
+#:def_cmd_opt( "LIST_LL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_LL", "IN_ORDER", \
"", \
"" )
@@ -2920,6 +3015,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_LL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_LL", "EXT", \
"", \
"" )
@@ -2945,10 +3044,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LL", "IN_ORDER", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST_LL", "IGNORE_SETUP", \
"", \
"" )
@@ -3109,15 +3204,19 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LL", "IGNORE", \
+#:def_cmd_opt( "LIST_LL", "NORM", \
"", \
"" )
-#:def_cmd_opt( "LIST_LL", "NORM", \
+#:def_cmd_opt( "LIST_LL", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "LIST_LL", "SLOT", \
+#:def_cmd_opt( "LIST_LLL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_LLL", "IN_ORDER", \
"", \
"" )
@@ -3125,6 +3224,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_LLL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_LLL", "EXT", \
"", \
"" )
@@ -3150,10 +3253,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LLL", "IN_ORDER", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST_LLL", "IGNORE_SETUP", \
"", \
"" )
@@ -3314,15 +3413,19 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LLL", "IGNORE", \
+#:def_cmd_opt( "LIST_LLL", "NORM", \
"", \
"" )
-#:def_cmd_opt( "LIST_LLL", "NORM", \
+#:def_cmd_opt( "LIST_LLL", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "LIST_LLL", "SLOT", \
+#:def_cmd_opt( "LIST_A", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_A", "IN_ORDER", \
"", \
"" )
@@ -3330,6 +3433,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_A", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_A", "EXT", \
"", \
"" )
@@ -3355,10 +3462,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST_A", "IN_ORDER", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST_A", "IGNORE_SETUP", \
"", \
"" )
@@ -3519,15 +3622,19 @@
"", \
"" )
-#:def_cmd_opt( "LIST_A", "IGNORE", \
+#:def_cmd_opt( "LIST_A", "NORM", \
"", \
"" )
-#:def_cmd_opt( "LIST_A", "NORM", \
+#:def_cmd_opt( "LIST_A", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "LIST_A", "SLOT", \
+#:def_cmd_opt( "LIST_LA", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_LA", "IN_ORDER", \
"", \
"" )
@@ -3535,6 +3642,10 @@
"", \
"" )
+#:def_cmd_opt( "LIST_LA", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST_LA", "EXT", \
"", \
"" )
@@ -3560,10 +3671,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LA", "IN_ORDER", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST_LA", "IGNORE_SETUP", \
"", \
"" )
@@ -3724,10 +3831,6 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LA", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "LIST_LA", "NORM", \
"", \
"" )
@@ -3755,10 +3858,22 @@
" list ordered by @OFFSET@ is printed. If set twice, a third list with" \
" order @NONE@ is appended." )
+#:def_cmd_opt( "ILIST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ILIST", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST", "RECURSE", \
"", \
"" )
+#:def_cmd_opt( "ILIST", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST", "ALL", \
"", \
"" )
@@ -3936,11 +4051,15 @@
"", \
"" )
-#:def_cmd_opt( "ILIST", "IGNORE", \
+#:def_cmd_opt( "ILIST", "NORM", \
"", \
"" )
-#:def_cmd_opt( "ILIST", "NORM", \
+#:def_cmd_opt( "ILIST_L", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ILIST_L", "IN_ORDER", \
"", \
"" )
@@ -3948,6 +4067,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_L", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_L", "ALL", \
"", \
"" )
@@ -4125,11 +4248,15 @@
"", \
"" )
-#:def_cmd_opt( "ILIST_L", "IGNORE", \
+#:def_cmd_opt( "ILIST_L", "NORM", \
"", \
"" )
-#:def_cmd_opt( "ILIST_L", "NORM", \
+#:def_cmd_opt( "ILIST_LL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ILIST_LL", "IN_ORDER", \
"", \
"" )
@@ -4137,6 +4264,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_LL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_LL", "ALL", \
"", \
"" )
@@ -4314,11 +4445,15 @@
"", \
"" )
-#:def_cmd_opt( "ILIST_LL", "IGNORE", \
+#:def_cmd_opt( "ILIST_LL", "NORM", \
"", \
"" )
-#:def_cmd_opt( "ILIST_LL", "NORM", \
+#:def_cmd_opt( "ILIST_A", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ILIST_A", "IN_ORDER", \
"", \
"" )
@@ -4326,6 +4461,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_A", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_A", "ALL", \
"", \
"" )
@@ -4503,11 +4642,15 @@
"", \
"" )
-#:def_cmd_opt( "ILIST_A", "IGNORE", \
+#:def_cmd_opt( "ILIST_A", "NORM", \
"", \
"" )
-#:def_cmd_opt( "ILIST_A", "NORM", \
+#:def_cmd_opt( "ILIST_LA", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ILIST_LA", "IN_ORDER", \
"", \
"" )
@@ -4515,6 +4658,10 @@
"", \
"" )
+#:def_cmd_opt( "ILIST_LA", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ILIST_LA", "ALL", \
"", \
"" )
@@ -4692,11 +4839,15 @@
"", \
"" )
-#:def_cmd_opt( "ILIST_LA", "IGNORE", \
+#:def_cmd_opt( "ILIST_LA", "NORM", \
"", \
"" )
-#:def_cmd_opt( "ILIST_LA", "NORM", \
+#:def_cmd_opt( "MEMORY", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "MEMORY", "IN_ORDER", \
"", \
"" )
@@ -4704,6 +4855,10 @@
"", \
"" )
+#:def_cmd_opt( "MEMORY", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "MEMORY", "EXT", \
"", \
"" )
@@ -4885,15 +5040,19 @@
"", \
"" )
-#:def_cmd_opt( "MEMORY", "IGNORE", \
+#:def_cmd_opt( "MEMORY", "NORM", \
"", \
"" )
-#:def_cmd_opt( "MEMORY", "NORM", \
+#:def_cmd_opt( "MEMORY", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "MEMORY", "SLOT", \
+#:def_cmd_opt( "MEMORY_A", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "MEMORY_A", "IN_ORDER", \
"", \
"" )
@@ -4901,6 +5060,10 @@
"", \
"" )
+#:def_cmd_opt( "MEMORY_A", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "MEMORY_A", "EXT", \
"", \
"" )
@@ -5082,15 +5245,23 @@
"", \
"" )
-#:def_cmd_opt( "MEMORY_A", "IGNORE", \
+#:def_cmd_opt( "MEMORY_A", "NORM", \
"", \
"" )
-#:def_cmd_opt( "MEMORY_A", "NORM", \
+#:def_cmd_opt( "MEMORY_A", "SLOT", \
"", \
"" )
-#:def_cmd_opt( "MEMORY_A", "SLOT", \
+#:def_cmd_opt( "DUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IGNORE", \
"", \
"" )
@@ -5259,11 +5430,19 @@
"", \
"" )
-#:def_cmd_opt( "DUMP", "IGNORE", \
+#:def_cmd_opt( "DUMP", "NORM", \
"", \
"" )
-#:def_cmd_opt( "DUMP", "NORM", \
+#:def_cmd_opt( "SHA1", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "RECURSE", \
"", \
"" )
@@ -5474,14 +5653,22 @@
" counter, speed factor and slot info are inserted beteen checksum and" \
" filename. All columns are separated by one or two spaces." )
-#:def_cmd_opt( "ANALYZE", "LONG", \
+#:def_cmd_opt( "ANALYZE", "NO_WILDCARDS", \
"", \
- "Append a list of special files with size, SHA1 and file name." )
+ "" )
+
+#:def_cmd_opt( "ANALYZE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "ANALYZE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "ANALYZE", "LONG", \
+ "", \
+ "Append a list of special files with size, SHA1 and file name." )
+
#:def_cmd_opt( "ANALYZE", "QUIET", \
"", \
"Suppress logging of input and output files." )
@@ -5539,6 +5726,18 @@
"", \
"" )
+#:def_cmd_opt( "SPLIT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SPLIT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SPLIT", "LOAD_PREFIX", \
"", \
"" )
@@ -5559,10 +5758,6 @@
"", \
"" )
-#:def_cmd_opt( "SPLIT", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "SPLIT", "SECTIONS", \
"", \
"Dump info using configuration or section syntax. Use {--var name} as" \
@@ -5612,6 +5807,14 @@
"", \
"" )
+#:def_cmd_opt( "IS_TEXTURE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "IS_TEXTURE", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "IS_TEXTURE", "IGNORE", \
"", \
"" )
@@ -5628,6 +5831,18 @@
"", \
"Append a colon and the filename after each status." )
+#:def_cmd_opt( "FEATURES", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "FEATURES", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "FEATURES", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "FEATURES", "BRIEF", \
"", \
"Suppres comments at all. If set twice, suppress empty lines (for" \
@@ -5642,10 +5857,6 @@
" (visual impact), @B@ (battle impact), @R@ (racing impact), @T@ (time" \
" trial impact), @L@ (local=offline impact) and @O@ (online impact)." )
-#:def_cmd_opt( "FEATURES", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "FEATURES", "QUIET", \
"", \
"Suppress logging of input and output files." )
@@ -5703,6 +5914,14 @@
"", \
"" )
+#:def_cmd_opt( "DISTRIBUTION", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DISTRIBUTION", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DISTRIBUTION", "IGNORE", \
"", \
"" )
@@ -5923,14 +6142,22 @@
"", \
"" )
-#:def_cmd_opt( "CHECK", "NO_CHECK", \
+#:def_cmd_opt( "CHECK", "NO_WILDCARDS", \
"", \
- "Don't check the KCL and KMP files." )
+ "" )
+
+#:def_cmd_opt( "CHECK", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "CHECK", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "CHECK", "NO_CHECK", \
+ "", \
+ "Don't check the KCL and KMP files." )
+
#:def_cmd_opt( "CHECK", "COLORS", \
"", \
"" )
@@ -6304,6 +6531,10 @@
"", \
"" )
+#:def_cmd_opt( "CHECK", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CHECK", "TITLE_SCREEN", \
"", \
"" )
@@ -6312,6 +6543,14 @@
"", \
"" )
+#:def_cmd_opt( "SLOTS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SLOTS", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SLOTS", "IGNORE", \
"", \
"" )
@@ -6677,6 +6916,10 @@
"", \
"" )
+#:def_cmd_opt( "SLOTS", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SLOTS", "TITLE_SCREEN", \
"", \
"" )
@@ -6685,6 +6928,20 @@
"", \
"" )
+#:def_cmd_opt( "STGI", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "STGI", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "STGI", "IGNORE", \
+ "", \
+ "If set, ignore non existing source files and files without KMP" \
+ " without warning. If set twice, ignore files with standard settings" \
+ " too." )
+
#:def_cmd_opt( "STGI", "COLORS", \
"", \
"" )
@@ -6697,36 +6954,50 @@
"", \
"" )
-#:def_cmd_opt( "STGI", "IGNORE", \
+#:def_cmd_opt( "IS_ARENA", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "IS_ARENA", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "IS_ARENA", "IGNORE", \
"", \
"If set, ignore non existing source files and files without KMP" \
- " without warning. If set twice, ignore files with standard settings" \
- " too." )
+ " without warning." )
-#:def_cmd_opt( "ISARENA", "COLORS", \
+#:def_cmd_opt( "IS_ARENA", "COLORS", \
"", \
"" )
-#:def_cmd_opt( "ISARENA", "NO_COLORS", \
+#:def_cmd_opt( "IS_ARENA", "NO_COLORS", \
"", \
"" )
-#:def_cmd_opt( "ISARENA", "NO_HEADER", \
+#:def_cmd_opt( "IS_ARENA", "NO_HEADER", \
"", \
"" )
-#:def_cmd_opt( "ISARENA", "BRIEF", \
+#:def_cmd_opt( "IS_ARENA", "BRIEF", \
"", \
"If set, suppress the output of header and filenames." )
-#:def_cmd_opt( "ISARENA", "QUIET", \
+#:def_cmd_opt( "IS_ARENA", "QUIET", \
"", \
"If set, print nothing and set only the exit status." )
-#:def_cmd_opt( "ISARENA", "IGNORE", \
+#:def_cmd_opt( "NORMALIZE", "NO_WILDCARDS", \
"", \
- "If set, ignore non existing source files and files without KMP" \
- " without warning." )
+ "" )
+
+#:def_cmd_opt( "NORMALIZE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "NORMALIZE", "IGNORE", \
+ "", \
+ "" )
#:def_cmd_opt( "NORMALIZE", "DEST", \
"", \
@@ -6792,10 +7063,6 @@
"", \
"" )
-#:def_cmd_opt( "NORMALIZE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "NORMALIZE", "NORM", \
"", \
"" )
@@ -7036,6 +7303,10 @@
"", \
"" )
+#:def_cmd_opt( "NORMALIZE", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "NORMALIZE", "TITLE_SCREEN", \
"", \
"" )
@@ -7044,6 +7315,18 @@
"", \
"" )
+#:def_cmd_opt( "PATCH", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PATCH", "DEST", \
"", \
"" )
@@ -7112,10 +7395,6 @@
"", \
"" )
-#:def_cmd_opt( "PATCH", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "PATCH", "COMPRESS", \
"", \
"" )
@@ -7360,6 +7639,10 @@
"", \
"" )
+#:def_cmd_opt( "PATCH", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PATCH", "TITLE_SCREEN", \
"", \
"" )
@@ -7368,6 +7651,18 @@
"", \
"" )
+#:def_cmd_opt( "COPY", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COPY", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COPY", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "COPY", "DEST", \
"", \
"" )
@@ -7436,10 +7731,6 @@
"", \
"" )
-#:def_cmd_opt( "COPY", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "COPY", "COMPRESS", \
"", \
"" )
@@ -7684,6 +7975,10 @@
"", \
"" )
+#:def_cmd_opt( "COPY", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "COPY", "TITLE_SCREEN", \
"", \
"" )
@@ -7696,6 +7991,18 @@
"", \
"" )
+#:def_cmd_opt( "DUPLICATE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUPLICATE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUPLICATE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUPLICATE", "DEST", \
"", \
"" )
@@ -7764,10 +8071,6 @@
"", \
"" )
-#:def_cmd_opt( "DUPLICATE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DUPLICATE", "COMPRESS", \
"", \
"" )
@@ -8012,6 +8315,10 @@
"", \
"" )
+#:def_cmd_opt( "DUPLICATE", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUPLICATE", "TITLE_SCREEN", \
"", \
"" )
@@ -8020,6 +8327,18 @@
"", \
"" )
+#:def_cmd_opt( "MINIMAP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "MINIMAP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "MINIMAP", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "MINIMAP", "LONG", \
"", \
"If set, print the matrices too. If set twice, print minimum and" \
@@ -8033,10 +8352,6 @@
"", \
"" )
-#:def_cmd_opt( "MINIMAP", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "MINIMAP", "COMPRESS", \
"", \
"" )
@@ -8205,6 +8520,18 @@
"", \
"" )
+#:def_cmd_opt( "COMPRESS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COMPRESS", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COMPRESS", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "COMPRESS", "DEST", \
"", \
"" )
@@ -8269,10 +8596,6 @@
"", \
"" )
-#:def_cmd_opt( "COMPRESS", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "COMPRESS", "COMPRESS", \
"", \
"" )
@@ -8517,6 +8840,10 @@
"", \
"" )
+#:def_cmd_opt( "COMPRESS", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "COMPRESS", "TITLE_SCREEN", \
"", \
"" )
@@ -8525,6 +8852,18 @@
"", \
"" )
+#:def_cmd_opt( "DECOMPRESS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECOMPRESS", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECOMPRESS", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECOMPRESS", "DEST", \
"", \
"" )
@@ -8569,10 +8908,6 @@
"", \
"" )
-#:def_cmd_opt( "DECOMPRESS", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECOMPRESS", "NORM", \
"", \
"" )
@@ -8809,6 +9144,10 @@
"", \
"" )
+#:def_cmd_opt( "DECOMPRESS", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECOMPRESS", "TITLE_SCREEN", \
"", \
"" )
@@ -8817,6 +9156,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "IGNORE_SETUP", \
"", \
"" )
@@ -9114,6 +9465,10 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "TITLE_SCREEN", \
"", \
"" )
@@ -9122,6 +9477,18 @@
"", \
"" )
+#:def_cmd_opt( "CREATE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CREATE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CREATE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CREATE", "DEST", \
"", \
"" )
@@ -9523,6 +9890,10 @@
"", \
"" )
+#:def_cmd_opt( "CREATE", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CREATE", "TITLE_SCREEN", \
"", \
"" )
@@ -9531,7 +9902,11 @@
"", \
"" )
-#:def_cmd_opt( "UPDATE", "SOURCE", \
+#:def_cmd_opt( "UPDATE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "UPDATE", "IN_ORDER", \
"", \
"" )
@@ -9539,6 +9914,10 @@
"", \
"" )
+#:def_cmd_opt( "UPDATE", "SOURCE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "UPDATE", "DEST", \
"", \
"" )
@@ -9815,6 +10194,10 @@
"", \
"" )
+#:def_cmd_opt( "UPDATE", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "UPDATE", "TITLE_SCREEN", \
"", \
"" )
@@ -9823,6 +10206,18 @@
"", \
"" )
+#:def_cmd_opt( "EXTRACT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "EXTRACT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "EXTRACT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "EXTRACT", "DEST", \
"", \
"" )
@@ -9899,10 +10294,6 @@
"", \
"" )
-#:def_cmd_opt( "EXTRACT", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "EXTRACT", "NO_HEADER", \
"", \
"Suppress the syntax information section in decoded text files." )
@@ -10127,6 +10518,10 @@
"", \
"" )
+#:def_cmd_opt( "EXTRACT", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "EXTRACT", "TITLE_SCREEN", \
"", \
"" )
@@ -10135,6 +10530,18 @@
"", \
"" )
+#:def_cmd_opt( "XDECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XDECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XDECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XDECODE", "DEST", \
"", \
"" )
@@ -10211,10 +10618,6 @@
"", \
"" )
-#:def_cmd_opt( "XDECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "XDECODE", "NO_HEADER", \
"", \
"Suppress the syntax information section in decoded text files." )
@@ -10439,6 +10842,10 @@
"", \
"" )
+#:def_cmd_opt( "XDECODE", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XDECODE", "TITLE_SCREEN", \
"", \
"" )
@@ -10447,6 +10854,18 @@
"", \
"" )
+#:def_cmd_opt( "XEXPORT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XEXPORT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XEXPORT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XEXPORT", "DEST", \
"", \
"" )
@@ -10523,10 +10942,6 @@
"", \
"" )
-#:def_cmd_opt( "XEXPORT", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "XEXPORT", "NO_HEADER", \
"", \
"Suppress the syntax information section in decoded text files." )
@@ -10751,6 +11166,10 @@
"", \
"" )
+#:def_cmd_opt( "XEXPORT", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XEXPORT", "TITLE_SCREEN", \
"", \
"" )
@@ -10759,6 +11178,18 @@
"", \
"" )
+#:def_cmd_opt( "XALL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XALL", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XALL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XALL", "DEST", \
"", \
"" )
@@ -10835,10 +11266,6 @@
"", \
"" )
-#:def_cmd_opt( "XALL", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "XALL", "NO_HEADER", \
"", \
"Suppress the syntax information section in decoded text files." )
@@ -11063,6 +11490,10 @@
"", \
"" )
+#:def_cmd_opt( "XALL", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XALL", "TITLE_SCREEN", \
"", \
"" )
@@ -11071,6 +11502,18 @@
"", \
"" )
+#:def_cmd_opt( "XCOMMON", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XCOMMON", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XCOMMON", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XCOMMON", "DEST", \
"", \
"" )
@@ -11103,19 +11546,23 @@
"", \
"" )
-#:def_cmd_opt( "XCOMMON", "IGNORE", \
+#:def_cmd_opt( "BINARY", "NO_WILDCARDS", \
"", \
"" )
-#:def_cmd_opt( "BINARY", "KMG_LIMIT", \
+#:def_cmd_opt( "BINARY", "IN_ORDER", \
"", \
"" )
-#:def_cmd_opt( "BINARY", "KMG_COPY", \
+#:def_cmd_opt( "BINARY", "IGNORE", \
"", \
"" )
-#:def_cmd_opt( "BINARY", "IGNORE", \
+#:def_cmd_opt( "BINARY", "KMG_LIMIT", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "BINARY", "KMG_COPY", \
"", \
"" )
@@ -11151,6 +11598,14 @@
"", \
"" )
+#:def_cmd_opt( "TEXT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "TEXT", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "TEXT", "IGNORE", \
"", \
"" )
@@ -11280,6 +11735,14 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "IGNORE", \
"", \
"" )
@@ -11369,6 +11832,14 @@
"Print long numeric message IDs instead of alternative message names" \
" like Txx, Uxx or Mxx." )
+#:def_cmd_opt( "BMG", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "BMG", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "BMG", "IGNORE", \
"", \
"" )
@@ -11442,6 +11913,14 @@
"", \
"" )
+#:def_cmd_opt( "KCL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "KCL", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "KCL", "IGNORE", \
"", \
"" )
@@ -11654,6 +12133,10 @@
"", \
"" )
+#:def_cmd_opt( "KCL", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "KCL", "TITLE_SCREEN", \
"", \
"" )
@@ -11662,6 +12145,14 @@
"", \
"" )
+#:def_cmd_opt( "KMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "KMP", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "KMP", "IGNORE", \
"", \
"" )
@@ -11878,6 +12369,10 @@
"", \
"" )
+#:def_cmd_opt( "KMP", "9LAPS", \
+ "", \
+ "" )
+
#:def_cmd_opt( "KMP", "TITLE_SCREEN", \
"", \
"" )
@@ -11886,6 +12381,14 @@
"", \
"" )
+#:def_cmd_opt( "LEX", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LEX", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LEX", "IGNORE", \
"", \
"" )
@@ -11902,6 +12405,14 @@
"", \
"" )
+#:def_cmd_opt( "INFO", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "INFO", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "INFO", "IGNORE", \
"", \
"" )
@@ -11910,6 +12421,14 @@
"", \
"Suppress output of the printed filename." )
+#:def_cmd_opt( "GHOST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "GHOST", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "GHOST", "IGNORE", \
"", \
"" )
@@ -11967,6 +12486,18 @@
"", \
"" )
+#:def_cmd_opt( "YAZDUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "YAZDUMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "YAZDUMP", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "YAZDUMP", "DEST", \
"", \
"" )
@@ -12076,10 +12607,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wbmgt TEST [options]... [ignored]...", \
@@ -12101,7 +12629,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wbmgt FILEATTRIB [keyword]...", \
@@ -12131,17 +12660,20 @@
#:def_cmd( "SECTIONS", "SECTIONS", \
"wbmgt SECTIONS [source]...", \
"List all sections of each binary BMG file. Print offset, size, magic" \
- " and a short info. If known, print number and size of elements too." )
+ " and a short info. If known, print number and size of elements too." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "LIST", "LIST|LS|LL", \
"wbmgt LIST [source]...", \
"List messages to proof the content. Patches are applied before" \
- " listing. The lines are cut to fit the terminal width." )
+ " listing. The lines are cut to fit the terminal width. $Wildcards$" \
+ " and pipe characters are parsed." )
#:def_cmd( "SLOTS", "SLOTS", \
"wbmgt SLOTS [source]...", \
"Print a slot ordered list with slot number, message id, delta and" \
- " attributes. Patches are applied before listing." )
+ " attributes. Patches are applied before listing. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "DIFF", "DIFF|CMP", \
"wbmgt DIFF source1 source2\n" \
@@ -12156,7 +12688,8 @@
"Read the entered BMG files (text, binary or szs sub file) and print" \
" them as decoded text files to standard output. All BMG files of a" \
" single archive (SZS,...) are combined to 1 source. The output of all" \
- " source files is concatenated." )
+ " source files is concatenated. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "MIX", "MIX", \
"wbmgt MIX [source]...", \
@@ -12164,7 +12697,7 @@
" them as decoded text files to standard output. All BMG files of all" \
" archives (SZS,...) are read. The output of all source files is" \
" combined and strings of later source files override prior defined" \
- " strings." )
+ " strings. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "IDENTIFIER", "IDENTIFIER|ID|IDENTIFY", \
"wbmgt IDENTIFIER", \
@@ -12177,20 +12710,23 @@
"Read the entered message files and decode them to text files. All BMG" \
" files of a single archive (SZS,...) are concatenated to 1 source." \
" This command is similar to {PATCH}, but the result is always" \
- " decoded. The default destination is @'%P/%N.txt'@." )
+ " decoded. The default destination is @'%P/%N.txt'@. $Wildcards$ and" \
+ " pipe characters are parsed." )
#:def_cmd( "ENCODE", "ENCODE|ENC", \
"wbmgt ENCODE [source]...", \
"Read the entered message files and encode them to BMG files. All BMG" \
" files of a single archive (SZS,...) are concatenated to 1 source." \
" This command is similar to {PATCH}, but the result is always" \
- " encoded. The default destination is @'%P/%N.bmg'@." )
+ " encoded. The default destination is @'%P/%N.bmg'@. $Wildcards$ and" \
+ " pipe characters are parsed." )
#:def_cmd( "PATCH", "PATCH|PAT", \
"wbmgt PATCH [source]...", \
"Patch the entered files by using the patch list specified by option" \
" {--patch-bmg}. The coding of the source files is not changed. The" \
- " default destination is @'%P/%F'@.\n" \
+ " default destination is @'%P/%F'@. $Wildcards$ and pipe characters" \
+ " are parsed.\n" \
" Use {wszst patch --patch-bmg ...} to patch BMG files within a SZS" \
" file." )
@@ -12349,6 +12885,15 @@
" empty lines. If set 3 times, the @#BMG@ file indentification is also" \
" suppressed." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "MAX_FILE_SIZE", "M|max-file-size|maxfilesize", "GP", \
"size", \
"This security option defines the maximum file size for input files;" \
@@ -12668,15 +13213,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -12698,10 +13251,26 @@
"", \
"Exclude the section header from output." )
+#:def_cmd_opt( "SECTIONS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SECTIONS", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SECTIONS", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "LIST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST", "IGNORE", \
"", \
"" )
@@ -12726,6 +13295,14 @@
"", \
"" )
+#:def_cmd_opt( "SLOTS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SLOTS", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "SLOTS", "IGNORE", \
"", \
"" )
@@ -12778,6 +13355,18 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "NO_HEADER", \
"", \
"" )
@@ -12846,10 +13435,6 @@
"", \
"" )
-#:def_cmd_opt( "CAT", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "CAT", "PATCH_BMG", \
"", \
"" )
@@ -12862,6 +13447,18 @@
"", \
"" )
+#:def_cmd_opt( "MIX", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "MIX", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "MIX", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "MIX", "NO_HEADER", \
"", \
"" )
@@ -12930,10 +13527,6 @@
"", \
"" )
-#:def_cmd_opt( "MIX", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "MIX", "PATCH_BMG", \
"", \
"" )
@@ -13022,6 +13615,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "DEST", \
"", \
"" )
@@ -13122,10 +13727,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "PATCH_BMG", \
"", \
"" )
@@ -13138,6 +13739,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "DEST", \
"", \
"" )
@@ -13190,10 +13803,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "ENCODE", "PATCH_BMG", \
"", \
"" )
@@ -13210,6 +13819,18 @@
"", \
"" )
+#:def_cmd_opt( "PATCH", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PATCH", "DEST", \
"", \
"" )
@@ -13310,10 +13931,6 @@
"", \
"" )
-#:def_cmd_opt( "PATCH", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "PATCH", "PATCH_BMG", \
"", \
"" )
@@ -13375,10 +13992,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wctct TEST [options]... [ignored]...", \
@@ -13400,7 +14014,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wctct FILEATTRIB [keyword]...", \
@@ -13441,14 +14056,15 @@
#:def_cmd( "DUMP", "D|DUMP", \
"wctct DUMP [source]...", \
"Print an information dump for the CT-CODE of each source file. BRRES," \
- " TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as input." )
+ " TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as input. $Wildcards$" \
+ " and pipe characters are parsed." )
#:def_cmd( "CAT", "CAT", \
"wctct CAT [source]...", \
"Read the source files and print the CT-CODE part them as decoded text" \
- " files to standard output. The output of all source files is" \
- " concatenated. BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted" \
- " as input." )
+ " files to standard output. $Wildcards$ and pipe characters are" \
+ " parsed. The output of all source files is concatenated. BRRES, TEX0," \
+ " CT-CODE, CT-TEXT and LE-BIN are accepted as input." )
#:def_cmd( "BMG", "BMG", \
"wctct BMG [source]...", \
@@ -13463,26 +14079,28 @@
#:def_cmd( "DECODE", "DECODE|DEC", \
"wctct DECODE [source]...", \
- "Read the source files and decode them to CT-TEXT files. The default" \
- " destination is @'%P/%N.txt'@. BRRES, TEX0, CT-CODE, CT-TEXT and" \
- " LE-BIN are accepted as input." )
+ "Read the source files and decode them to CT-TEXT files. $Wildcards$" \
+ " and pipe characters are parsed. The default destination is" \
+ " @'%P/%N.txt'@. BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted" \
+ " as input." )
#:def_cmd( "CREATE", "CREATE|C", \
"wctct CREATE keyword [source]...", \
"Read the source files, scan the CT-CODE part and create an output" \
- " file controlled by the keyword. BRRES, TEX0, CT-CODE, CT-TEXT and" \
- " LE-BIN files are accepted as input. Possible keywords are: @CUP1," \
- " CRS1, r-MOD1, r-MOD2, r-OVR1, r-BAD1CODE, r-BAD1DATA (=r-CODE)," \
- " r-TEX0, r-BRRES, r-SZS, BMG, TRACKS, LIST, REF@ and @FULL@. 'r'" \
- " defines the region and is one of @EU, RMCP, US, RMCE, JP, RMCJ, KO@" \
- " or @RMCK@.\n" \
+ " file controlled by the keyword. $Wildcards$ and pipe characters are" \
+ " parsed. BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN files are accepted" \
+ " as input. Possible keywords are: @CUP1, CRS1, r-MOD1, r-MOD2," \
+ " r-OVR1, r-BAD1CODE, r-BAD1DATA (=r-CODE), r-TEX0, r-BRRES, r-SZS," \
+ " BMG, TRACKS, LIST, REF@ and @FULL@. 'r' defines the region and is" \
+ " one of @EU, RMCP, US, RMCE, JP, RMCJ, KO@ or @RMCK@.\n" \
" The Korean support needs external CT-CODE files. Use option" \
" {--ct-dir} to define at least one search path." )
#:def_cmd( "PATCH", "PATCH|P", \
"wctct PATCH [source]...", \
"Read each source file, find and scan the CT-CODE part and patch it." \
- " BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as input." )
+ " $Wildcards$ and pipe characters are parsed. BRRES, TEX0, CT-CODE," \
+ " CT-TEXT and LE-BIN are accepted as input." )
#:def_opt( "VERSION", "V|version", "G", \
"", \
@@ -13649,6 +14267,15 @@
"", \
"Suppress cross reference comments." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "RAW", "raw", "C", \
"", \
"Print BMG messages as UTF-8 text without escape sequences." )
@@ -14048,15 +14675,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -14095,6 +14730,18 @@
"", \
"" )
+#:def_cmd_opt( "DUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUMP", "LONG", \
"", \
"Print headers as hexdump." )
@@ -14127,6 +14774,14 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "IGNORE", \
"", \
"" )
@@ -14414,6 +15069,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "WRITE_TRACKS", \
"", \
"" )
@@ -14450,10 +15117,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "LIST", \
"", \
"" )
@@ -14518,6 +15181,18 @@
"", \
"" )
+#:def_cmd_opt( "CREATE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CREATE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CREATE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CREATE", "WRITE_TRACKS", \
"", \
"" )
@@ -14554,10 +15229,6 @@
"", \
"" )
-#:def_cmd_opt( "CREATE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "CREATE", "HEX", \
"", \
"" )
@@ -14685,6 +15356,18 @@
"", \
"" )
+#:def_cmd_opt( "PATCH", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PATCH", "WRITE_TRACKS", \
"", \
"" )
@@ -14721,10 +15404,6 @@
"", \
"" )
-#:def_cmd_opt( "PATCH", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "PATCH", "NO_CHECK", \
"", \
"" )
@@ -14802,10 +15481,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wimgt TEST [options]... [ignored]...", \
@@ -14827,7 +15503,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wimgt FILEATTRIB [keyword]...", \
@@ -14839,44 +15516,50 @@
#:def_cmd( "LIST", "LIST|LS", \
"wimgt LIST [source]...", \
- "List images files and print file and image type." )
+ "List images files and print file and image type. $Wildcards$ and pipe" \
+ " characters are parsed." )
#:def_cmd( "LIST_L", "LIST-L|LL|LISTL", \
"wit LIST-L [source]...", \
"List images files and print file and image type and geometry data." \
- " 'LIST-L' is a short cut for {LIST --long}." )
+ " $Wildcards$ and pipe characters are parsed. 'LIST-L' is a short cut" \
+ " for {LIST --long}." )
#:def_cmd( "LIST_LL", "LIST-LL|LLL|LISTLL", \
"wit LIST-LL [source]...", \
"List images files and print file and image type and advanced geometry" \
- " data. 'LIST-LL' is a short cut for {LIST --long --long}." )
+ " data. $Wildcards$ and pipe characters are parsed. 'LIST-LL' is a" \
+ " short cut for {LIST --long --long}." )
#:def_cmd( "DECODE", "DECODE|DEC", \
"wimgt DECODE [source]...", \
- "Decode (export) the entered image files into PNG files. The default" \
- " destination is @'%P/%F.png'@. If SOURCE starts with colon (@:@)," \
- " then it may be a generic image instead of a real file." )
+ "Decode (export) the entered image files into PNG files. $Wildcards$" \
+ " and pipe characters are parsed. The default destination is" \
+ " @'%P/%F.png'@. If SOURCE starts with colon (@:@), then it may be a" \
+ " generic image instead of a real file." )
#:def_cmd( "ENCODE", "ENCODE|ENC", \
"wimgt ENCODE [source]...", \
"Encode (import) the entered PNG files and convert them to to an" \
- " internal image format (TPL, TEX, BREFT). The default destination is" \
- " @'%P/%N'@ (removed extension). If SOURCE starts with colon (@:@)," \
- " then it may be a generic image instead of a real file." )
+ " internal image format (TPL, TEX, BREFT, ...). $Wildcards$ and pipe" \
+ " characters are parsed. The default destination is @'%P/%N'@ (removed" \
+ " extension). If SOURCE starts with colon (@:@), then it may be a" \
+ " generic image instead of a real file." )
#:def_cmd( "CONVERT", "CONVERT|CV", \
"wimgt CONVERT [source]...", \
- "Convert the entered image files into new file and image formats. The" \
- " old file is replaced by the new one. The difference to {ENCODE} is" \
- " only the default file name handling. If SOURCE starts with colon" \
- " (@:@), then it may be a generic image instead of a real file." )
+ "Convert the entered image files into new file and image formats." \
+ " $Wildcards$ and pipe characters are parsed. The old file is replaced" \
+ " by the new one. The difference to {ENCODE} is only the default file" \
+ " name handling. If SOURCE starts with colon (@:@), then it may be a" \
+ " generic image instead of a real file." )
#:def_cmd( "COPY", "COPY|CP", \
"wimgt COPY source dest\n" \
"wimgt COPY source... [-d|-D] dest", \
"Copy and convert an image from 'source' to 'dest'. Multiple sources" \
" can be used, if 'dest' is a directory or contains at least one" \
- " %-pattern.\n" \
+ " %-pattern. $Wildcards$ and pipe characters are parsed.\n" \
" This is an alternative for the ENCODE and DECODE commands. The" \
" default destination file format is selected by scanning the file" \
" extension of the destination. Option --transform may override this." \
@@ -15035,6 +15718,15 @@
"", \
"Create smaller output." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "MAX_FILE_SIZE", "M|max-file-size|maxfilesize", "GP", \
"size", \
"This security option defines the maximum file size for input files;" \
@@ -15303,16 +15995,36 @@
"", \
"Print message number instead of message name." )
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "FILETYPE", "LONG", \
"", \
"Print an additional column with the decompressed file type and" \
" version. If entered twice, a validation status column is added." )
-#:def_cmd_opt( "FILETYPE", "IGNORE", \
+#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
-#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
+#:def_cmd_opt( "LIST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST", "IGNORE", \
"", \
"" )
@@ -15325,7 +16037,15 @@
"", \
"" )
-#:def_cmd_opt( "LIST", "IGNORE", \
+#:def_cmd_opt( "LIST_L", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_L", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_L", "IGNORE", \
"", \
"" )
@@ -15338,7 +16058,15 @@
"", \
"" )
-#:def_cmd_opt( "LIST_L", "IGNORE", \
+#:def_cmd_opt( "LIST_LL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_LL", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST_LL", "IGNORE", \
"", \
"" )
@@ -15351,7 +16079,15 @@
"", \
"" )
-#:def_cmd_opt( "LIST_LL", "IGNORE", \
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
"", \
"" )
@@ -15387,10 +16123,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "N_MIPMAPS", \
"", \
"" )
@@ -15435,6 +16167,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "DEST", \
"", \
"" )
@@ -15467,10 +16211,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "ENCODE", "ALL", \
"", \
"If source and destination file are the same, the file is only written" \
@@ -15521,6 +16261,18 @@
"", \
"" )
+#:def_cmd_opt( "CONVERT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CONVERT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CONVERT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CONVERT", "DEST", \
"", \
"" )
@@ -15553,10 +16305,6 @@
"", \
"" )
-#:def_cmd_opt( "CONVERT", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "CONVERT", "ALL", \
"", \
"If source and destination file are the same, the file is only written" \
@@ -15607,6 +16355,18 @@
"", \
"" )
+#:def_cmd_opt( "COPY", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COPY", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COPY", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "COPY", "DEST", \
"", \
"" )
@@ -15639,10 +16399,6 @@
"", \
"" )
-#:def_cmd_opt( "COPY", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "COPY", "ALL", \
"", \
"If source and destination file are the same, the file is only written" \
@@ -15738,10 +16494,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wkclt TEST [options]... [ignored]...", \
@@ -15763,7 +16516,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wkclt FILEATTRIB [keyword]...", \
@@ -15820,21 +16574,24 @@
#:def_cmd( "CAT", "CAT", \
"wkclt CAT source...", \
"Read the entered KCL and OBJ files and print them as OBJ files to" \
- " standard output. The output of all source files is concatenated.\n" \
+ " standard output. $Wildcards$ and pipe characters are parsed. The" \
+ " output of all source files is concatenated.\n" \
" Automated dropping of bad KCL triangles is enabled if no other drop" \
" option is specified by option {--kcl}." )
#:def_cmd( "DECODE", "DECODE|DEC", \
"wkclt DECODE source...", \
- "Read the entered KCL and OBJ files and export them to OBJ files. The" \
- " default destination is @'%P/%N.txt'@.\n" \
+ "Read the entered KCL and OBJ files and export them to OBJ files." \
+ " $Wildcards$ and pipe characters are parsed. The default destination" \
+ " is @'%P/%N.txt'@.\n" \
" Automated dropping of bad KCL triangles is enabled if no other drop" \
" option is specified by option {--kcl}." )
#:def_cmd( "ENCODE", "ENCODE|ENC", \
"wkclt ENCODE source...", \
"Read the entered KCL and OBJ files and encode (compile) them to" \
- " binary KCL files. The default destination is @'%P/%N.kcl'@.\n" \
+ " binary KCL files. $Wildcards$ and pipe characters are parsed. The" \
+ " default destination is @'%P/%N.kcl'@.\n" \
" See https://szs.wiimm.de/doc/kcl for encoding details." )
#:def_cmd( "COPY", "COPY|CP", \
@@ -15842,7 +16599,8 @@
"wkclt COPY source... [-d|-D] dest", \
"Copy and convert a collision file from 'source' to 'dest'. Multiple" \
" KCL and OBJ sources can be used, if 'dest' is a directory or" \
- " contains at least one %-pattern.\n" \
+ " contains at least one %-pattern. $Wildcards$ and pipe characters are" \
+ " parsed.\n" \
" This is an alternative for the DECODE and ENCODE commands. The" \
" default destination file format is selected by scanning the file" \
" extension of the destination. Is it '.kcl', a binary KCL file is" \
@@ -15854,20 +16612,21 @@
#:def_cmd( "CFF", "CFF", \
"wkclt CFF source...", \
"CFF is an abbreviation of 'create flag file' and will create a flag" \
- " file template for each entered source file. If the flag file already" \
- " exists, only missing group names are added at the end of file." )
+ " file template for each entered source file. $Wildcards$ and pipe" \
+ " characters are parsed. If the flag file already exists, only missing" \
+ " group names are added at the end of file." )
#:def_cmd( "FLAGS", "FLAGS|F", \
"wkclt FLAGS source...", \
"Print a KCL type and flag usage statistic for each source to standard" \
- " output." )
+ " output. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "DUMP", "DUMP|D", \
"wkclt DUMP source...", \
"This debugging command prints an information dump about the internal" \
" triangle data base and the octree in human and machine readable text" \
- " format. The output of all source files is concatenated and printed" \
- " to standard output." )
+ " format. $Wildcards$ and pipe characters are parsed. The output of" \
+ " all source files is concatenated and printed to standard output." )
#:def_cmd( "DBRIEF", "DBRIEF|DB", \
"wkclt DBRIEF source...", \
@@ -15879,14 +16638,16 @@
"wkclt LIST source...", \
"This debugging command prints a list of all triangles with metrics in" \
" human and machine readable text format. It is like DUMP, but reduced" \
- " to the list of triangles. The output of all source files is" \
- " concatenated and printed to standard output." )
+ " to the list of triangles. $Wildcards$ and pipe characters are" \
+ " parsed. The output of all source files is concatenated and printed" \
+ " to standard output." )
#:def_cmd( "TRIANGLES", "TRIANGLES", \
"wkclt TRIANGLES source...", \
"This debugging commands prints one data line for each triangle. The" \
" goal is to compare data. Therefor and to create smaller lines the" \
- " precision of the floating points numbers is reduced.\n" \
+ " precision of the floating points numbers is reduced. $Wildcards$ and" \
+ " pipe characters are parsed.\n" \
" The print order is: flag used length | 3 points | 4 normals. For" \
" each point and normal 3 coordinates are printed." )
@@ -15906,19 +16667,20 @@
#:def_cmd( "CHECK", "CHECK|CHK", \
"wkclt CHECK source...", \
"Read the entered KCL files (text or binary) and and make a" \
- " plausibility check. Hints and warnings are written to standard" \
- " output. The exit status is @'DIFFER'@ if at least one KMP warning" \
- " found." )
+ " plausibility check. $Wildcards$ and pipe characters are parsed." \
+ " Hints and warnings are written to standard output. The exit status" \
+ " is @'DIFFER'@ if at least one KMP warning found." )
#:def_cmd( "SHA1", "SHA1", \
"wszst SHA1 [source]...", \
- "Print a SHA1 checksum of the KCL for each source. The checksum is" \
- " calculated after patching." )
+ "Print a SHA1 checksum of the KCL for each source. $Wildcards$ and" \
+ " pipe characters are parsed. The checksum is calculated after" \
+ " patching." )
#:def_cmd( "BLOW", "BLOW", \
"wkclt BLOW source...", \
- "Try to calculate the used blow size (KCL_BLOW) of a KCL. Print one" \
- " line for each source file." )
+ "Try to calculate the used blow size (KCL_BLOW) of a KCL. $Wildcards$" \
+ " and pipe characters are parsed. Print one line for each source file." )
#:def_opt( "VERSION", "V|version", "G", \
"", \
@@ -16325,6 +17087,15 @@
"", \
"Create smaller output." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "NO_PARAM", "P|no-param|noparam", "C", \
"", \
"Disable parameter support in decoded KMP text files." )
@@ -16500,15 +17271,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -16649,11 +17428,11 @@
"", \
"" )
-#:def_cmd_opt( "CAT", "NO_ECHO", \
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
"", \
"" )
-#:def_cmd_opt( "CAT", "NO_CHECK", \
+#:def_cmd_opt( "CAT", "IN_ORDER", \
"", \
"" )
@@ -16661,6 +17440,14 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "NO_ECHO", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "NO_CHECK", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "CONST", \
"", \
"" )
@@ -16753,6 +17540,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "DEST", \
"", \
"" )
@@ -16793,10 +17592,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "CONST", \
"", \
"" )
@@ -16889,6 +17684,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "DEST", \
"", \
"" )
@@ -16929,10 +17736,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "ENCODE", "CONST", \
"", \
"" )
@@ -17025,6 +17828,18 @@
"", \
"" )
+#:def_cmd_opt( "COPY", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COPY", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "COPY", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "COPY", "DEST", \
"", \
"" )
@@ -17065,10 +17880,6 @@
"", \
"" )
-#:def_cmd_opt( "COPY", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "COPY", "CONST", \
"", \
"" )
@@ -17161,6 +17972,18 @@
"", \
"" )
+#:def_cmd_opt( "CFF", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CFF", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CFF", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CFF", "LONG", \
"", \
"Force usage of @'f(typ,variant)'@. If set twice, force usage of" \
@@ -17210,10 +18033,6 @@
"", \
"" )
-#:def_cmd_opt( "CFF", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "CFF", "CONST", \
"", \
"" )
@@ -17230,11 +18049,11 @@
"", \
"Print only the resulting flag." )
-#:def_cmd_opt( "FLAGS", "NO_HEADER", \
+#:def_cmd_opt( "FLAGS", "NO_WILDCARDS", \
"", \
"" )
-#:def_cmd_opt( "FLAGS", "NO_CHECK", \
+#:def_cmd_opt( "FLAGS", "IN_ORDER", \
"", \
"" )
@@ -17242,6 +18061,14 @@
"", \
"" )
+#:def_cmd_opt( "FLAGS", "NO_HEADER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "FLAGS", "NO_CHECK", \
+ "", \
+ "" )
+
#:def_cmd_opt( "FLAGS", "BRIEF", \
"", \
"Suppress the output of detailed flag list and print only the type" \
@@ -17339,6 +18166,14 @@
"", \
"" )
+#:def_cmd_opt( "DUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUMP", "IGNORE", \
"", \
"" )
@@ -17449,6 +18284,14 @@
"", \
"" )
+#:def_cmd_opt( "DBRIEF", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DBRIEF", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DBRIEF", "IGNORE", \
"", \
"" )
@@ -17559,6 +18402,14 @@
"", \
"" )
+#:def_cmd_opt( "LIST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LIST", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "LIST", "IGNORE", \
"", \
"" )
@@ -17659,6 +18510,14 @@
"", \
"" )
+#:def_cmd_opt( "TRIANGLES", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "TRIANGLES", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "TRIANGLES", "IGNORE", \
"", \
"" )
@@ -17986,6 +18845,18 @@
"", \
"" )
+#:def_cmd_opt( "CHECK", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CHECK", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CHECK", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CHECK", "COLORS", \
"", \
"" )
@@ -18014,7 +18885,11 @@
"", \
"" )
-#:def_cmd_opt( "CHECK", "IGNORE", \
+#:def_cmd_opt( "SHA1", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "SHA1", "IN_ORDER", \
"", \
"" )
@@ -18134,6 +19009,14 @@
"", \
"" )
+#:def_cmd_opt( "ANALYZE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ANALYZE", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ANALYZE", "IGNORE", \
"", \
"" )
@@ -18230,6 +19113,14 @@
"", \
"" )
+#:def_cmd_opt( "BLOW", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "BLOW", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "BLOW", "IGNORE", \
"", \
"" )
@@ -18279,10 +19170,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wkmpt TEST [options]... [ignored]...", \
@@ -18304,7 +19192,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wkmpt FILEATTRIB [keyword]...", \
@@ -18382,18 +19271,21 @@
#:def_cmd( "CAT", "CAT", \
"wkmpt CAT [source]...", \
"Read the entered KMP files (text, binary or szs) and print them as" \
- " decoded text files to standard output. The output of all source" \
- " files is concatenated." )
+ " decoded text files to standard output. $Wildcards$ and pipe" \
+ " characters are parsed. The output of all source files is" \
+ " concatenated." )
#:def_cmd( "DECODE", "DECODE|DEC", \
"wkmpt DECODE [source]...", \
"Read the entered KMP files (text or binary) and decode them to text" \
- " files. The default destination is @'%P/%N.txt'@." )
+ " files. $Wildcards$ and pipe characters are parsed. The default" \
+ " destination is @'%P/%N.txt'@." )
#:def_cmd( "ENCODE", "ENCODE|ENC", \
"wkmpt ENCODE source...", \
"Read the entered KMP files (text or binary) and encode (compile) them" \
- " to binary files. The default destination is @'%P/%N.kmp'@." )
+ " to binary files. $Wildcards$ and pipe characters are parsed. The" \
+ " default destination is @'%P/%N.kmp'@." )
#:def_cmd( "DIFF", "DIFF|CMP", \
"wkmpt DIFF source1 source2\n" \
@@ -18411,24 +19303,25 @@
#:def_cmd( "DRAW", "DRAW|D|COBJECT|COB", \
"wkmpt DRAW source...", \
"Read the entered KMP files (text or binary), of needed load the" \
- " related KCL file, draw KMP objects and create an OBJ file. The" \
- " default destination is @'%P/%N.kmp.obj'@.\n" \
+ " related KCL file, draw KMP objects and create an OBJ file." \
+ " $Wildcards$ and pipe characters are parsed. The default destination" \
+ " is @'%P/%N.kmp.obj'@.\n" \
" Automated dropping of bad KCL triangles is enabled if no drop" \
" option is specified by option {--kcl}." )
#:def_cmd( "CHECK", "CHECK|CHK", \
"wkmpt CHECK source...", \
"Read the entered KMP files (text or binary) and and make a" \
- " plausibility check. Hints and warnings are written to standard" \
- " output. The exit status is @'DIFFER'@ if at least one KMP warning" \
- " found." )
+ " plausibility check. $Wildcards$ and pipe characters are parsed." \
+ " Hints and warnings are written to standard output. The exit status" \
+ " is @'DIFFER'@ if at least one KMP warning found." )
#:def_cmd( "STGI", "STGI", \
"wkmpt STGI file...", \
"Find the first KMP:STGI of each file and print an analysis of it as" \
" single line statistic. Additional the number of lap counter check" \
" points ('LC') is printed. Track and KMP (binary and text) files are" \
- " accepted as input." )
+ " accepted as input. $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "KTPT", "KTPT", \
"wkmpt KTPT [source]...", \
@@ -18441,7 +19334,8 @@
#:def_cmd( "ROUTES", "ROUTES", \
"wkmpt ROUTES file...", \
"Print the internal cross references for routes of KMP sections CKPH," \
- " CKPT, ENPH, ENPT, ITPH and ITPT." )
+ " CKPT, ENPH, ENPT, ITPH and ITPT. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "GAMEMODES", "GAMEMODES|GMODES", \
"wkmpt GAMEMODES [source]...", \
@@ -18449,7 +19343,8 @@
" support and print a list. The lists consists of index, scenario" \
" version and scenario name. Scenario versions are only equal, if the" \
" scenarios are duplicates. Duplicates happens only, if {--gamemodes}" \
- " option TT or FULL is set." )
+ " option TT or FULL is set. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "WIM0", "WIM0|W0", \
"wkmpt WIM0 [source]...", \
@@ -18932,8 +19827,8 @@
" all. The other allowed keywords are: @FORCE, NEW, RM-SPCITEM, LEFT," \
" RIGHT, WIDE, NARROW, FIX-CKPH, FIX-ENPH, FIX-ITPH, FIX-PH," \
" FIX-CKNEXT, FIX-CKJGPT, FIX-CK, FIX-ALL, MASK-PFLAGS, RM-LECODE," \
- " PURGE-GOBJ, FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP ..." \
- " 9LAPS, MAX-LAPS, RM-EMPTY, TINY-0 ... TINY-7, INPLACE, SILENT@ and" \
+ " PURGE-GOBJ, FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP .." \
+ " 9LAPS, MAX-LAPS, RM-EMPTY, TINY-0 .. TINY-7, INPLACE, SILENT@ and" \
" @LOG@." )
#:def_opt( "SPEED_MOD", "speed-mod|speedmod", "GP", \
@@ -19021,6 +19916,15 @@
" syntax information ({--no-header}). If set twice, the output of" \
" unneeded sections is also suppressed." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "EXPORT", "X|export", "C", \
"", \
"Enable the export mode and create small and machine readable text" \
@@ -19220,15 +20124,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -19531,6 +20443,18 @@
"Print each setting starting on a new line. --long and {--brief} can" \
" be used together." )
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "NO_HEADER", \
"", \
"Suppress the syntax information section in KMP text files." )
@@ -19575,10 +20499,6 @@
"", \
"" )
-#:def_cmd_opt( "CAT", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "CAT", "CONST", \
"", \
"" )
@@ -19679,6 +20599,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "DEST", \
"", \
"" )
@@ -19755,10 +20687,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "CONST", \
"", \
"" )
@@ -19859,6 +20787,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "DEST", \
"", \
"" )
@@ -19899,10 +20839,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "ENCODE", "CONST", \
"", \
"" )
@@ -20040,6 +20976,18 @@
"", \
"" )
+#:def_cmd_opt( "DRAW", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DRAW", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DRAW", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DRAW", "DRAW", \
"", \
"" )
@@ -20132,10 +21080,6 @@
"", \
"" )
-#:def_cmd_opt( "DRAW", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DRAW", "CONST", \
"", \
"" )
@@ -20240,6 +21184,18 @@
"", \
"" )
+#:def_cmd_opt( "CHECK", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CHECK", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CHECK", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CHECK", "COLORS", \
"", \
"" )
@@ -20272,10 +21228,20 @@
"", \
"" )
-#:def_cmd_opt( "CHECK", "IGNORE", \
+#:def_cmd_opt( "STGI", "NO_WILDCARDS", \
"", \
"" )
+#:def_cmd_opt( "STGI", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "STGI", "IGNORE", \
+ "", \
+ "If set, ignore non existing source files and files without KMP" \
+ " without warning. If set twice, ignore files with standard settings" \
+ " too." )
+
#:def_cmd_opt( "STGI", "COLORS", \
"", \
"" )
@@ -20288,11 +21254,18 @@
"", \
"" )
-#:def_cmd_opt( "STGI", "IGNORE", \
+#:def_cmd_opt( "KTPT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "KTPT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "KTPT", "IGNORE", \
"", \
"If set, ignore non existing source files and files without KMP" \
- " without warning. If set twice, ignore files with standard settings" \
- " too." )
+ " without warning." )
#:def_cmd_opt( "KTPT", "COLORS", \
"", \
@@ -20306,16 +21279,24 @@
"", \
"" )
-#:def_cmd_opt( "KTPT", "IGNORE", \
- "", \
- "If set, ignore non existing source files and files without KMP" \
- " without warning." )
-
#:def_cmd_opt( "KTPT", "LONG", \
"", \
"If set, compare each KTPT with each lap counter (some CKPT) and print" \
" positions, directions, distances and recommendations as wide table." )
+#:def_cmd_opt( "ROUTES", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ROUTES", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ROUTES", "IGNORE", \
+ "", \
+ "If set, ignore non existing source files and files without KMP" \
+ " without warning." )
+
#:def_cmd_opt( "ROUTES", "COLORS", \
"", \
"" )
@@ -20328,10 +21309,13 @@
"", \
"" )
-#:def_cmd_opt( "ROUTES", "IGNORE", \
+#:def_cmd_opt( "GOBJ", "NO_WILDCARDS", \
"", \
- "If set, ignore non existing source files and files without KMP" \
- " without warning." )
+ "" )
+
+#:def_cmd_opt( "GOBJ", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "GOBJ", "IGNORE", \
"", \
@@ -20350,6 +21334,14 @@
"", \
"?" )
+#:def_cmd_opt( "GAMEMODES", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "GAMEMODES", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "GAMEMODES", "IGNORE", \
"", \
"" )
@@ -20428,10 +21420,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wlect TEST [options]... [ignored]...", \
@@ -20453,7 +21442,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wlect FILEATTRIB [keyword]...", \
@@ -20493,8 +21483,9 @@
#:def_cmd( "DUMP", "DUMP|D", \
"wlect DUMP [source]...", \
- "Print an information dump for each source file. LE-CODE binaries and" \
- " LEX binaries are accepted as input." )
+ "Print an information dump for each source file. $Wildcards$ and pipe" \
+ " characters are parsed. LE-CODE binaries and LEX binaries are" \
+ " accepted as input." )
#:def_cmd( "DB", "DBwlect DL [source]...", \
"Short cut for {DUMP --brief}.", \
@@ -20526,14 +21517,15 @@
#:def_cmd( "PATCH", "PATCH|P", \
"wlect PATCH [lecode_bin]...", \
- "Read each LE-CODE binary file and patch it. Use {--le-define} to" \
- " setup cups and tracks." )
+ "Read each LE-CODE binary file and patch it. $Wildcards$ and pipe" \
+ " characters are parsed. Use {--le-define} to setup cups and tracks." )
#:def_cmd( "LPAR", "LPAR", \
"wlect LPAR [le_bin]...", \
- "Read each LE-BIN file and patch it. Then extract the LE-CODE" \
- " parameters and store them as LPAR text file. Print the result to" \
- " standard output if no other destination is defined." )
+ "Read each LE-BIN file and patch it. $Wildcards$ and pipe characters" \
+ " are parsed. Then extract the LE-CODE parameters and store them as" \
+ " LPAR text file. Print the result to standard output if no other" \
+ " destination is defined." )
#:def_cmd( "CREATE", "CREATE|CR", \
"wlect CREATE [keyword] ...", \
@@ -20547,25 +21539,29 @@
"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." \
- " $Wildcards$ are accepted.\n" \
+ " data and creates any number of files with different file types. The" \
+ " parameters are evaluated step by step. $Wildcards$ and pipe" \
+ " characters are parsed.\n" \
" Use the command without keyword to get an extended description." )
#:def_cmd( "CAT", "CAT", \
"wlect CAT [source]...", \
"Read the entered LEX and LE-CODE files (text, binary or szs) and" \
- " print them as decoded text files to standard output. The output of" \
- " all source files is concatenated." )
+ " print them as decoded text files to standard output. $Wildcards$ and" \
+ " pipe characters are parsed. The output of all source files is" \
+ " concatenated." )
#:def_cmd( "DECODE", "DECODE|DEC", \
"wlect DECODE [source]...", \
"Read the entered LEX files (text or binary) and decode them to text" \
- " files. The default destination is @'%P/%N.txt'@." )
+ " files. $Wildcards$ and pipe characters are parsed. The default" \
+ " destination is @'%P/%N.txt'@." )
#:def_cmd( "ENCODE", "ENCODE|ENC", \
"wlect ENCODE source...", \
"Read the entered LEX files (text or binary) and encode (compile) them" \
- " to binary files. The default destination is @'%P/%N.lex'@." )
+ " to binary files. $Wildcards$ and pipe characters are parsed. The" \
+ " default destination is @'%P/%N.lex'@." )
#:def_opt( "VERSION", "V|version", "G", \
"", \
@@ -20748,6 +21744,15 @@
"", \
"Suppress cross reference comments." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "EXPORT", "X|export", "C", \
"", \
"Enable the export mode and create small and machine readable text" \
@@ -21135,15 +22140,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -21174,6 +22187,18 @@
"", \
"" )
+#:def_cmd_opt( "DUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUMP", "LE_DEFINE", \
"", \
"" )
@@ -21236,6 +22261,18 @@
"", \
"" )
+#:def_cmd_opt( "DB", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DB", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DB", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DB", "LE_DEFINE", \
"", \
"" )
@@ -21298,6 +22335,18 @@
"", \
"" )
+#:def_cmd_opt( "DL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DL", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DL", "LE_DEFINE", \
"", \
"" )
@@ -21360,6 +22409,18 @@
"", \
"" )
+#:def_cmd_opt( "DLL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DLL", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DLL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DLL", "LE_DEFINE", \
"", \
"" )
@@ -21422,6 +22483,18 @@
"", \
"" )
+#:def_cmd_opt( "DLLL", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DLLL", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DLLL", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DLLL", "LE_DEFINE", \
"", \
"" )
@@ -21492,6 +22565,18 @@
"", \
"Be more verbose and tell, what tests are planned." )
+#:def_cmd_opt( "PATCH", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PATCH", "LE_DEFINE", \
"", \
"" )
@@ -21584,11 +22669,19 @@
"", \
"" )
-#:def_cmd_opt( "PATCH", "IGNORE", \
+#:def_cmd_opt( "PATCH", "CREATE_DISTRIB", \
"", \
"" )
-#:def_cmd_opt( "PATCH", "CREATE_DISTRIB", \
+#:def_cmd_opt( "TIMESTAMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "TIMESTAMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "TIMESTAMP", "IGNORE", \
"", \
"" )
@@ -21624,7 +22717,15 @@
"", \
"" )
-#:def_cmd_opt( "TIMESTAMP", "IGNORE", \
+#:def_cmd_opt( "LPAR", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LPAR", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "LPAR", "IGNORE", \
"", \
"" )
@@ -21700,10 +22801,6 @@
"", \
"" )
-#:def_cmd_opt( "LPAR", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "LPAR", "NO_HEADER", \
"", \
"Suppress the syntax information section in LE text files." )
@@ -21928,7 +23025,11 @@
"", \
"" )
-#:def_cmd_opt( "CAT", "COMPLETE", \
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
"", \
"" )
@@ -21936,6 +23037,10 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "COMPLETE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "NO_HEADER", \
"", \
"Suppress the syntax information section in LE text files." )
@@ -21952,6 +23057,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "COMPLETE", \
"", \
"" )
@@ -21988,10 +23105,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "NO_HEADER", \
"", \
"Suppress the syntax information section in LE text files." )
@@ -22008,6 +23121,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "COMPLETE", \
"", \
"" )
@@ -22048,10 +23173,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
##
###############################################################################
@@ -22096,10 +23217,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wmdlt TEST [options]... [ignored]...", \
@@ -22121,7 +23239,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wmdlt FILEATTRIB [keyword]...", \
@@ -22178,22 +23297,24 @@
#:def_cmd( "CAT", "CAT", \
"wmdlt CAT [source]...", \
"Read the entered MDL files (text or binary) and print them as decoded" \
- " text files to standard output (stdout). The output of all source" \
- " files is concatenated.\n" \
+ " text files to standard output (stdout). $Wildcards$ and pipe" \
+ " characters are parsed. The output of all source files is" \
+ " concatenated.\n" \
" A decoded MDL0 file can only be used for analysis. Encoding or" \
" creating a new MDL0 file is not supported." )
#:def_cmd( "DECODE", "DECODE|DEC", \
"wmdlt DECODE [source]...", \
"Read the entered MDL files (text or binary) and decode them to text" \
- " files. The default destination is @'%P/%N.txt'@.\n" \
+ " files. $Wildcards$ and pipe characters are parsed. The default" \
+ " destination is @'%P/%N.txt'@.\n" \
" A decoded MDL0 file can only be used for analysis. Encoding or" \
" creating a new MDL0 file is not supported." )
#:def_cmd( "STRINGS", "STRINGS", \
"wmdlt STRINGS [source]...", \
"Read the entered MDL files (text or binary) and print all strings of" \
- " all sections.\n" \
+ " all sections. $Wildcards$ and pipe characters are parsed.\n" \
" For archives like SZS or BREES, the strings of each containing MDL" \
" are printed. It is also possible to address an internal sub-file" \
" like @track.szs/course_model.brres@." )
@@ -22513,6 +23634,15 @@
"", \
"Suppress cross reference comments." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "NO_PARAM", "P|no-param|noparam", "C", \
"", \
"Disable parameter support in decoded KMP text files." )
@@ -22688,15 +23818,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -22809,6 +23947,14 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "IGNORE", \
"", \
"" )
@@ -22893,6 +24039,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "DEST", \
"", \
"" )
@@ -22925,10 +24083,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "NO_HEADER", \
"", \
"Suppress the syntax information section in MDL text files." )
@@ -23009,6 +24163,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "DEST", \
"", \
"" )
@@ -23049,10 +24215,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "ENCODE", "SCALE", \
"", \
"" )
@@ -23117,6 +24279,14 @@
"", \
"" )
+#:def_cmd_opt( "STRINGS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "STRINGS", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "STRINGS", "IGNORE", \
"", \
"" )
@@ -23201,6 +24371,14 @@
"", \
"" )
+#:def_cmd_opt( "GEOMETRY", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "GEOMETRY", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "GEOMETRY", "IGNORE", \
"", \
"" )
@@ -23285,6 +24463,14 @@
"", \
"" )
+#:def_cmd_opt( "XTEST", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "XTEST", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "XTEST", "IGNORE", \
"", \
"" )
@@ -23413,10 +24599,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wpatt TEST [options]... [ignored]...", \
@@ -23438,7 +24621,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wpatt FILEATTRIB [keyword]...", \
@@ -23479,18 +24663,21 @@
#:def_cmd( "CAT", "CAT", \
"wpatt CAT [source]...", \
"Read the entered PAT files (text or binary) and print them as decoded" \
- " text files to standard output (stdout). The output of all source" \
- " files is concatenated." )
+ " text files to standard output (stdout). $Wildcards$ and pipe" \
+ " characters are parsed. The output of all source files is" \
+ " concatenated." )
#:def_cmd( "DECODE", "DECODE|DEC", \
"wpatt DECODE [source]...", \
"Read the entered PAT files (text or binary) and decode them to text" \
- " files. The default destination is @'%P/%N.txt'@." )
+ " files. $Wildcards$ and pipe characters are parsed. The default" \
+ " destination is @'%P/%N.txt'@." )
#:def_cmd( "ENCODE", "ENCODE|ENC", \
"wpatt ENCODE [source]...", \
"Read the entered PAT files (text or binary) and encode (compile) them" \
- " to binary files. The default destination is @'%P/%N.pat'@." )
+ " to binary files. $Wildcards$ and pipe characters are parsed. The" \
+ " default destination is @'%P/%N.pat'@." )
#:def_opt( "VERSION", "V|version", "G", \
"", \
@@ -23648,6 +24835,15 @@
"", \
"Suppress cross reference comments." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "NO_PARAM", "P|no-param|noparam", "C", \
"", \
"Disable parameter support in decoded KMP text files." )
@@ -23825,15 +25021,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -23864,6 +25068,14 @@
"", \
"" )
+#:def_cmd_opt( "CAT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "CAT", "IN_ORDER", \
+ "", \
+ "" )
+
#:def_cmd_opt( "CAT", "IGNORE", \
"", \
"" )
@@ -23884,6 +25096,18 @@
"", \
"" )
+#:def_cmd_opt( "DECODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DECODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DECODE", "DEST", \
"", \
"" )
@@ -23920,10 +25144,6 @@
"", \
"" )
-#:def_cmd_opt( "DECODE", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "DECODE", "NO_HEADER", \
"", \
"Suppress the syntax information section in PAT text files." )
@@ -23940,6 +25160,18 @@
"", \
"" )
+#:def_cmd_opt( "ENCODE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ENCODE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ENCODE", "DEST", \
"", \
"" )
@@ -23984,10 +25216,6 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "IGNORE", \
- "", \
- "" )
-
##
###############################################################################
@@ -24033,10 +25261,7 @@
"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) for the following parameters. All tools know the EXPAND" \
- " command." )
+ " searched. All tools know the EXPAND command." )
#:def_cmd( "TEST", "TEST", \
"wstrt TEST [options]... [ignored]...", \
@@ -24058,7 +25283,8 @@
#: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. All tools know the FILETYPE command." )
+ " each file as list. $Wildcards$ and pipe characters are parsed. All" \
+ " tools know the FILETYPE command." )
#:def_cmd( "FILEATTRIB", "FILEATTRIB|FA", \
"wstrt FILEATTRIB [keyword]...", \
@@ -24071,13 +25297,14 @@
#:def_cmd( "DUMP", "DUMP", \
"wstrt DUMP file...", \
"Dump the structure of REL files (e.g. @StaticR.rel@) and of DOL files" \
- " (e.g. @main.dol@) as text." )
+ " (e.g. @main.dol@) as text. $Wildcards$ and pipe characters are" \
+ " parsed." )
#:def_cmd( "HEXDUMP", "HEXDUMP|XDUMP", \
"wstrt HEXDUMP file...", \
"Dump the content of DOL files as hex dump and use virtual addresses." \
- " Select parts by --vaddr, --faddr and --sname. Without selectors, the" \
- " whole file is dumped." )
+ " $Wildcards$ and pipe characters are parsed. Select parts by --vaddr," \
+ " --faddr and --sname. Without selectors, the whole file is dumped." )
#:def_cmd( "PORT", "PORT", \
"wstrt PORT param...", \
@@ -24103,7 +25330,8 @@
#:def_cmd( "EXTRACT", "EXTRACT|X", \
"wstrt EXTRACT dol...", \
- "Extract the sections of a DOL or a REL file into a directory." )
+ "Extract the sections of DOL and REL file into a directory." \
+ " $Wildcards$ and pipe characters are parsed." )
#:def_cmd( "TRACKS", "TRACKS", \
"wstrt TRACKS [file]...", \
@@ -24140,13 +25368,14 @@
#:def_cmd( "ANALYZE", "ANALYZE|ANA|ANALYSE", \
"wstrt ANALYZE [file]...", \
- "Open 'StaticR.rel' and DOL files and analyze them. The files will be" \
- " classified using SHA1 checksums." )
+ "Open 'StaticR.rel' and DOL files and analyze them. $Wildcards$ and" \
+ " pipe characters are parsed. The files will be classified using SHA1" \
+ " checksums." )
#:def_cmd( "PATCH", "PATCH", \
"wstrt PATCH [file]...", \
- "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii. No backup" \
- " is made." )
+ "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii." \
+ " $Wildcards$ and pipe characters are parsed. No backup is made." )
#:def_opt( "VERSION", "V|version", "G", \
"", \
@@ -24295,6 +25524,15 @@
"", \
"List only the track file names and suppress table header and footer." )
+#:def_opt( "NO_WILDCARDS", "no-wildcards|nowildcards", "C", \
+ "", \
+ "Disable wildcard parsing and use each filename exactly as specified." )
+
+#:def_opt( "IN_ORDER", "in-order|inorder", "C", \
+ "", \
+ "Process the input files in order of the command line and don't delete" \
+ " duplicates." )
+
#:def_opt( "NO_HEADER", "H|no-header|noheader", "C", \
"", \
"Suppress the syntax information section in BMG text files." )
@@ -24538,11 +25776,9 @@
" and VBI hooks are optionally initialized. Use option {--force} to" \
" allow overlapped sections. Use option {--verbose} up to 2 times for" \
" a log.\n" \
- " If parameter FILE contains at least one wildcard (e.g. '*.gct')," \
+ " If parameter FILE contains at least one wildcard (e.g. \"*.GCT\")," \
" then FILE is used as search pattern and all found files are added." \
- " In order to use this variant, the calling shell must not interpret" \
- " the wildcards. Therefore, the parameter must usually be enclosed in" \
- " single or double quotes.\n" \
+ " Quote FILE for this purpose. \n" \
" If a single file is not found and the filename (not path) contains" \
" at least 1 '@@' character, then all '@@' characters of it are" \
" replaced by the region code (one of P,E,J,K) for a second try.\n" \
@@ -24818,15 +26054,23 @@
"", \
"Print message number instead of message name." )
-#:def_cmd_opt( "FILETYPE", "LONG", \
+#:def_cmd_opt( "FILETYPE", "NO_WILDCARDS", \
"", \
- "Print an additional column with the decompressed file type and" \
- " version. If entered twice, a validation status column is added." )
+ "" )
+
+#:def_cmd_opt( "FILETYPE", "IN_ORDER", \
+ "", \
+ "" )
#:def_cmd_opt( "FILETYPE", "IGNORE", \
"", \
"" )
+#:def_cmd_opt( "FILETYPE", "LONG", \
+ "", \
+ "Print an additional column with the decompressed file type and" \
+ " version. If entered twice, a validation status column is added." )
+
#:def_cmd_opt( "FILEATTRIB", "NO_HEADER", \
"", \
"" )
@@ -24839,11 +26083,35 @@
"", \
"" )
+#:def_cmd_opt( "DUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "DUMP", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "DUMP", "LONG", \
"", \
"For DOL files: If set, a second table with the image map is printed." \
" If set twice, a third table with delta values is printed too." )
+#:def_cmd_opt( "HEXDUMP", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "HEXDUMP", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "HEXDUMP", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "HEXDUMP", "VADDR", \
"", \
"" )
@@ -25034,6 +26302,18 @@
"", \
"Print file offsets too." )
+#:def_cmd_opt( "HTTPS", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "HTTPS", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "HTTPS", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "HTTPS", "LONG", \
"", \
" Print output a C source" )
@@ -25042,6 +26322,18 @@
"", \
" Print hex dump if an entry differs." )
+#:def_cmd_opt( "EXTRACT", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "EXTRACT", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "EXTRACT", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "EXTRACT", "DEST", \
"", \
"" )
@@ -25350,6 +26642,18 @@
"Append a string in {--points} format that defines the table. If set" \
" twice, append up to 3 strings in different modes." )
+#:def_cmd_opt( "ANALYZE", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ANALYZE", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "ANALYZE", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ANALYZE", "CLEAN_DOL", \
"", \
"" )
@@ -25419,6 +26723,18 @@
"Print different lists if bugs found. If set twice, print the lists" \
" always." )
+#:def_cmd_opt( "PATCH", "NO_WILDCARDS", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IN_ORDER", \
+ "", \
+ "" )
+
+#:def_cmd_opt( "PATCH", "IGNORE", \
+ "", \
+ "" )
+
#:def_cmd_opt( "PATCH", "DEST", \
"", \
"" )
@@ -25451,10 +26767,6 @@
"", \
"" )
-#:def_cmd_opt( "PATCH", "IGNORE", \
- "", \
- "" )
-
#:def_cmd_opt( "PATCH", "CLEAN_DOL", \
"", \
"" )