aboutsummaryrefslogtreecommitdiff
path: root/project/src/ui/ui-wlect.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--project/src/ui/ui-wlect.c214
1 files changed, 134 insertions, 80 deletions
diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c
index e590351..e74581c 100644
--- a/project/src/ui/ui-wlect.c
+++ b/project/src/ui/ui-wlect.c
@@ -150,9 +150,9 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_PERFMON, true, false, false, false, false, 0, "perf-mon",
"[=mode]",
"Enable or disable the performance monitor. Mode is one of OFF, AUTO"
- " (default, don't change setting), ON (enable it for Wii only;"
- " default, if option is used without parameter) or FORCE (enable it"
- " for Wii and for Dolphin)."
+ " (default, don't change setting), ON (enable it for Wii and Wii U"
+ " only; default, if option is used without parameter) or FORCE (enable"
+ " it for Wii, Wii U and for Dolphin)."
},
{ OPT_CUSTOM_TT, true, false, false, false, false, 0, "custom-tt",
@@ -168,6 +168,32 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" parameter). Disable it only for tests!"
},
+ { OPT_SPEEDOMETER, true, false, false, false, false, 0, "speedometer",
+ "[=mode]",
+ "Enable or disable the speedometer. Mode is one of OFF, AUTO (default,"
+ " don't change setting), ON (enable it for Wii and WiiU only; default,"
+ " if option is used without parameter) or FORCE (enable it for Wii,"
+ " Wii U and for Dolphin)."
+ },
+
+ { OPT_RESERVED_1B9, false, true, false, false, false, 0, "reserved-1b9",
+ "[=mode]",
+ "Set LPAR byte at offset 0x1b9 to this value. Value -1 disables this"
+ " option."
+ },
+
+ { OPT_RESERVED_1BA, false, true, false, false, false, 0, "reserved-1ba",
+ "[=mode]",
+ "Set LPAR byte at offset 0x1ba to this value. Value -1 disables this"
+ " option."
+ },
+
+ { OPT_RESERVED_1BB, false, true, false, false, false, 0, "reserved-1bb",
+ "[=mode]",
+ "Set LPAR byte at offset 0x1bb to this value. Value -1 disables this"
+ " option."
+ },
+
{ OPT_TRACK_DIR, false, false, false, false, true, 0, "track-dir",
"directory",
"Define a destination directory, where track files are copied, moved"
@@ -337,7 +363,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 == 45
//----- global options -----
@@ -559,7 +585,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 == 72
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 76
};
@@ -784,6 +810,13 @@ static const struct option OptionLong[] =
{ "custom-tt", 2, 0, GO_CUSTOM_TT },
{ "customtt", 2, 0, GO_CUSTOM_TT },
{ "xpflags", 2, 0, GO_XPFLAGS },
+ { "speedometer", 2, 0, GO_SPEEDOMETER },
+ { "reserved-1b9", 1, 0, GO_RESERVED_1B9 },
+ { "reserved1b9", 1, 0, GO_RESERVED_1B9 },
+ { "reserved-1ba", 1, 0, GO_RESERVED_1BA },
+ { "reserved1ba", 1, 0, GO_RESERVED_1BA },
+ { "reserved-1bb", 1, 0, GO_RESERVED_1BB },
+ { "reserved1bb", 1, 0, GO_RESERVED_1BB },
{ "track-dir", 1, 0, GO_TRACK_DIR },
{ "trackdir", 1, 0, GO_TRACK_DIR },
{ "copy-tracks", 1, 0, GO_COPY_TRACKS },
@@ -912,20 +945,24 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x0a1 */ OPT_PERFMON,
/* 0x0a2 */ OPT_CUSTOM_TT,
/* 0x0a3 */ OPT_XPFLAGS,
- /* 0x0a4 */ OPT_TRACK_DIR,
- /* 0x0a5 */ OPT_COPY_TRACKS,
- /* 0x0a6 */ OPT_MOVE_TRACKS,
- /* 0x0a7 */ OPT_MOVE1_TRACKS,
- /* 0x0a8 */ OPT_LINK_TRACKS,
- /* 0x0a9 */ OPT_LOAD_BMG,
- /* 0x0aa */ OPT_PATCH_BMG,
- /* 0x0ab */ OPT_MACRO_BMG,
- /* 0x0ac */ OPT_PATCH_NAMES,
- /* 0x0ad */ OPT_ORDER_BY,
- /* 0x0ae */ OPT_ORDER_ALL,
- /* 0x0af */ OPT_NUMBER,
- /* 0x0b0 */ OPT_SECTIONS,
- /* 0x0b1 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,
+ /* 0x0a4 */ OPT_SPEEDOMETER,
+ /* 0x0a5 */ OPT_RESERVED_1B9,
+ /* 0x0a6 */ OPT_RESERVED_1BA,
+ /* 0x0a7 */ OPT_RESERVED_1BB,
+ /* 0x0a8 */ OPT_TRACK_DIR,
+ /* 0x0a9 */ OPT_COPY_TRACKS,
+ /* 0x0aa */ OPT_MOVE_TRACKS,
+ /* 0x0ab */ OPT_MOVE1_TRACKS,
+ /* 0x0ac */ OPT_LINK_TRACKS,
+ /* 0x0ad */ OPT_LOAD_BMG,
+ /* 0x0ae */ OPT_PATCH_BMG,
+ /* 0x0af */ OPT_MACRO_BMG,
+ /* 0x0b0 */ OPT_PATCH_NAMES,
+ /* 0x0b1 */ OPT_ORDER_BY,
+ /* 0x0b2 */ OPT_ORDER_ALL,
+ /* 0x0b3 */ OPT_NUMBER,
+ /* 0x0b4 */ OPT_SECTIONS,
+ /* 0x0b5 */ 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,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -940,142 +977,142 @@ 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[45] = // 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, 1
+ 0,0,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[45] = // 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
};
-static u8 option_allowed_cmd_ARGTEST[41] = // cmd #3
+static u8 option_allowed_cmd_ARGTEST[45] = // cmd #3
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,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 #4
+static u8 option_allowed_cmd_TEST[45] = // 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
};
-static u8 option_allowed_cmd_COLORS[41] = // cmd #5
+static u8 option_allowed_cmd_COLORS[45] = // cmd #5
{
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
};
-static u8 option_allowed_cmd_ERROR[41] = // cmd #6
+static u8 option_allowed_cmd_ERROR[45] = // cmd #6
{
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, 1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[41] = // cmd #7
+static u8 option_allowed_cmd_FILETYPE[45] = // cmd #7
{
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, 0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0
};
-static u8 option_allowed_cmd_FILEATTRIB[41] = // cmd #8
+static u8 option_allowed_cmd_FILEATTRIB[45] = // cmd #8
{
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
};
-static u8 option_allowed_cmd_SYMBOLS[41] = // cmd #9
+static u8 option_allowed_cmd_SYMBOLS[45] = // cmd #9
{
0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[41] = // cmd #10
+static u8 option_allowed_cmd_FUNCTIONS[45] = // cmd #10
{
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
};
-static u8 option_allowed_cmd_CALCULATE[41] = // cmd #11
+static u8 option_allowed_cmd_CALCULATE[45] = // 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,0,0
};
-static u8 option_allowed_cmd_FLOAT[41] = // cmd #12
+static u8 option_allowed_cmd_FLOAT[45] = // cmd #12
{
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_EXPORT[41] = // cmd #13
+static u8 option_allowed_cmd_EXPORT[45] = // 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
};
-static u8 option_allowed_cmd_DUMP[41] = // cmd #14
+static u8 option_allowed_cmd_DUMP[45] = // cmd #14
{
- 0,0,1,0,0, 0,0,0,0,0, 0,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,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_DL[41] = // cmd #15
+static u8 option_allowed_cmd_DL[45] = // cmd #15
{
- 0,0,1,0,0, 0,0,0,0,0, 0,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,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_DLL[41] = // cmd #16
+static u8 option_allowed_cmd_DLL[45] = // cmd #16
{
- 0,0,1,0,0, 0,0,0,0,0, 0,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,1,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_BIN_DIFF[41] = // cmd #17
+static u8 option_allowed_cmd_BIN_DIFF[45] = // 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
};
-static u8 option_allowed_cmd_PATCH[41] = // cmd #18
+static u8 option_allowed_cmd_PATCH[45] = // cmd #18
{
- 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0,
- 0,1,1,1,1, 1,1,1,1,1, 0
+ 0,0,0,0,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, 1,1,1,1,1, 1,1,1,1,0
};
-static u8 option_allowed_cmd_LPAR[41] = // cmd #19
+static u8 option_allowed_cmd_LPAR[45] = // cmd #19
{
- 0,0,0,1,1, 1,0,0,0,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,1,1,1,1, 1,1,1,1,1, 0
+ 0,0,0,1,1, 1,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, 1,1,1,1,1, 1,1,1,1,0
};
-static u8 option_allowed_cmd_CREATE[41] = // cmd #20
+static u8 option_allowed_cmd_CREATE[45] = // cmd #20
{
- 0,0,0,1,1, 1,0,1,1,1, 1,0,1,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,1,1, 1,0,1,1,1, 1,0,1,0,1, 1,1,1,1,1, 1,1,1,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,0
};
-static u8 option_allowed_cmd_CAT[41] = // cmd #21
+static u8 option_allowed_cmd_CAT[45] = // cmd #21
{
- 0,0,0,1,1, 1,0,1,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,1, 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0
};
-static u8 option_allowed_cmd_DECODE[41] = // cmd #22
+static u8 option_allowed_cmd_DECODE[45] = // cmd #22
{
- 0,0,0,1,1, 1,0,1,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,1,1, 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,0
};
-static u8 option_allowed_cmd_ENCODE[41] = // cmd #23
+static u8 option_allowed_cmd_ENCODE[45] = // cmd #23
{
- 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,0,0,0,0,
- 0,1,1,1,1, 1,1,1,1,1, 0
+ 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
+ 0,0,0,0,0, 1,1,1,1,1, 1,1,1,1,0
};
@@ -1230,6 +1267,7 @@ static const InfoOption_t * option_tab_cmd_DUMP[] =
OptionInfo + OPT_PERFMON,
OptionInfo + OPT_CUSTOM_TT,
OptionInfo + OPT_XPFLAGS,
+ OptionInfo + OPT_SPEEDOMETER,
OptionInfo + OPT_NONE, // separator
@@ -1249,6 +1287,7 @@ static const InfoOption_t * option_tab_cmd_DL[] =
OptionInfo + OPT_PERFMON,
OptionInfo + OPT_CUSTOM_TT,
OptionInfo + OPT_XPFLAGS,
+ OptionInfo + OPT_SPEEDOMETER,
OptionInfo + OPT_NONE, // separator
@@ -1268,6 +1307,7 @@ static const InfoOption_t * option_tab_cmd_DLL[] =
OptionInfo + OPT_PERFMON,
OptionInfo + OPT_CUSTOM_TT,
OptionInfo + OPT_XPFLAGS,
+ OptionInfo + OPT_SPEEDOMETER,
OptionInfo + OPT_NONE, // separator
@@ -1295,6 +1335,7 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_PERFMON,
OptionInfo + OPT_CUSTOM_TT,
OptionInfo + OPT_XPFLAGS,
+ OptionInfo + OPT_SPEEDOMETER,
OptionInfo + OPT_TRACK_DIR,
OptionInfo + OPT_COPY_TRACKS,
OptionInfo + OPT_MOVE_TRACKS,
@@ -1329,6 +1370,7 @@ static const InfoOption_t * option_tab_cmd_LPAR[] =
OptionInfo + OPT_PERFMON,
OptionInfo + OPT_CUSTOM_TT,
OptionInfo + OPT_XPFLAGS,
+ OptionInfo + OPT_SPEEDOMETER,
OptionInfo + OPT_NONE, // separator
@@ -1370,6 +1412,9 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_UPDATE,
OptionInfo + OPT_PRESERVE,
OptionInfo + OPT_LPAR,
+
+ OptionInfo + OPT_NONE, // separator
+
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -1379,6 +1424,15 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_LT_RANDOM,
OptionInfo + OPT_LEX_PURGE,
+ OptionInfo + OPT_NONE, // separator
+
+ OptionInfo + OPT_ENGINE,
+ OptionInfo + OPT_200CC,
+ OptionInfo + OPT_PERFMON,
+ OptionInfo + OPT_CUSTOM_TT,
+ OptionInfo + OPT_XPFLAGS,
+ OptionInfo + OPT_SPEEDOMETER,
+
0
};
@@ -1682,7 +1736,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Print an information dump for each source file. LE-CODE binaries and"
" LEX binaries are accepted as input.",
0,
- 10,
+ 11,
option_tab_cmd_DUMP,
option_allowed_cmd_DUMP
},
@@ -1696,7 +1750,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DL [source]...",
"Short cut for 'DUMP --long'.",
0,
- 10,
+ 11,
option_tab_cmd_DL,
option_allowed_cmd_DL
},
@@ -1710,7 +1764,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect DLL [source]...",
"Short cut for 'DUMP --long --long'.",
0,
- 10,
+ 11,
option_tab_cmd_DLL,
option_allowed_cmd_DLL
},
@@ -1747,7 +1801,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Read each LE-BIN file and patch it. Use --le-define to setup cups and"
" tracks.",
0,
- 22,
+ 23,
option_tab_cmd_PATCH,
option_allowed_cmd_PATCH
},
@@ -1763,7 +1817,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" parameters and store them as LPAR text file. Print the result to"
" standard output if no other destination is defined.",
0,
- 20,
+ 21,
option_tab_cmd_LPAR,
option_allowed_cmd_LPAR
},
@@ -1784,7 +1838,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" names) for a LEX text file with 1 section only. LPAR for an example"
" LE-CODE parameter file.",
0,
- 22,
+ 28,
option_tab_cmd_CREATE,
option_allowed_cmd_CREATE
},