aboutsummaryrefslogtreecommitdiff
path: root/project/src/ui/ui-wstrt.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2023-07-22 22:40:04 +0200
committerWiimm <wiimm@wiimm.de>2023-07-22 22:40:04 +0200
commit7a4ee26983b941ce0a8f72bcc02bf5566e9a7886 (patch)
tree202755942a4d5b67bedcd9f3c21eb2ababf8dd79 /project/src/ui/ui-wstrt.c
parentb5b1fe7fc0cf460d6204c18ba7bb4c40f7597efa (diff)
SZS v2.36a
Diffstat (limited to '')
-rw-r--r--project/src/ui/ui-wstrt.c432
1 files changed, 243 insertions, 189 deletions
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
},