aboutsummaryrefslogtreecommitdiff
path: root/project/src/ui/ui-wstrt.c
diff options
context:
space:
mode:
Diffstat (limited to 'project/src/ui/ui-wstrt.c')
-rw-r--r--project/src/ui/ui-wstrt.c193
1 files changed, 103 insertions, 90 deletions
diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c
index 1f4f80b..3796b3b 100644
--- a/project/src/ui/ui-wstrt.c
+++ b/project/src/ui/ui-wstrt.c
@@ -16,7 +16,7 @@
* This file is part of the SZS project. *
* Visit https://szs.wiimm.de/ for project details and sources. *
* *
- * Copyright (c) 2011-2020 by Dirk Clemens <wiimm@wiimm.de> *
+ * Copyright (c) 2011-2021 by Dirk Clemens <wiimm@wiimm.de> *
* *
***************************************************************************
* *
@@ -508,6 +508,13 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" messages and disable the automatic detection of the terminal width."
},
+ { OPT_MAX_WIDTH, false, false, false, true, false, 0, "max-width",
+ "maxwidth",
+ "Define the maximum terminal width (number of columns) for help and"
+ " some other messages and disable the automatic detection of the"
+ " terminal width. This option is ignored if --width is set."
+ },
+
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
"Be quiet and print only error messages. Multiple usage is possible."
@@ -833,7 +840,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" directory."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 111
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 112
};
@@ -1001,6 +1008,8 @@ static const struct option OptionLong[] =
{ "allowall", 0, 0, GO_ALLOW_ALL },
{ "compatible", 1, 0, GO_COMPATIBLE },
{ "width", 1, 0, GO_WIDTH },
+ { "max-width", 1, 0, GO_MAX_WIDTH },
+ { "maxwidth", 1, 0, GO_MAX_WIDTH },
{ "quiet", 0, 0, 'q' },
{ "verbose", 0, 0, 'v' },
{ "logging", 0, 0, 'L' },
@@ -1206,96 +1215,98 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x081 */ OPT_ALLOW_ALL,
/* 0x082 */ OPT_COMPATIBLE,
/* 0x083 */ OPT_WIDTH,
- /* 0x084 */ OPT_DE,
- /* 0x085 */ OPT_COLORS,
- /* 0x086 */ OPT_NO_COLORS,
- /* 0x087 */ OPT_CT_CODE,
- /* 0x088 */ OPT_LE_CODE,
- /* 0x089 */ OPT_CHDIR,
- /* 0x08a */ OPT_VS_REGION,
- /* 0x08b */ OPT_BT_REGION,
- /* 0x08c */ OPT_ALL_RANKS,
- /* 0x08d */ OPT_POINTS,
- /* 0x08e */ OPT_CHEAT,
- /* 0x08f */ OPT_HTTPS,
- /* 0x090 */ OPT_DOMAIN,
- /* 0x091 */ OPT_WIIMMFI,
- /* 0x092 */ OPT_TWIIMMFI,
- /* 0x093 */ OPT_WC24,
- /* 0x094 */ OPT_WCODE,
- /* 0x095 */ OPT_ADD_WCODE,
- /* 0x096 */ OPT_PB_MODE,
- /* 0x097 */ OPT_PATCHED_BY,
- /* 0x098 */ OPT_VS,
- /* 0x099 */ OPT_VS2,
- /* 0x09a */ OPT_BT,
- /* 0x09b */ OPT_BT2,
- /* 0x09c */ OPT_CANNON,
- /* 0x09d */ OPT_MENO,
- /* 0x09e */ OPT_UTF_8,
- /* 0x09f */ OPT_NO_UTF_8,
- /* 0x0a0 */ OPT_FORCE,
- /* 0x0a1 */ OPT_REPAIR_MAGICS,
- /* 0x0a2 */ OPT_OLD,
- /* 0x0a3 */ OPT_STD,
- /* 0x0a4 */ OPT_NEW,
- /* 0x0a5 */ OPT_EXTRACT,
- /* 0x0a6 */ OPT_NUMBER,
- /* 0x0a7 */ OPT_CLEAN_DOL,
- /* 0x0a8 */ OPT_ADD_LECODE,
- /* 0x0a9 */ OPT_ADD_CTCODE,
- /* 0x0aa */ OPT_CT_DIR,
- /* 0x0ab */ OPT_MOVE_D8,
- /* 0x0ac */ OPT_ADD_SECTION,
- /* 0x0ad */ OPT_FULL_GCH,
- /* 0x0ae */ OPT_GCT_NO_SEP,
- /* 0x0af */ OPT_GCT_SEP,
- /* 0x0b0 */ OPT_GCT_ASM_SEP,
- /* 0x0b1 */ OPT_GCT_LIST,
- /* 0x0b2 */ OPT_GCT_MOVE,
- /* 0x0b3 */ OPT_GCT_ADDR,
- /* 0x0b4 */ OPT_GCT_SPACE,
- /* 0x0b5 */ OPT_ALLOW_USER_GCH,
- /* 0x0b6 */ OPT_CREATE_SECT,
- /* 0x0b7 */ OPT_WPF,
- /* 0x0b8 */ OPT_SECTIONS,
- /* 0x0b9 */ OPT_VADDR,
- /* 0x0ba */ OPT_FADDR,
- /* 0x0bb */ OPT_SNAME,
- /* 0x0bc */ OPT_INT1,
- /* 0x0bd */ OPT_INT2,
- /* 0x0be */ OPT_INT3,
- /* 0x0bf */ OPT_INT4,
- /* 0x0c0 */ OPT_INT5,
- /* 0x0c1 */ OPT_INT6,
- /* 0x0c2 */ OPT_INT7,
- /* 0x0c3 */ OPT_INT8,
- /* 0x0c4 */ OPT_FLOAT,
- /* 0x0c5 */ OPT_DOUBLE,
- /* 0x0c6 */ OPT_LE,
- /* 0x0c7 */ OPT_BE,
- /* 0x0c8 */ OPT_ZEROS,
- /* 0x0c9 */ OPT_HEX,
- /* 0x0ca */ OPT_DEC,
- /* 0x0cb */ OPT_C_SYNTAX,
- /* 0x0cc */ OPT_ADDR,
- /* 0x0cd */ OPT_ALIGN,
- /* 0x0ce */ OPT_TRIGGER,
- /* 0x0cf */ OPT_NO_ADDR,
- /* 0x0d0 */ OPT_NO_NUMBERS,
- /* 0x0d1 */ OPT_NO_TEXT,
- /* 0x0d2 */ OPT_FORMAT,
- /* 0x0d3 */ OPT_NO_NULL,
- /* 0x0d4 */ OPT_NARROW,
- /* 0x0d5 */ OPT_SMALL,
- /* 0x0d6 */ OPT_WIDE,
- /* 0x0d7 */ OPT_BYTES,
- /* 0x0d8 */ 0,0,0,0, 0,0,0,0,
+ /* 0x084 */ OPT_MAX_WIDTH,
+ /* 0x085 */ OPT_DE,
+ /* 0x086 */ OPT_COLORS,
+ /* 0x087 */ OPT_NO_COLORS,
+ /* 0x088 */ OPT_CT_CODE,
+ /* 0x089 */ OPT_LE_CODE,
+ /* 0x08a */ OPT_CHDIR,
+ /* 0x08b */ OPT_VS_REGION,
+ /* 0x08c */ OPT_BT_REGION,
+ /* 0x08d */ OPT_ALL_RANKS,
+ /* 0x08e */ OPT_POINTS,
+ /* 0x08f */ OPT_CHEAT,
+ /* 0x090 */ OPT_HTTPS,
+ /* 0x091 */ OPT_DOMAIN,
+ /* 0x092 */ OPT_WIIMMFI,
+ /* 0x093 */ OPT_TWIIMMFI,
+ /* 0x094 */ OPT_WC24,
+ /* 0x095 */ OPT_WCODE,
+ /* 0x096 */ OPT_ADD_WCODE,
+ /* 0x097 */ OPT_PB_MODE,
+ /* 0x098 */ OPT_PATCHED_BY,
+ /* 0x099 */ OPT_VS,
+ /* 0x09a */ OPT_VS2,
+ /* 0x09b */ OPT_BT,
+ /* 0x09c */ OPT_BT2,
+ /* 0x09d */ OPT_CANNON,
+ /* 0x09e */ OPT_MENO,
+ /* 0x09f */ OPT_UTF_8,
+ /* 0x0a0 */ OPT_NO_UTF_8,
+ /* 0x0a1 */ OPT_FORCE,
+ /* 0x0a2 */ OPT_REPAIR_MAGICS,
+ /* 0x0a3 */ OPT_OLD,
+ /* 0x0a4 */ OPT_STD,
+ /* 0x0a5 */ OPT_NEW,
+ /* 0x0a6 */ OPT_EXTRACT,
+ /* 0x0a7 */ OPT_NUMBER,
+ /* 0x0a8 */ OPT_CLEAN_DOL,
+ /* 0x0a9 */ OPT_ADD_LECODE,
+ /* 0x0aa */ OPT_ADD_CTCODE,
+ /* 0x0ab */ OPT_CT_DIR,
+ /* 0x0ac */ OPT_MOVE_D8,
+ /* 0x0ad */ OPT_ADD_SECTION,
+ /* 0x0ae */ OPT_FULL_GCH,
+ /* 0x0af */ OPT_GCT_NO_SEP,
+ /* 0x0b0 */ OPT_GCT_SEP,
+ /* 0x0b1 */ OPT_GCT_ASM_SEP,
+ /* 0x0b2 */ OPT_GCT_LIST,
+ /* 0x0b3 */ OPT_GCT_MOVE,
+ /* 0x0b4 */ OPT_GCT_ADDR,
+ /* 0x0b5 */ OPT_GCT_SPACE,
+ /* 0x0b6 */ OPT_ALLOW_USER_GCH,
+ /* 0x0b7 */ OPT_CREATE_SECT,
+ /* 0x0b8 */ OPT_WPF,
+ /* 0x0b9 */ OPT_SECTIONS,
+ /* 0x0ba */ OPT_VADDR,
+ /* 0x0bb */ OPT_FADDR,
+ /* 0x0bc */ OPT_SNAME,
+ /* 0x0bd */ OPT_INT1,
+ /* 0x0be */ OPT_INT2,
+ /* 0x0bf */ OPT_INT3,
+ /* 0x0c0 */ OPT_INT4,
+ /* 0x0c1 */ OPT_INT5,
+ /* 0x0c2 */ OPT_INT6,
+ /* 0x0c3 */ OPT_INT7,
+ /* 0x0c4 */ OPT_INT8,
+ /* 0x0c5 */ OPT_FLOAT,
+ /* 0x0c6 */ OPT_DOUBLE,
+ /* 0x0c7 */ OPT_LE,
+ /* 0x0c8 */ OPT_BE,
+ /* 0x0c9 */ OPT_ZEROS,
+ /* 0x0ca */ OPT_HEX,
+ /* 0x0cb */ OPT_DEC,
+ /* 0x0cc */ OPT_C_SYNTAX,
+ /* 0x0cd */ OPT_ADDR,
+ /* 0x0ce */ OPT_ALIGN,
+ /* 0x0cf */ OPT_TRIGGER,
+ /* 0x0d0 */ OPT_NO_ADDR,
+ /* 0x0d1 */ OPT_NO_NUMBERS,
+ /* 0x0d2 */ OPT_NO_TEXT,
+ /* 0x0d3 */ OPT_FORMAT,
+ /* 0x0d4 */ OPT_NO_NULL,
+ /* 0x0d5 */ OPT_NARROW,
+ /* 0x0d6 */ OPT_SMALL,
+ /* 0x0d7 */ OPT_WIDE,
+ /* 0x0d8 */ OPT_BYTES,
+ /* 0x0d9 */ 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,
/* 0x100 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x110 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- /* 0x120 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x120 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
+ /* 0x130 */ 0,0,0,0, 0,0,
};
//
@@ -1464,6 +1475,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_ALLOW_ALL,
OptionInfo + OPT_COMPATIBLE,
OptionInfo + OPT_WIDTH,
+ OptionInfo + OPT_MAX_WIDTH,
OptionInfo + OPT_QUIET,
OptionInfo + OPT_VERBOSE,
OptionInfo + OPT_LOGGING,
@@ -1517,6 +1529,7 @@ static const InfoOption_t * option_tab_cmd_VERSION[] =
static const InfoOption_t * option_tab_cmd_HELP[] =
{
OptionInfo + OPT_WIDTH,
+ OptionInfo + OPT_MAX_WIDTH,
0
};
@@ -1837,7 +1850,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms StaticR Tool : Manipulate the 'main.dol' and 'StaticR.rel'"
" files of Mario Kart Wii.",
0,
- 37,
+ 38,
option_tab_tool,
0
},
@@ -1875,7 +1888,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" The third variant (with a valid command name) prints details about"
" the declared command. The fourth variant prints an overview about"
" all commands and all global options.",
- 1,
+ 2,
option_tab_cmd_HELP,
option_allowed_cmd_HELP
},