diff options
Diffstat (limited to '')
| -rw-r--r-- | project/src/ui/ui-wctct.c | 218 |
1 files changed, 141 insertions, 77 deletions
diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c index 1344aa3..2d15c1f 100644 --- a/project/src/ui/ui-wctct.c +++ b/project/src/ui/ui-wctct.c @@ -453,6 +453,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " --width is set." }, + { OPT_NO_PAGER, false, false, false, true, false, 0, "no-pager", + 0, + "Forbid the internal usage of a pager." + }, + { OPT_QUIET, false, false, false, false, false, 'q', "quiet", 0, "Be quiet and print only error messages. Multiple usage is possible." @@ -468,7 +473,14 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = { OPT_LOGGING, false, false, false, false, false, 'L', "logging", 0, - "This debug option enables the logging of internal lists and maps." + "This debug option enables the logging of internal lists and maps. Set" + " it up to three times to be more verbose.\n" + }, + + { OPT_TIMING, false, false, false, false, false, 0, "timing", + 0, + "Activate the timing of some operations. Logging level 3 activates" + " them too.\n" }, { OPT_WARN, false, false, false, false, false, 'W', "warn", @@ -616,6 +628,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = ">>> THE RESULT MAY BE INVALID OUTPUT FILES! <<<" }, + { OPT_CREATE_DISTRIB, false, false, false, false, false, 0, "create-distrib", + "file", + "Create a LE-CODE distribution dump with a track list and more info" + " about the current distribution. Store the dump info a file." + }, + { OPT_OLD, false, true, false, false, false, 0, "OLD", 0, "Developer option: Cancel --NEW and use old implementation if" @@ -672,7 +690,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " 0x3b:0x41 and 0x44:0xfe." }, - {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 83 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 86 }; @@ -834,6 +852,7 @@ static const KeywordTab_t CommandTab[] = { CMD_HELP, "?", 0, 0 }, { CMD_CONFIG, "CONFIG", 0, 0 }, { CMD_ARGTEST, "ARGTEST", 0, 0 }, + { CMD_EXPAND, "EXPAND", 0, 0 }, { CMD_TEST, "TEST", 0, 0 }, { CMD_COLORS, "COLORS", 0, 0 }, { CMD_ERROR, "ERROR", "ERR", 0 }, @@ -875,9 +894,12 @@ static const struct option OptionLong[] = { "width", 1, 0, GO_WIDTH }, { "max-width", 1, 0, GO_MAX_WIDTH }, { "maxwidth", 1, 0, GO_MAX_WIDTH }, + { "no-pager", 0, 0, GO_NO_PAGER }, + { "nopager", 0, 0, GO_NO_PAGER }, { "quiet", 0, 0, 'q' }, { "verbose", 0, 0, 'v' }, { "logging", 0, 0, 'L' }, + { "timing", 0, 0, GO_TIMING }, { "warn", 1, 0, 'W' }, { "de", 0, 0, GO_DE }, { "colors", 2, 0, GO_COLORS }, @@ -944,6 +966,8 @@ static const struct option OptionLong[] = { "force", 0, 0, GO_FORCE }, { "repair-magics", 2, 0, GO_REPAIR_MAGICS }, { "repairmagics", 2, 0, GO_REPAIR_MAGICS }, + { "create-distrib", 1, 0, GO_CREATE_DISTRIB }, + { "createdistrib", 1, 0, GO_CREATE_DISTRIB }, { "OLD", 0, 0, GO_OLD }, { "STD", 0, 0, GO_STD }, { "NEW", 0, 0, GO_NEW }, @@ -1058,57 +1082,60 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x083 */ OPT_COMPATIBLE, /* 0x084 */ OPT_WIDTH, /* 0x085 */ OPT_MAX_WIDTH, - /* 0x086 */ OPT_DE, - /* 0x087 */ OPT_COLORS, - /* 0x088 */ OPT_NO_COLORS, - /* 0x089 */ OPT_CT_CODE, - /* 0x08a */ OPT_LE_CODE, - /* 0x08b */ OPT_OLD_SPINY, - /* 0x08c */ OPT_CRS1, - /* 0x08d */ OPT_CHDIR, - /* 0x08e */ OPT_ROUND, - /* 0x08f */ OPT_RAW, - /* 0x090 */ OPT_BMG_ENDIAN, - /* 0x091 */ OPT_BMG_ENCODING, - /* 0x092 */ OPT_BMG_INF_SIZE, - /* 0x093 */ OPT_BMG_MID, - /* 0x094 */ OPT_FORCE_ATTRIB, - /* 0x095 */ OPT_DEF_ATTRIB, - /* 0x096 */ OPT_NO_ATTRIB, - /* 0x097 */ OPT_X_ESCAPES, - /* 0x098 */ OPT_OLD_ESCAPES, - /* 0x099 */ OPT_NO_BMG_COLORS, - /* 0x09a */ OPT_BMG_COLORS, - /* 0x09b */ OPT_NO_BMG_INLINE, - /* 0x09c */ OPT_NO_ECHO, - /* 0x09d */ OPT_UTF_8, - /* 0x09e */ OPT_NO_UTF_8, - /* 0x09f */ OPT_FORCE, - /* 0x0a0 */ OPT_REPAIR_MAGICS, - /* 0x0a1 */ OPT_OLD, - /* 0x0a2 */ OPT_STD, - /* 0x0a3 */ OPT_NEW, - /* 0x0a4 */ OPT_EXTRACT, - /* 0x0a5 */ OPT_LIST, - /* 0x0a6 */ OPT_REF, - /* 0x0a7 */ OPT_FULL, - /* 0x0a8 */ OPT_HEX, - /* 0x0a9 */ OPT_CT_DIR, - /* 0x0aa */ OPT_CT_LOG, - /* 0x0ab */ OPT_ALLOW_SLOTS, - /* 0x0ac */ OPT_IMAGES, - /* 0x0ad */ OPT_LOAD_BMG, - /* 0x0ae */ OPT_PATCH_BMG, - /* 0x0af */ OPT_MACRO_BMG, - /* 0x0b0 */ OPT_FILTER_BMG, - /* 0x0b1 */ OPT_PATCH_NAMES, - /* 0x0b2 */ OPT_ORDER_BY, - /* 0x0b3 */ OPT_ORDER_ALL, - /* 0x0b4 */ OPT_DYNAMIC, - /* 0x0b5 */ OPT_WRITE_TRACKS, - /* 0x0b6 */ OPT_NUMBER, - /* 0x0b7 */ OPT_SECTIONS, - /* 0x0b8 */ 0,0,0,0, 0,0,0,0, + /* 0x086 */ OPT_NO_PAGER, + /* 0x087 */ OPT_TIMING, + /* 0x088 */ OPT_DE, + /* 0x089 */ OPT_COLORS, + /* 0x08a */ OPT_NO_COLORS, + /* 0x08b */ OPT_CT_CODE, + /* 0x08c */ OPT_LE_CODE, + /* 0x08d */ OPT_OLD_SPINY, + /* 0x08e */ OPT_CRS1, + /* 0x08f */ OPT_CHDIR, + /* 0x090 */ OPT_ROUND, + /* 0x091 */ OPT_RAW, + /* 0x092 */ OPT_BMG_ENDIAN, + /* 0x093 */ OPT_BMG_ENCODING, + /* 0x094 */ OPT_BMG_INF_SIZE, + /* 0x095 */ OPT_BMG_MID, + /* 0x096 */ OPT_FORCE_ATTRIB, + /* 0x097 */ OPT_DEF_ATTRIB, + /* 0x098 */ OPT_NO_ATTRIB, + /* 0x099 */ OPT_X_ESCAPES, + /* 0x09a */ OPT_OLD_ESCAPES, + /* 0x09b */ OPT_NO_BMG_COLORS, + /* 0x09c */ OPT_BMG_COLORS, + /* 0x09d */ OPT_NO_BMG_INLINE, + /* 0x09e */ OPT_NO_ECHO, + /* 0x09f */ OPT_UTF_8, + /* 0x0a0 */ OPT_NO_UTF_8, + /* 0x0a1 */ OPT_FORCE, + /* 0x0a2 */ OPT_REPAIR_MAGICS, + /* 0x0a3 */ OPT_CREATE_DISTRIB, + /* 0x0a4 */ OPT_OLD, + /* 0x0a5 */ OPT_STD, + /* 0x0a6 */ OPT_NEW, + /* 0x0a7 */ OPT_EXTRACT, + /* 0x0a8 */ OPT_LIST, + /* 0x0a9 */ OPT_REF, + /* 0x0aa */ OPT_FULL, + /* 0x0ab */ OPT_HEX, + /* 0x0ac */ OPT_CT_DIR, + /* 0x0ad */ OPT_CT_LOG, + /* 0x0ae */ OPT_ALLOW_SLOTS, + /* 0x0af */ OPT_IMAGES, + /* 0x0b0 */ OPT_LOAD_BMG, + /* 0x0b1 */ OPT_PATCH_BMG, + /* 0x0b2 */ OPT_MACRO_BMG, + /* 0x0b3 */ OPT_FILTER_BMG, + /* 0x0b4 */ OPT_PATCH_NAMES, + /* 0x0b5 */ OPT_ORDER_BY, + /* 0x0b6 */ OPT_ORDER_ALL, + /* 0x0b7 */ OPT_DYNAMIC, + /* 0x0b8 */ OPT_WRITE_TRACKS, + /* 0x0b9 */ OPT_NUMBER, + /* 0x0ba */ OPT_SECTIONS, + /* 0x0bb */ 0,0,0,0, 0, /* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, /* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, @@ -1148,109 +1175,115 @@ static u8 option_allowed_cmd_ARGTEST[47] = // cmd #4 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1 }; -static u8 option_allowed_cmd_TEST[47] = // cmd #5 +static u8 option_allowed_cmd_EXPAND[47] = // cmd #5 +{ + 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, + 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1 +}; + +static u8 option_allowed_cmd_TEST[47] = // cmd #6 { 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1 }; -static u8 option_allowed_cmd_COLORS[47] = // cmd #6 +static u8 option_allowed_cmd_COLORS[47] = // cmd #7 { 0,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_ERROR[47] = // cmd #7 +static u8 option_allowed_cmd_ERROR[47] = // cmd #8 { 0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1 }; -static u8 option_allowed_cmd_FILETYPE[47] = // cmd #8 +static u8 option_allowed_cmd_FILETYPE[47] = // cmd #9 { 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0 }; -static u8 option_allowed_cmd_FILEATTRIB[47] = // cmd #9 +static u8 option_allowed_cmd_FILEATTRIB[47] = // cmd #10 { 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_SYMBOLS[47] = // cmd #10 +static u8 option_allowed_cmd_SYMBOLS[47] = // cmd #11 { 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_FUNCTIONS[47] = // cmd #11 +static u8 option_allowed_cmd_FUNCTIONS[47] = // cmd #12 { 0,0,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_CALCULATE[47] = // cmd #12 +static u8 option_allowed_cmd_CALCULATE[47] = // cmd #13 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_FLOAT[47] = // cmd #13 +static u8 option_allowed_cmd_FLOAT[47] = // cmd #14 { 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_EXPORT[47] = // cmd #14 +static u8 option_allowed_cmd_EXPORT[47] = // cmd #15 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_RAWDUMP[47] = // cmd #15 +static u8 option_allowed_cmd_RAWDUMP[47] = // cmd #16 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_DUMP[47] = // cmd #16 +static u8 option_allowed_cmd_DUMP[47] = // cmd #17 { 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_CAT[47] = // cmd #17 +static u8 option_allowed_cmd_CAT[47] = // cmd #18 { 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,1,1, 1,1,0,1,1, 1,1,1,1,1, 0,1,0,0,0, 0,0,0,0,0, 1,0 }; -static u8 option_allowed_cmd_BMG[47] = // cmd #18 +static u8 option_allowed_cmd_BMG[47] = // cmd #19 { 0,0,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,1,1, 1,1,0,1,1, 1,1,1,1,1, 0,1,0,0,0, 0,0,0,0,0, 1,0 }; -static u8 option_allowed_cmd_TRACKS[47] = // cmd #19 +static u8 option_allowed_cmd_TRACKS[47] = // cmd #20 { 0,0,1,1,1, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,1,1, 1,1,0,1,1, 1,1,1,1,1, 0,1,0,0,0, 0,0,0,0,0, 1,0 }; -static u8 option_allowed_cmd_DECODE[47] = // cmd #20 +static u8 option_allowed_cmd_DECODE[47] = // cmd #21 { 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,1,1,1,1, 1,1,0,1,1, 1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,0 }; -static u8 option_allowed_cmd_CREATE[47] = // cmd #21 +static u8 option_allowed_cmd_CREATE[47] = // cmd #22 { 0,0,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,0 }; -static u8 option_allowed_cmd_PATCH[47] = // cmd #22 +static u8 option_allowed_cmd_PATCH[47] = // cmd #23 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,0 @@ -1272,9 +1305,11 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_COMPATIBLE, OptionInfo + OPT_WIDTH, OptionInfo + OPT_MAX_WIDTH, + OptionInfo + OPT_NO_PAGER, OptionInfo + OPT_QUIET, OptionInfo + OPT_VERBOSE, OptionInfo + OPT_LOGGING, + OptionInfo + OPT_TIMING, OptionInfo + OPT_WARN, OptionInfo + OPT_DE, OptionInfo + OPT_COLORS, @@ -1292,6 +1327,7 @@ static const InfoOption_t * option_tab_tool[] = OptionInfo + OPT_TEST, OptionInfo + OPT_FORCE, OptionInfo + OPT_REPAIR_MAGICS, + OptionInfo + OPT_CREATE_DISTRIB, OptionInfo + OPT_NONE, // separator @@ -1334,6 +1370,12 @@ static const InfoOption_t * option_tab_cmd_ARGTEST[] = 0 }; +static const InfoOption_t * option_tab_cmd_EXPAND[] = +{ + + 0 +}; + static const InfoOption_t * option_tab_cmd_TEST[] = { @@ -1654,7 +1696,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Wiimms CT-CODE Tool : Manage the CT-CODE extension. BRRES, TEX0," " CT-CODE, CT-TEXT and LE-BIN files are accepted as input.", 0, - 28, + 31, option_tab_tool, 0 }, @@ -1720,13 +1762,32 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = 0, "wctct ARGTEST ...", "This debug command accepts all kinds of parameters and prints one" - " line for each parameter.", + " line for each parameter. All tools know the ARGTEST command.", 0, 0, option_tab_cmd_ARGTEST, option_allowed_cmd_ARGTEST }, + { CMD_EXPAND, + false, + false, + false, + "EXPAND", + 0, + "wctct EXPAND ...", + "This debug command accepts (like ARGTEST) all kinds of parameters and" + " prints one line for each parameter. After that, the parameter is" + " treated as a filename with wildcards and all matching files are" + " searched. The special parameters '+h' and '/h' enable or disable the" + " search for hidden directories and files (files beginning with a" + " point). All tools know the EXPAND command.", + 0, + 0, + option_tab_cmd_EXPAND, + option_allowed_cmd_EXPAND + }, + { CMD_TEST, false, false, @@ -1766,7 +1827,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "ERR", "wctct ERROR [error_code]", "Translate an exit code to a message name. If no exit code is entered," - " print a table with all error messages.", + " print a table with all error messages. All tools know the ERROR" + " command.", 0, 4, option_tab_cmd_ERROR, @@ -1781,7 +1843,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "FT", "wctct FILETYPE file...", "Scan the header of the entered files and print file type and path for" - " each file as list.", + " each file as list. All tools know the FILETYPE command.", 0, 2, option_tab_cmd_FILETYPE, @@ -1798,7 +1860,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "Print a table with attributes for all known file types. If at least" " one keyword is entered, only matching file types are printed. A" " keyword is either a file type (like 'BRRES' or 'BMG') or one of the" - " printed keywords (like 'ARCHIVE' or 'EXTRACT').", + " printed keywords (like 'ARCHIVE' or 'EXTRACT'). All tools know the" + " FILEATTRIB command.", 0, 1, option_tab_cmd_FILEATTRIB, @@ -1843,7 +1906,8 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = "CALCULATE", 0, "wctct CALCULATE expression...", - "Calculate each expression and print the result to standard output.", + "Calculate each expression and print the result to standard output." + " Many tools know the CALCULATE command.", 0, 1, option_tab_cmd_CALCULATE, |
