diff options
Diffstat (limited to 'project/src/ui')
| -rw-r--r-- | project/src/ui/tab-wbmgt.inc | 7 | ||||
| -rw-r--r-- | project/src/ui/tab-wctct.inc | 5 | ||||
| -rw-r--r-- | project/src/ui/tab-wlect.inc | 54 | ||||
| -rw-r--r-- | project/src/ui/tab-wszst.inc | 14 | ||||
| -rw-r--r-- | project/src/ui/ui-wbmgt.c | 167 | ||||
| -rw-r--r-- | project/src/ui/ui-wbmgt.h | 9 | ||||
| -rw-r--r-- | project/src/ui/ui-wctct.c | 202 | ||||
| -rw-r--r-- | project/src/ui/ui-wctct.h | 9 | ||||
| -rw-r--r-- | project/src/ui/ui-wlect.c | 214 | ||||
| -rw-r--r-- | project/src/ui/ui-wlect.h | 35 | ||||
| -rw-r--r-- | project/src/ui/ui-wszst.c | 655 | ||||
| -rw-r--r-- | project/src/ui/ui-wszst.h | 10 | ||||
| -rw-r--r-- | project/src/ui/ui.def | 131 |
13 files changed, 923 insertions, 589 deletions
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc index 86eb2ba..f16a615 100644 --- a/project/src/ui/tab-wbmgt.inc +++ b/project/src/ui/tab-wbmgt.inc @@ -337,6 +337,9 @@ { T_OPT_CMP, "FILTER_BMG", "filter-bmg|filterbmg|fb|msg", 0, 0 /* copy of wszst */ }, + { T_OPT_CP, "BMG_ENDIAN", "endian|bmg-endian|bmgendian", + 0, 0 /* copy of wszst */ }, + { T_OPT_CP, "BMG_ENCODING", "encoding|bmg-encoding|bmgencoding", 0, 0 /* copy of wszst */ }, @@ -406,6 +409,8 @@ { T_COPT, "NO_HEADER", 0,0,0 }, { T_COPT, "BRIEF", 0,0,0 }, + { T_SEP_OPT, 0,0,0,0 }, + { T_COPT, "BMG_ENDIAN", 0,0,0 }, { T_COPT, "BMG_ENCODING", 0,0,0 }, { T_COPT, "BMG_INF_SIZE", 0,0,0 }, { T_COPT, "BMG_MID", 0,0,0 }, @@ -578,6 +583,8 @@ { T_CMD_BEG, "ENCODE", 0,0,0 }, { T_COPY_GRP, "DEST", 0,0,0 }, + { T_SEP_OPT, 0,0,0,0 }, + { T_COPT, "BMG_ENDIAN", 0,0,0 }, { T_COPT, "BMG_ENCODING", 0,0,0 }, { T_COPT, "BMG_INF_SIZE", 0,0,0 }, { T_COPT, "BMG_MID", 0,0,0 }, diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc index 1a4c166..af35de7 100644 --- a/project/src/ui/tab-wctct.inc +++ b/project/src/ui/tab-wctct.inc @@ -248,6 +248,9 @@ 0, "Print BMG messages as UTF-8 text without escape sequences." }, + { T_OPT_CP, "BMG_ENDIAN", "bmg-endian|bmgendian", + 0, 0 /* copy of wszst */ }, + { T_OPT_CP, "BMG_ENCODING", "bmg-encoding|bmgencoding", 0, 0 /* copy of wszst */ }, @@ -669,6 +672,7 @@ " If set, cup names are exported too as MID 4200-423F." " If set twice, cup/track relations are also exported as MID 4300-43FF."}, { T_COPY_GRP, "TEXTOUT", 0,0,0 }, + { T_COPT, "BMG_ENDIAN", 0,0,0 }, { T_COPT, "BMG_ENCODING", 0,0,0 }, { T_COPT, "BMG_INF_SIZE", 0,0,0 }, { T_COPT, "BMG_MID", 0,0,0 }, @@ -733,6 +737,7 @@ { T_COPY_GRP, "DEST", 0,0,0 }, { T_COPT, "IGNORE", 0,0,0 }, { T_COPY_GRP, "TEXTOPT", 0,0,0 }, + { T_COPT, "BMG_ENDIAN", 0,0,0 }, { T_COPT, "BMG_ENCODING", 0,0,0 }, { T_COPT, "BMG_INF_SIZE", 0,0,0 }, { T_COPT, "BMG_MID", 0,0,0 }, diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc index 1eec891..e4b4772 100644 --- a/project/src/ui/tab-wlect.inc +++ b/project/src/ui/tab-wlect.inc @@ -260,6 +260,9 @@ 0, "Print BMG messages as UTF-8 text without escape sequences." }, + { T_OPT_CP, "BMG_ENDIAN", "bmg-endian|bmgendian", + 0, 0 /* copy of wszst */ }, + { T_OPT_CP, "BMG_ENCODING", "bmg-encoding|bmgencoding", 0, 0 /* copy of wszst */ }, @@ -436,8 +439,9 @@ "[=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)." }, + " @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)." }, { T_OPT_CO, "CUSTOM_TT", "custom-tt|customtt", "[=mode]", @@ -452,6 +456,29 @@ " (default, if option is used without parameter)." " Disable it only for tests!" }, + { T_OPT_CO, "SPEEDOMETER", "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)." }, + + { H_OPT_CP, "RESERVED_1B9", "reserved-1b9|reserved1b9", + "[=mode]", + "Set LPAR byte at offset 0x1b9 to this value." + " Value -1 disables this option." }, + + { H_OPT_CP, "RESERVED_1BA", "reserved-1ba|reserved1ba", + "[=mode]", + "Set LPAR byte at offset 0x1ba to this value." + " Value -1 disables this option." }, + + { H_OPT_CP, "RESERVED_1BB", "reserved-1bb|reserved1bb", + "[=mode]", + "Set LPAR byte at offset 0x1bb to this value." + " Value -1 disables this option." }, + { T_SEP_OPT, 0,0,0,0 }, //----- separator ----- { T_OPT_CP, "TRACK_DIR", "track-dir|trackdir", @@ -582,18 +609,28 @@ { T_COPT, "UPDATE", 0,0,0 }, { T_COPT, "PRESERVE", 0,0,0 }, - //---------- wlect GROUP PATCH ---------- + //---------- wlect GROUP PARAM ---------- - { T_GRP_BEG, "PATCH", 0,0,0 }, + { T_GRP_BEG, "PARAM", 0,0,0 }, - { T_COPT, "LE_DEFINE", 0,0,0 }, - { T_COPT, "LPAR", 0,0,0 }, - { T_COPT, "ALIAS", 0,0,0 }, { T_COPT, "ENGINE", 0,0,0 }, { T_COPT, "200CC", 0,0,0 }, { T_COPT, "PERFMON", 0,0,0 }, { T_COPT, "CUSTOM_TT", 0,0,0 }, { T_COPT, "XPFLAGS", 0,0,0 }, + { T_COPT, "SPEEDOMETER", 0,0,0 }, + { H_COPT, "RESERVED_1B9", 0,0,0 }, + { H_COPT, "RESERVED_1BA", 0,0,0 }, + { H_COPT, "RESERVED_1BB", 0,0,0 }, + + //---------- wlect GROUP PATCH ---------- + + { T_GRP_BEG, "PATCH", 0,0,0 }, + + { T_COPT, "LE_DEFINE", 0,0,0 }, + { T_COPT, "LPAR", 0,0,0 }, + { T_COPT, "ALIAS", 0,0,0 }, + { T_COPY_GRP, "PARAM", 0,0,0 }, //---------- wlect GROUP PATCH_LEX ---------- @@ -797,6 +834,7 @@ { T_COPT, "NO_ECHO", 0,0,0 }, { T_COPY_GRP, "DEST", 0,0,0 }, { T_COPT, "LPAR", 0,0,0 }, + { T_SEP_OPT, 0,0,0,0 }, { T_COPT, "LT_CLEAR", 0,0,0 }, { T_COPT, "LT_ONLINE", 0,0,0 }, { T_COPT, "LT_N_PLAYERS", 0,0,0 }, @@ -805,6 +843,8 @@ { T_COPT, "LT_ENGINE", 0,0,0 }, { T_COPT, "LT_RANDOM", 0,0,0 }, { T_COPT, "LEX_PURGE", 0,0,0 }, + { T_SEP_OPT, 0,0,0,0 }, + { T_COPY_GRP, "PARAM", 0,0,0 }, //---------- COMMAND wlect CAT ---------- diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc index e8f85a2..e84695d 100644 --- a/project/src/ui/tab-wszst.inc +++ b/project/src/ui/tab-wszst.inc @@ -1522,10 +1522,19 @@ " if their difference is less than or equal to epsilon." " The default value is @" CONVERT_TO_STRING(DEF_EPSILON_POS) "@." }, + { T_OPT_CP, "BMG_ENDIAN", "bmg-endian|bmgendian", + "name", + "Force an endian for new BMG files." + " Accepted values are @BIG@ or @BE@ for big endian, @LITTLE@ or @LE@" + " for little endian and @AUTO@ for automatic detection (default)." + "\n " + " Mario Kart Wii uses big endian;" + " the default if no other endian is defined." }, + { T_OPT_CP, "BMG_ENCODING", "bmg-encoding|bmgencoding", "name", - "Force a BMG encoding for new BMG files." - " Accepted encoding names are: @CP-1252@, @UTF-16BE@ (or @UTF-16@)," + "Force an encoding for new BMG files." + " Accepted encoding names are @CP-1252@, @UTF-16BE@ (or @UTF-16@)," " @SHIFT-JIS@, @UTF-8@ and @AUTO@ for automatic detection (default)." " Same keywords without minus signs are accepted too." "\n " @@ -2400,6 +2409,7 @@ { T_GRP_BEG, "BMG", 0,0,0 }, + { T_COPT, "BMG_ENDIAN", 0,0,0 }, { T_COPT, "BMG_ENCODING", 0,0,0 }, { T_COPT, "BMG_INF_SIZE", 0,0,0 }, { T_COPT, "BMG_MID", 0,0,0 }, diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c index b3836f2..1a6c522 100644 --- a/project/src/ui/ui-wbmgt.c +++ b/project/src/ui/ui-wbmgt.c @@ -186,9 +186,18 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " Read https://szs.wiimm.de/opt/filter-bmg for more details." }, + { OPT_BMG_ENDIAN, false, false, false, false, false, 0, "endian", + "name", + "Force an endian for new BMG files. Accepted values are BIG or BE for" + " big endian, LITTLE or LE for little endian and AUTO for automatic" + " detection (default).\n" + " Mario Kart Wii uses big endian; the default if no other endian is" + " defined." + }, + { OPT_BMG_ENCODING, false, false, false, false, false, 0, "encoding", "name", - "Force a BMG encoding for new BMG files. Accepted encoding names are:" + "Force an encoding for new BMG files. Accepted encoding names are" " CP-1252, UTF-16BE (or UTF-16), SHIFT-JIS, UTF-8 and AUTO for" " automatic detection (default). Same keywords without minus signs are" " accepted too.\n" @@ -284,7 +293,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 == 31 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 32 //----- global options ----- @@ -506,7 +515,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 == 61 }; @@ -694,6 +703,9 @@ static const struct option OptionLong[] = { "filterbmg", 1, 0, GO_FILTER_BMG }, { "fb", 1, 0, GO_FILTER_BMG }, { "msg", 1, 0, GO_FILTER_BMG }, + { "endian", 1, 0, GO_BMG_ENDIAN }, + { "bmg-endian", 1, 0, GO_BMG_ENDIAN }, + { "bmgendian", 1, 0, GO_BMG_ENDIAN }, { "encoding", 1, 0, GO_BMG_ENCODING }, { "bmg-encoding", 1, 0, GO_BMG_ENCODING }, { "bmgencoding", 1, 0, GO_BMG_ENCODING }, @@ -801,19 +813,20 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x094 */ OPT_ALIGN, /* 0x095 */ OPT_MACRO_BMG, /* 0x096 */ OPT_FILTER_BMG, - /* 0x097 */ OPT_BMG_ENCODING, - /* 0x098 */ OPT_BMG_INF_SIZE, - /* 0x099 */ OPT_BMG_MID, - /* 0x09a */ OPT_FORCE_ATTRIB, - /* 0x09b */ OPT_DEF_ATTRIB, - /* 0x09c */ OPT_NO_ATTRIB, - /* 0x09d */ OPT_X_ESCAPES, - /* 0x09e */ OPT_OLD_ESCAPES, - /* 0x09f */ OPT_NO_BMG_COLORS, - /* 0x0a0 */ OPT_BMG_COLORS, - /* 0x0a1 */ OPT_NO_BMG_INLINE, - /* 0x0a2 */ OPT_SECTIONS, - /* 0x0a3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0, + /* 0x097 */ OPT_BMG_ENDIAN, + /* 0x098 */ OPT_BMG_ENCODING, + /* 0x099 */ OPT_BMG_INF_SIZE, + /* 0x09a */ OPT_BMG_MID, + /* 0x09b */ OPT_FORCE_ATTRIB, + /* 0x09c */ OPT_DEF_ATTRIB, + /* 0x09d */ OPT_NO_ATTRIB, + /* 0x09e */ OPT_X_ESCAPES, + /* 0x09f */ OPT_OLD_ESCAPES, + /* 0x0a0 */ OPT_NO_BMG_COLORS, + /* 0x0a1 */ OPT_BMG_COLORS, + /* 0x0a2 */ OPT_NO_BMG_INLINE, + /* 0x0a3 */ OPT_SECTIONS, + /* 0x0a4 */ 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, @@ -829,130 +842,130 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[31] = // cmd #1 +static u8 option_allowed_cmd_VERSION[32] = // 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, - 1 + 0,1 }; -static u8 option_allowed_cmd_HELP[31] = // cmd #2 +static u8 option_allowed_cmd_HELP[32] = // 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 }; -static u8 option_allowed_cmd_ARGTEST[31] = // cmd #3 +static u8 option_allowed_cmd_ARGTEST[32] = // 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 }; -static u8 option_allowed_cmd_TEST[31] = // cmd #4 +static u8 option_allowed_cmd_TEST[32] = // 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 }; -static u8 option_allowed_cmd_COLORS[31] = // cmd #5 +static u8 option_allowed_cmd_COLORS[32] = // cmd #5 { 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 }; -static u8 option_allowed_cmd_ERROR[31] = // cmd #6 +static u8 option_allowed_cmd_ERROR[32] = // cmd #6 { 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,1 }; -static u8 option_allowed_cmd_FILETYPE[31] = // cmd #7 +static u8 option_allowed_cmd_FILETYPE[32] = // cmd #7 { 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 }; -static u8 option_allowed_cmd_FILEATTRIB[31] = // cmd #8 +static u8 option_allowed_cmd_FILEATTRIB[32] = // cmd #8 { 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 }; -static u8 option_allowed_cmd_POINTS[31] = // cmd #9 +static u8 option_allowed_cmd_POINTS[32] = // cmd #9 { 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 }; -static u8 option_allowed_cmd_REGEXP[31] = // cmd #10 +static u8 option_allowed_cmd_REGEXP[32] = // 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 }; -static u8 option_allowed_cmd_EXTRACT[31] = // cmd #11 +static u8 option_allowed_cmd_EXTRACT[32] = // cmd #11 { 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 }; -static u8 option_allowed_cmd_SECTIONS[31] = // cmd #12 +static u8 option_allowed_cmd_SECTIONS[32] = // cmd #12 { 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_LIST[31] = // cmd #13 +static u8 option_allowed_cmd_LIST[32] = // cmd #13 { 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 }; -static u8 option_allowed_cmd_SLOTS[31] = // cmd #14 +static u8 option_allowed_cmd_SLOTS[32] = // cmd #14 { 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 }; -static u8 option_allowed_cmd_DIFF[31] = // cmd #15 +static u8 option_allowed_cmd_DIFF[32] = // cmd #15 { 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 }; -static u8 option_allowed_cmd_CAT[31] = // cmd #16 +static u8 option_allowed_cmd_CAT[32] = // cmd #16 { 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, - 0 + 1,0 }; -static u8 option_allowed_cmd_MIX[31] = // cmd #17 +static u8 option_allowed_cmd_MIX[32] = // cmd #17 { 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, - 0 + 1,0 }; -static u8 option_allowed_cmd_IDENTIFIER[31] = // cmd #18 +static u8 option_allowed_cmd_IDENTIFIER[32] = // cmd #18 { 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, - 0 + 1,0 }; -static u8 option_allowed_cmd_DECODE[31] = // cmd #19 +static u8 option_allowed_cmd_DECODE[32] = // cmd #19 { 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, - 0 + 1,0 }; -static u8 option_allowed_cmd_ENCODE[31] = // cmd #20 +static u8 option_allowed_cmd_ENCODE[32] = // cmd #20 { - 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,0, - 0 + 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 }; -static u8 option_allowed_cmd_PATCH[31] = // cmd #21 +static u8 option_allowed_cmd_PATCH[32] = // cmd #21 { 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, - 0 + 1,0 }; @@ -1123,6 +1136,10 @@ static const InfoOption_t * option_tab_cmd_CAT[] = { OptionInfo + OPT_NO_HEADER, OptionInfo + OPT_BRIEF, + + OptionInfo + OPT_NONE, // separator + + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1149,6 +1166,10 @@ static const InfoOption_t * option_tab_cmd_MIX[] = { OptionInfo + OPT_NO_HEADER, OptionInfo + OPT_BRIEF, + + OptionInfo + OPT_NONE, // separator + + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1180,6 +1201,10 @@ static const InfoOption_t * option_tab_cmd_IDENTIFIER[] = OptionInfo + OPT_NO_HEADER, OptionInfo + OPT_BRIEF, + + OptionInfo + OPT_NONE, // separator + + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1213,6 +1238,10 @@ static const InfoOption_t * option_tab_cmd_DECODE[] = OptionInfo + OPT_PRESERVE, OptionInfo + OPT_NO_HEADER, OptionInfo + OPT_BRIEF, + + OptionInfo + OPT_NONE, // separator + + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1248,6 +1277,10 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] = OptionInfo + OPT_REMOVE_DEST, OptionInfo + OPT_UPDATE, OptionInfo + OPT_PRESERVE, + + OptionInfo + OPT_NONE, // separator + + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1276,6 +1309,10 @@ static const InfoOption_t * option_tab_cmd_PATCH[] = OptionInfo + OPT_PRESERVE, OptionInfo + OPT_NO_HEADER, OptionInfo + OPT_BRIEF, + + OptionInfo + OPT_NONE, // separator + + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1574,7 +1611,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " single archive (SZS,...) are combined to 1 source. The output of all" " source files is concatenated.", 0, - 20, + 21, option_tab_cmd_CAT, option_allowed_cmd_CAT }, @@ -1592,7 +1629,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " combined and strings of later source files override prior defined" " strings.", 0, - 20, + 21, option_tab_cmd_MIX, option_allowed_cmd_MIX }, @@ -1608,7 +1645,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " respect to options --le-code and --ct-code. Print the result to" " standard output.", 0, - 18, + 19, option_tab_cmd_IDENTIFIER, option_allowed_cmd_IDENTIFIER }, @@ -1625,7 +1662,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " This command is similar to PATCH, but the result is always decoded." " The default destination is '%P/%N.txt'.", 0, - 28, + 29, option_tab_cmd_DECODE, option_allowed_cmd_DECODE }, @@ -1642,7 +1679,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " This command is similar to PATCH, but the result is always encoded." " The default destination is '%P/%N.bmg'.", 0, - 17, + 18, option_tab_cmd_ENCODE, option_allowed_cmd_ENCODE }, @@ -1660,7 +1697,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " Use 'wszst patch --patch-bmg ...' to patch BMG files within a SZS" " file.", 0, - 29, + 30, 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 4dceb36..75625de 100644 --- a/project/src/ui/ui-wbmgt.h +++ b/project/src/ui/ui-wbmgt.h @@ -72,6 +72,7 @@ typedef enum enumOptions OPT_PATCH_BMG, OPT_MACRO_BMG, OPT_FILTER_BMG, + OPT_BMG_ENDIAN, OPT_BMG_ENCODING, OPT_BMG_INF_SIZE, OPT_BMG_MID, @@ -87,7 +88,7 @@ typedef enum enumOptions OPT_EXPORT, OPT_SECTIONS, - OPT__N_SPECIFIC, // == 31 + OPT__N_SPECIFIC, // == 32 //----- global options ----- @@ -121,7 +122,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 60 + OPT__N_TOTAL // == 61 } enumOptions; @@ -152,6 +153,7 @@ typedef enum enumOptions // OB_PATCH_BMG = 1llu << OPT_PATCH_BMG, // OB_MACRO_BMG = 1llu << OPT_MACRO_BMG, // OB_FILTER_BMG = 1llu << OPT_FILTER_BMG, +// OB_BMG_ENDIAN = 1llu << OPT_BMG_ENDIAN, // OB_BMG_ENCODING = 1llu << OPT_BMG_ENCODING, // OB_BMG_INF_SIZE = 1llu << OPT_BMG_INF_SIZE, // OB_BMG_MID = 1llu << OPT_BMG_MID, @@ -180,6 +182,7 @@ typedef enum enumOptions // // OB_GRP_TEXTOUT = OB_NO_HEADER // | OB_BRIEF +// | OB_BMG_ENDIAN // | OB_BMG_ENCODING // | OB_BMG_INF_SIZE // | OB_BMG_MID @@ -261,6 +264,7 @@ typedef enum enumOptions // | OB_FILTER_BMG, // // OB_CMD_ENCODE = OB_GRP_DEST +// | OB_BMG_ENDIAN // | OB_BMG_ENCODING // | OB_BMG_INF_SIZE // | OB_BMG_MID @@ -378,6 +382,7 @@ typedef enum enumGetOpt GO_ALIGN, GO_MACRO_BMG, GO_FILTER_BMG, + GO_BMG_ENDIAN, GO_BMG_ENCODING, GO_BMG_INF_SIZE, GO_BMG_MID, diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c index cd7f2d6..d106ed3 100644 --- a/project/src/ui/ui-wctct.c +++ b/project/src/ui/ui-wctct.c @@ -80,9 +80,18 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = "Print BMG messages as UTF-8 text without escape sequences." }, + { OPT_BMG_ENDIAN, false, false, false, false, false, 0, "bmg-endian", + "name", + "Force an endian for new BMG files. Accepted values are BIG or BE for" + " big endian, LITTLE or LE for little endian and AUTO for automatic" + " detection (default).\n" + " Mario Kart Wii uses big endian; the default if no other endian is" + " defined." + }, + { OPT_BMG_ENCODING, false, false, false, false, false, 0, "bmg-encoding", "name", - "Force a BMG encoding for new BMG files. Accepted encoding names are:" + "Force an encoding for new BMG files. Accepted encoding names are" " CP-1252, UTF-16BE (or UTF-16), SHIFT-JIS, UTF-8 and AUTO for" " automatic detection (default). Same keywords without minus signs are" " accepted too.\n" @@ -384,7 +393,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 == 46 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 47 //----- global options ----- @@ -637,7 +646,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 == 79 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 80 }; @@ -845,6 +854,8 @@ static const struct option OptionLong[] = { "noheader", 0, 0, 'H' }, { "brief", 0, 0, 'B' }, { "raw", 0, 0, GO_RAW }, + { "bmg-endian", 1, 0, GO_BMG_ENDIAN }, + { "bmgendian", 1, 0, GO_BMG_ENDIAN }, { "bmg-encoding", 1, 0, GO_BMG_ENCODING }, { "bmgencoding", 1, 0, GO_BMG_ENCODING }, { "bmg-inf-size", 1, 0, GO_BMG_INF_SIZE }, @@ -1011,46 +1022,47 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x08b */ OPT_CHDIR, /* 0x08c */ OPT_ROUND, /* 0x08d */ OPT_RAW, - /* 0x08e */ OPT_BMG_ENCODING, - /* 0x08f */ OPT_BMG_INF_SIZE, - /* 0x090 */ OPT_BMG_MID, - /* 0x091 */ OPT_FORCE_ATTRIB, - /* 0x092 */ OPT_DEF_ATTRIB, - /* 0x093 */ OPT_NO_ATTRIB, - /* 0x094 */ OPT_X_ESCAPES, - /* 0x095 */ OPT_OLD_ESCAPES, - /* 0x096 */ OPT_NO_BMG_COLORS, - /* 0x097 */ OPT_BMG_COLORS, - /* 0x098 */ OPT_NO_BMG_INLINE, - /* 0x099 */ OPT_NO_ECHO, - /* 0x09a */ OPT_UTF_8, - /* 0x09b */ OPT_NO_UTF_8, - /* 0x09c */ OPT_FORCE, - /* 0x09d */ OPT_REPAIR_MAGICS, - /* 0x09e */ OPT_OLD, - /* 0x09f */ OPT_STD, - /* 0x0a0 */ OPT_NEW, - /* 0x0a1 */ OPT_EXTRACT, - /* 0x0a2 */ OPT_LIST, - /* 0x0a3 */ OPT_REF, - /* 0x0a4 */ OPT_FULL, - /* 0x0a5 */ OPT_HEX, - /* 0x0a6 */ OPT_CT_DIR, - /* 0x0a7 */ OPT_CT_LOG, - /* 0x0a8 */ OPT_ALLOW_SLOTS, - /* 0x0a9 */ OPT_IMAGES, - /* 0x0aa */ OPT_LOAD_BMG, - /* 0x0ab */ OPT_PATCH_BMG, - /* 0x0ac */ OPT_MACRO_BMG, - /* 0x0ad */ OPT_FILTER_BMG, - /* 0x0ae */ OPT_PATCH_NAMES, - /* 0x0af */ OPT_ORDER_BY, - /* 0x0b0 */ OPT_ORDER_ALL, - /* 0x0b1 */ OPT_DYNAMIC, - /* 0x0b2 */ OPT_WRITE_TRACKS, - /* 0x0b3 */ OPT_NUMBER, - /* 0x0b4 */ OPT_SECTIONS, - /* 0x0b5 */ 0,0,0,0, 0,0,0,0, 0,0,0, + /* 0x08e */ OPT_BMG_ENDIAN, + /* 0x08f */ OPT_BMG_ENCODING, + /* 0x090 */ OPT_BMG_INF_SIZE, + /* 0x091 */ OPT_BMG_MID, + /* 0x092 */ OPT_FORCE_ATTRIB, + /* 0x093 */ OPT_DEF_ATTRIB, + /* 0x094 */ OPT_NO_ATTRIB, + /* 0x095 */ OPT_X_ESCAPES, + /* 0x096 */ OPT_OLD_ESCAPES, + /* 0x097 */ OPT_NO_BMG_COLORS, + /* 0x098 */ OPT_BMG_COLORS, + /* 0x099 */ OPT_NO_BMG_INLINE, + /* 0x09a */ OPT_NO_ECHO, + /* 0x09b */ OPT_UTF_8, + /* 0x09c */ OPT_NO_UTF_8, + /* 0x09d */ OPT_FORCE, + /* 0x09e */ OPT_REPAIR_MAGICS, + /* 0x09f */ OPT_OLD, + /* 0x0a0 */ OPT_STD, + /* 0x0a1 */ OPT_NEW, + /* 0x0a2 */ OPT_EXTRACT, + /* 0x0a3 */ OPT_LIST, + /* 0x0a4 */ OPT_REF, + /* 0x0a5 */ OPT_FULL, + /* 0x0a6 */ OPT_HEX, + /* 0x0a7 */ OPT_CT_DIR, + /* 0x0a8 */ OPT_CT_LOG, + /* 0x0a9 */ OPT_ALLOW_SLOTS, + /* 0x0aa */ OPT_IMAGES, + /* 0x0ab */ OPT_LOAD_BMG, + /* 0x0ac */ OPT_PATCH_BMG, + /* 0x0ad */ OPT_MACRO_BMG, + /* 0x0ae */ OPT_FILTER_BMG, + /* 0x0af */ OPT_PATCH_NAMES, + /* 0x0b0 */ OPT_ORDER_BY, + /* 0x0b1 */ OPT_ORDER_ALL, + /* 0x0b2 */ OPT_DYNAMIC, + /* 0x0b3 */ OPT_WRITE_TRACKS, + /* 0x0b4 */ OPT_NUMBER, + /* 0x0b5 */ OPT_SECTIONS, + /* 0x0b6 */ 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, @@ -1065,130 +1077,130 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[46] = // cmd #1 +static u8 option_allowed_cmd_VERSION[47] = // 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, 1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1 }; -static u8 option_allowed_cmd_HELP[46] = // cmd #2 +static u8 option_allowed_cmd_HELP[47] = // 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 }; -static u8 option_allowed_cmd_ARGTEST[46] = // cmd #3 +static u8 option_allowed_cmd_ARGTEST[47] = // 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, 1,1,1,1,1, 1,1 }; -static u8 option_allowed_cmd_TEST[46] = // cmd #4 +static u8 option_allowed_cmd_TEST[47] = // 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 }; -static u8 option_allowed_cmd_COLORS[46] = // cmd #5 +static u8 option_allowed_cmd_COLORS[47] = // 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, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_ERROR[46] = // cmd #6 +static u8 option_allowed_cmd_ERROR[47] = // 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, 0,0,0,0,0, 1 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1 }; -static u8 option_allowed_cmd_FILETYPE[46] = // cmd #7 +static u8 option_allowed_cmd_FILETYPE[47] = // 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,0, 0,0,0,0,1, 0 + 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0 }; -static u8 option_allowed_cmd_FILEATTRIB[46] = // cmd #8 +static u8 option_allowed_cmd_FILEATTRIB[47] = // 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, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_SYMBOLS[46] = // cmd #9 +static u8 option_allowed_cmd_SYMBOLS[47] = // 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, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_FUNCTIONS[46] = // cmd #10 +static u8 option_allowed_cmd_FUNCTIONS[47] = // 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, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_CALCULATE[46] = // cmd #11 +static u8 option_allowed_cmd_CALCULATE[47] = // 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, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_FLOAT[46] = // cmd #12 +static u8 option_allowed_cmd_FLOAT[47] = // 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, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_EXPORT[46] = // cmd #13 +static u8 option_allowed_cmd_EXPORT[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,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0 }; -static u8 option_allowed_cmd_RAWDUMP[46] = // cmd #14 +static u8 option_allowed_cmd_RAWDUMP[47] = // 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,1,1,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[46] = // cmd #15 +static u8 option_allowed_cmd_DUMP[47] = // cmd #15 { - 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,1,1,1, - 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,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[46] = // cmd #16 +static u8 option_allowed_cmd_CAT[47] = // cmd #16 { - 0,0,0,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,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[46] = // cmd #17 +static u8 option_allowed_cmd_BMG[47] = // cmd #17 { - 0,0,1,1,1, 0,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,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[46] = // cmd #18 +static u8 option_allowed_cmd_TRACKS[47] = // cmd #18 { - 0,0,1,1,1, 1,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, 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[46] = // cmd #19 +static u8 option_allowed_cmd_DECODE[47] = // cmd #19 { - 0,0,0,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,1,1,1,1, 1,1,1,1,1, 0 + 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[46] = // cmd #20 +static u8 option_allowed_cmd_CREATE[47] = // cmd #20 { - 0,0,1,1,1, 0,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, 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[46] = // cmd #21 +static u8 option_allowed_cmd_PATCH[47] = // cmd #21 { - 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, 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 }; @@ -1390,6 +1402,7 @@ static const InfoOption_t * option_tab_cmd_BMG[] = OptionInfo + OPT_HEX, &option_grp_TEXTOPT_NO_HEADER, OptionInfo + OPT_EXPORT, + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1499,6 +1512,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] = &option_grp_TEXTOPT_NO_HEADER, OptionInfo + OPT_BRIEF, OptionInfo + OPT_EXPORT, + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -1850,7 +1864,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " output. BRRES, TEX0, CT-CODE, CT-TEXT and LE-BIN are accepted as" " input.", 0, - 31, + 32, option_tab_cmd_BMG, option_allowed_cmd_BMG }, @@ -1902,7 +1916,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " The Korean support needs external CT-CODE files. Use option" " --ct-dir to define at least one search path.", 0, - 40, + 41, option_tab_cmd_CREATE, option_allowed_cmd_CREATE }, diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h index 4e0e4d0..184515b 100644 --- a/project/src/ui/ui-wctct.h +++ b/project/src/ui/ui-wctct.h @@ -61,6 +61,7 @@ typedef enum enumOptions OPT_NO_HEADER, OPT_BRIEF, OPT_RAW, + OPT_BMG_ENDIAN, OPT_BMG_ENCODING, OPT_BMG_INF_SIZE, OPT_BMG_MID, @@ -102,7 +103,7 @@ typedef enum enumOptions OPT_IGNORE, OPT_SECTIONS, - OPT__N_SPECIFIC, // == 46 + OPT__N_SPECIFIC, // == 47 //----- global options ----- @@ -140,7 +141,7 @@ typedef enum enumOptions OPT_CT_LOG, OPT_ALLOW_SLOTS, - OPT__N_TOTAL // == 79 + OPT__N_TOTAL // == 80 } enumOptions; @@ -160,6 +161,7 @@ typedef enum enumOptions // OB_NO_HEADER = 1llu << OPT_NO_HEADER, // OB_BRIEF = 1llu << OPT_BRIEF, // OB_RAW = 1llu << OPT_RAW, +// OB_BMG_ENDIAN = 1llu << OPT_BMG_ENDIAN, // OB_BMG_ENCODING = 1llu << OPT_BMG_ENCODING, // OB_BMG_INF_SIZE = 1llu << OPT_BMG_INF_SIZE, // OB_BMG_MID = 1llu << OPT_BMG_MID, @@ -276,6 +278,7 @@ typedef enum enumOptions // OB_CMD_BMG = OB_BRIEF // | OB_LONG // | OB_GRP_TEXTOUT +// | OB_BMG_ENDIAN // | OB_BMG_ENCODING // | OB_BMG_INF_SIZE // | OB_BMG_MID @@ -322,6 +325,7 @@ typedef enum enumOptions // OB_CMD_CREATE = OB_GRP_DEST // | OB_IGNORE // | OB_GRP_TEXTOPT +// | OB_BMG_ENDIAN // | OB_BMG_ENCODING // | OB_BMG_INF_SIZE // | OB_BMG_MID @@ -439,6 +443,7 @@ typedef enum enumGetOpt GO_CHDIR, GO_ROUND, GO_RAW, + GO_BMG_ENDIAN, GO_BMG_ENCODING, GO_BMG_INF_SIZE, GO_BMG_MID, 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 }, diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h index 94a0f2e..a170a51 100644 --- a/project/src/ui/ui-wlect.h +++ b/project/src/ui/ui-wlect.h @@ -74,6 +74,10 @@ typedef enum enumOptions OPT_PERFMON, OPT_CUSTOM_TT, OPT_XPFLAGS, + OPT_SPEEDOMETER, + OPT_RESERVED_1B9, + OPT_RESERVED_1BA, + OPT_RESERVED_1BB, OPT_TRACK_DIR, OPT_COPY_TRACKS, OPT_MOVE_TRACKS, @@ -97,7 +101,7 @@ typedef enum enumOptions OPT_IGNORE, OPT_SECTIONS, - OPT__N_SPECIFIC, // == 41 + OPT__N_SPECIFIC, // == 45 //----- global options ----- @@ -133,7 +137,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 72 + OPT__N_TOTAL // == 76 } enumOptions; @@ -166,6 +170,10 @@ typedef enum enumOptions // OB_PERFMON = 1llu << OPT_PERFMON, // OB_CUSTOM_TT = 1llu << OPT_CUSTOM_TT, // OB_XPFLAGS = 1llu << OPT_XPFLAGS, +// OB_SPEEDOMETER = 1llu << OPT_SPEEDOMETER, +// OB_RESERVED_1B9 = 1llu << OPT_RESERVED_1B9, +// OB_RESERVED_1BA = 1llu << OPT_RESERVED_1BA, +// OB_RESERVED_1BB = 1llu << OPT_RESERVED_1BB, // OB_TRACK_DIR = 1llu << OPT_TRACK_DIR, // OB_COPY_TRACKS = 1llu << OPT_COPY_TRACKS, // OB_MOVE_TRACKS = 1llu << OPT_MOVE_TRACKS, @@ -200,14 +208,20 @@ typedef enum enumOptions // | OB_UPDATE // | OB_PRESERVE, // -// OB_GRP_PATCH = OB_LE_DEFINE -// | OB_LPAR -// | OB_ALIAS -// | OB_ENGINE +// OB_GRP_PARAM = OB_ENGINE // | OB_200CC // | OB_PERFMON // | OB_CUSTOM_TT -// | OB_XPFLAGS, +// | OB_XPFLAGS +// | OB_SPEEDOMETER +// | OB_RESERVED_1B9 +// | OB_RESERVED_1BA +// | OB_RESERVED_1BB, +// +// OB_GRP_PATCH = OB_LE_DEFINE +// | OB_LPAR +// | OB_ALIAS +// | OB_GRP_PARAM, // // OB_GRP_TRACK_COPY = OB_TRACK_DIR // | OB_COPY_TRACKS @@ -282,7 +296,8 @@ typedef enum enumOptions // | OB_LPAR // | OB_LT_CLEAR // | OB_LT_ONLINE -// | OB_LT_N_PLAYERS, +// | OB_LT_N_PLAYERS +// | OB_GRP_PARAM, // // OB_CMD_CAT = OB_COMPLETE // | OB_GRP_TEXTOUT @@ -411,6 +426,10 @@ typedef enum enumGetOpt GO_PERFMON, GO_CUSTOM_TT, GO_XPFLAGS, + GO_SPEEDOMETER, + GO_RESERVED_1B9, + GO_RESERVED_1BA, + GO_RESERVED_1BB, GO_TRACK_DIR, GO_COPY_TRACKS, GO_MOVE_TRACKS, diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c index f6a0afc..d5f36b5 100644 --- a/project/src/ui/ui-wszst.c +++ b/project/src/ui/ui-wszst.c @@ -527,9 +527,18 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] = " default value is 0.01." }, + { OPT_BMG_ENDIAN, false, false, false, false, false, 0, "bmg-endian", + "name", + "Force an endian for new BMG files. Accepted values are BIG or BE for" + " big endian, LITTLE or LE for little endian and AUTO for automatic" + " detection (default).\n" + " Mario Kart Wii uses big endian; the default if no other endian is" + " defined." + }, + { OPT_BMG_ENCODING, false, false, false, false, false, 0, "bmg-encoding", "name", - "Force a BMG encoding for new BMG files. Accepted encoding names are:" + "Force an encoding for new BMG files. Accepted encoding names are" " CP-1252, UTF-16BE (or UTF-16), SHIFT-JIS, UTF-8 and AUTO for" " automatic detection (default). Same keywords without minus signs are" " accepted too.\n" @@ -1094,7 +1103,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 == 130 + {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 131 //----- global options ----- @@ -1680,7 +1689,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 == 200 + {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 201 }; @@ -2370,6 +2379,8 @@ static const struct option OptionLong[] = { "delta", 0, 0, GO_DELTA }, { "diff", 0, 0, GO_DIFF }, { "epsilon", 1, 0, GO_EPSILON }, + { "bmg-endian", 1, 0, GO_BMG_ENDIAN }, + { "bmgendian", 1, 0, GO_BMG_ENDIAN }, { "bmg-encoding", 1, 0, GO_BMG_ENCODING }, { "bmgencoding", 1, 0, GO_BMG_ENCODING }, { "bmg-inf-size", 1, 0, GO_BMG_INF_SIZE }, @@ -2700,85 +2711,86 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /* 0x0d5 */ OPT_DELTA, /* 0x0d6 */ OPT_DIFF, /* 0x0d7 */ OPT_EPSILON, - /* 0x0d8 */ OPT_BMG_ENCODING, - /* 0x0d9 */ OPT_BMG_INF_SIZE, - /* 0x0da */ OPT_BMG_MID, - /* 0x0db */ OPT_FORCE_ATTRIB, - /* 0x0dc */ OPT_DEF_ATTRIB, - /* 0x0dd */ OPT_NO_ATTRIB, - /* 0x0de */ OPT_X_ESCAPES, - /* 0x0df */ OPT_OLD_ESCAPES, - /* 0x0e0 */ OPT_NO_BMG_COLORS, - /* 0x0e1 */ OPT_BMG_COLORS, - /* 0x0e2 */ OPT_NO_BMG_INLINE, - /* 0x0e3 */ OPT_AUTOADD_PATH, - /* 0x0e4 */ OPT_STRIP, - /* 0x0e5 */ OPT_UTF_8, - /* 0x0e6 */ OPT_NO_UTF_8, - /* 0x0e7 */ OPT_FORCE, - /* 0x0e8 */ OPT_REPAIR_MAGICS, - /* 0x0e9 */ OPT_TINY, - /* 0x0ea */ OPT_YAZ0, - /* 0x0eb */ OPT_YAZ1, - /* 0x0ec */ OPT_XYZ, - /* 0x0ed */ OPT_BZ, - /* 0x0ee */ OPT_SH, - /* 0x0ef */ OPT_BASH, - /* 0x0f0 */ OPT_JSON, - /* 0x0f1 */ OPT_PHP, - /* 0x0f2 */ OPT_MAKEDOC, - /* 0x0f3 */ OPT_VAR, - /* 0x0f4 */ OPT_ARRAY, - /* 0x0f5 */ OPT_AVAR, - /* 0x0f6 */ OPT_ANALYZE, - /* 0x0f7 */ OPT_ANALYZE_MODE, - /* 0x0f8 */ OPT_OLD, - /* 0x0f9 */ OPT_STD, - /* 0x0fa */ OPT_NEW, - /* 0x0fb */ OPT_EXTRACT, - /* 0x0fc */ OPT_NUMBER, - /* 0x0fd */ OPT_REMOVE_SRC, - /* 0x0fe */ OPT_IGNORE_SETUP, - /* 0x0ff */ OPT_PURGE, - /* 0x100 */ OPT_ALIGN_U8, - /* 0x101 */ OPT_ALIGN_PACK, - /* 0x102 */ OPT_ALIGN_BRRES, - /* 0x103 */ OPT_ALIGN_BREFF, - /* 0x104 */ OPT_ALIGN_BREFT, - /* 0x105 */ OPT_ALIGN, - /* 0x106 */ OPT_ENCODE_ALL, - /* 0x107 */ OPT_ENCODE_IMG, - /* 0x108 */ OPT_NO_ENCODE, - /* 0x109 */ OPT_NO_RECURSE, - /* 0x10a */ OPT_AUTO_ADD, - /* 0x10b */ OPT_NO_ECHO, - /* 0x10c */ OPT_PT_DIR, - /* 0x10d */ OPT_RM_AIPARAM, - /* 0x10e */ OPT_U8, - /* 0x10f */ OPT_SZS, - /* 0x110 */ OPT_WU8, - /* 0x111 */ OPT_XWU8, - /* 0x112 */ OPT_WBZ, - /* 0x113 */ OPT_PACK, - /* 0x114 */ OPT_BRRES, - /* 0x115 */ OPT_BREFF, - /* 0x116 */ OPT_BREFT, - /* 0x117 */ OPT_NO_COMPRESS, - /* 0x118 */ OPT_FAST, - /* 0x119 */ OPT_LINKS, - /* 0x11a */ OPT_BASEDIR, - /* 0x11b */ OPT_DECODE, - /* 0x11c */ OPT_MIPMAPS, - /* 0x11d */ OPT_NO_MIPMAPS, - /* 0x11e */ OPT_N_MIPMAPS, - /* 0x11f */ OPT_MAX_MIPMAPS, - /* 0x120 */ OPT_MIPMAP_SIZE, - /* 0x121 */ OPT_FAST_MIPMAPS, - /* 0x122 */ OPT_CMPR_DEFAULT, - /* 0x123 */ OPT_CUT, - /* 0x124 */ OPT_RAW, - /* 0x125 */ OPT_SECTIONS, - /* 0x126 */ 0,0,0,0, 0,0, + /* 0x0d8 */ OPT_BMG_ENDIAN, + /* 0x0d9 */ OPT_BMG_ENCODING, + /* 0x0da */ OPT_BMG_INF_SIZE, + /* 0x0db */ OPT_BMG_MID, + /* 0x0dc */ OPT_FORCE_ATTRIB, + /* 0x0dd */ OPT_DEF_ATTRIB, + /* 0x0de */ OPT_NO_ATTRIB, + /* 0x0df */ OPT_X_ESCAPES, + /* 0x0e0 */ OPT_OLD_ESCAPES, + /* 0x0e1 */ OPT_NO_BMG_COLORS, + /* 0x0e2 */ OPT_BMG_COLORS, + /* 0x0e3 */ OPT_NO_BMG_INLINE, + /* 0x0e4 */ OPT_AUTOADD_PATH, + /* 0x0e5 */ OPT_STRIP, + /* 0x0e6 */ OPT_UTF_8, + /* 0x0e7 */ OPT_NO_UTF_8, + /* 0x0e8 */ OPT_FORCE, + /* 0x0e9 */ OPT_REPAIR_MAGICS, + /* 0x0ea */ OPT_TINY, + /* 0x0eb */ OPT_YAZ0, + /* 0x0ec */ OPT_YAZ1, + /* 0x0ed */ OPT_XYZ, + /* 0x0ee */ OPT_BZ, + /* 0x0ef */ OPT_SH, + /* 0x0f0 */ OPT_BASH, + /* 0x0f1 */ OPT_JSON, + /* 0x0f2 */ OPT_PHP, + /* 0x0f3 */ OPT_MAKEDOC, + /* 0x0f4 */ OPT_VAR, + /* 0x0f5 */ OPT_ARRAY, + /* 0x0f6 */ OPT_AVAR, + /* 0x0f7 */ OPT_ANALYZE, + /* 0x0f8 */ OPT_ANALYZE_MODE, + /* 0x0f9 */ OPT_OLD, + /* 0x0fa */ OPT_STD, + /* 0x0fb */ OPT_NEW, + /* 0x0fc */ OPT_EXTRACT, + /* 0x0fd */ OPT_NUMBER, + /* 0x0fe */ OPT_REMOVE_SRC, + /* 0x0ff */ OPT_IGNORE_SETUP, + /* 0x100 */ OPT_PURGE, + /* 0x101 */ OPT_ALIGN_U8, + /* 0x102 */ OPT_ALIGN_PACK, + /* 0x103 */ OPT_ALIGN_BRRES, + /* 0x104 */ OPT_ALIGN_BREFF, + /* 0x105 */ OPT_ALIGN_BREFT, + /* 0x106 */ OPT_ALIGN, + /* 0x107 */ OPT_ENCODE_ALL, + /* 0x108 */ OPT_ENCODE_IMG, + /* 0x109 */ OPT_NO_ENCODE, + /* 0x10a */ OPT_NO_RECURSE, + /* 0x10b */ OPT_AUTO_ADD, + /* 0x10c */ OPT_NO_ECHO, + /* 0x10d */ OPT_PT_DIR, + /* 0x10e */ OPT_RM_AIPARAM, + /* 0x10f */ OPT_U8, + /* 0x110 */ OPT_SZS, + /* 0x111 */ OPT_WU8, + /* 0x112 */ OPT_XWU8, + /* 0x113 */ OPT_WBZ, + /* 0x114 */ OPT_PACK, + /* 0x115 */ OPT_BRRES, + /* 0x116 */ OPT_BREFF, + /* 0x117 */ OPT_BREFT, + /* 0x118 */ OPT_NO_COMPRESS, + /* 0x119 */ OPT_FAST, + /* 0x11a */ OPT_LINKS, + /* 0x11b */ OPT_BASEDIR, + /* 0x11c */ OPT_DECODE, + /* 0x11d */ OPT_MIPMAPS, + /* 0x11e */ OPT_NO_MIPMAPS, + /* 0x11f */ OPT_N_MIPMAPS, + /* 0x120 */ OPT_MAX_MIPMAPS, + /* 0x121 */ OPT_MIPMAP_SIZE, + /* 0x122 */ OPT_FAST_MIPMAPS, + /* 0x123 */ OPT_CMPR_DEFAULT, + /* 0x124 */ OPT_CUT, + /* 0x125 */ OPT_RAW, + /* 0x126 */ OPT_SECTIONS, + /* 0x127 */ 0,0,0,0, 0, }; // @@ -2786,652 +2798,652 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] = /////////////// opt_allowed_cmd_* /////////////// /////////////////////////////////////////////////////////////////////////////// -static u8 option_allowed_cmd_VERSION[130] = // cmd #1 +static u8 option_allowed_cmd_VERSION[131] = // 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,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, 1 }; -static u8 option_allowed_cmd_HELP[130] = // cmd #2 +static u8 option_allowed_cmd_HELP[131] = // 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 }; -static u8 option_allowed_cmd_ARGTEST[130] = // cmd #3 +static u8 option_allowed_cmd_ARGTEST[131] = // 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,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,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[130] = // cmd #4 +static u8 option_allowed_cmd_TEST[131] = // 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,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,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[130] = // cmd #5 +static u8 option_allowed_cmd_COLORS[131] = // cmd #5 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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 }; -static u8 option_allowed_cmd_ERROR[130] = // cmd #6 +static u8 option_allowed_cmd_ERROR[131] = // cmd #6 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,1 + 0,0,0,0,0, 0,0,0,0,0, 1 }; -static u8 option_allowed_cmd_FILETYPE[130] = // cmd #7 +static u8 option_allowed_cmd_FILETYPE[131] = // 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,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,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #8 +static u8 option_allowed_cmd_FILEATTRIB[131] = // 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,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 }; -static u8 option_allowed_cmd_BRSUB[130] = // cmd #9 +static u8 option_allowed_cmd_BRSUB[131] = // 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,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,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #10 +static u8 option_allowed_cmd_SYMBOLS[131] = // 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,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #11 +static u8 option_allowed_cmd_FUNCTIONS[131] = // 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,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 }; -static u8 option_allowed_cmd_CALCULATE[130] = // cmd #12 +static u8 option_allowed_cmd_CALCULATE[131] = // 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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #13 +static u8 option_allowed_cmd_MATRIX[131] = // cmd #13 { 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,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 }; -static u8 option_allowed_cmd_FLOAT[130] = // cmd #14 +static u8 option_allowed_cmd_FLOAT[131] = // 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,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #15 +static u8 option_allowed_cmd_VR_CALC[131] = // 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,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 }; -static u8 option_allowed_cmd_VR_RACE[130] = // cmd #16 +static u8 option_allowed_cmd_VR_RACE[131] = // 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,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #17 +static u8 option_allowed_cmd_AUTOADD[131] = // 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,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, 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 }; -static u8 option_allowed_cmd_TRACKS[130] = // cmd #18 +static u8 option_allowed_cmd_TRACKS[131] = // 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,1,0,0, 0,0,0,0,0, 0,0,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,0, - 0,0,0,0,0, 0,0,1,0,0 + 0,0,0,0,0, 0,0,0,1,0, 0 }; -static u8 option_allowed_cmd_SCANCACHE[130] = // cmd #19 +static u8 option_allowed_cmd_SCANCACHE[131] = // 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, 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 }; -static u8 option_allowed_cmd_EXPORT[130] = // cmd #20 +static u8 option_allowed_cmd_EXPORT[131] = // 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, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #21 +static u8 option_allowed_cmd_CODE[131] = // 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,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #22 +static u8 option_allowed_cmd_RECODE[131] = // 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,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #23 +static u8 option_allowed_cmd_SUBFILE[131] = // 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, 0,0,0,0,0, 0,0,0,0,0, 0,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, 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 }; -static u8 option_allowed_cmd_LIST[130] = // cmd #24 +static u8 option_allowed_cmd_LIST[131] = // 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,1,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,1,1, 1,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,0, 0,0,0,0,1, 1,1,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[130] = // cmd #25 +static u8 option_allowed_cmd_LIST_L[131] = // 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,1,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,1,1, 1,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,0, 0,0,0,0,1, 1,1,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[130] = // cmd #26 +static u8 option_allowed_cmd_LIST_LL[131] = // 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,1,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,1,1, 1,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,0, 0,0,0,0,1, 1,1,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[130] = // cmd #27 +static u8 option_allowed_cmd_LIST_LLL[131] = // 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,1,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,1,1, 1,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,0, 0,0,0,0,1, 1,1,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[130] = // cmd #28 +static u8 option_allowed_cmd_LIST_A[131] = // 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,1,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,1,1, 1,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,0, 0,0,0,0,1, 1,1,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[130] = // cmd #29 +static u8 option_allowed_cmd_LIST_LA[131] = // 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,1,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,1,1, 1,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,0, 0,0,0,0,1, 1,1,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[130] = // cmd #30 +static u8 option_allowed_cmd_NAME_REF[131] = // 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,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,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 }; -static u8 option_allowed_cmd_ILIST[130] = // cmd #31 +static u8 option_allowed_cmd_ILIST[131] = // 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,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,1,1, 1,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,1, 1,1,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[130] = // cmd #32 +static u8 option_allowed_cmd_ILIST_L[131] = // 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,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,1,1, 1,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,1, 1,1,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[130] = // cmd #33 +static u8 option_allowed_cmd_ILIST_LL[131] = // 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,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,1, 1,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,1, 1,1,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[130] = // cmd #34 +static u8 option_allowed_cmd_ILIST_A[131] = // 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,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,1,1, 1,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,1, 1,1,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[130] = // cmd #35 +static u8 option_allowed_cmd_ILIST_LA[131] = // 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,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,1,1, 1,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,1, 1,1,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[130] = // cmd #36 +static u8 option_allowed_cmd_MEMORY[131] = // 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,1,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, 1,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,0, 0,0,0,0,0, 1,1,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[130] = // cmd #37 +static u8 option_allowed_cmd_MEMORY_A[131] = // 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,1,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, 1,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,0, 0,0,0,0,0, 1,1,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[130] = // cmd #38 +static u8 option_allowed_cmd_DUMP[131] = // 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,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,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, 1,1,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[130] = // cmd #39 +static u8 option_allowed_cmd_SHA1[131] = // 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,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,1, 1,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, 1,1,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_ANALYZE[130] = // cmd #40 +static u8 option_allowed_cmd_ANALYZE[131] = // 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,1,0,0, 0,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, 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 + 0,0,0,0,0, 0,0,0,0,0, 0 }; -static u8 option_allowed_cmd_DISTRIBUTION[130] = // cmd #41 +static u8 option_allowed_cmd_DISTRIBUTION[131] = // 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,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, 1,0,0,1,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, 1,1,0,0,1, 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[130] = // cmd #42 +static u8 option_allowed_cmd_DIFF[131] = // 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,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, 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[130] = // cmd #43 +static u8 option_allowed_cmd_CHECK[131] = // cmd #43 { 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,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,1, 1,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 + 0,0,0,0,0, 0,0,0,0,0, 1,1,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[130] = // cmd #44 +static u8 option_allowed_cmd_SLOTS[131] = // cmd #44 { 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,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,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 + 0,0,0,0,0, 0,0,0,0,0, 1,1,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[130] = // cmd #45 +static u8 option_allowed_cmd_STGI[131] = // 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,1,0, 0,0,0,0,0, 0,0,0,0,0, - 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 }; -static u8 option_allowed_cmd_ISARENA[130] = // cmd #46 +static u8 option_allowed_cmd_ISARENA[131] = // 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, 0,0,0,0,0, 0,0,0,0,0, - 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 }; -static u8 option_allowed_cmd_NORMALIZE[130] = // cmd #47 +static u8 option_allowed_cmd_NORMALIZE[131] = // cmd #47 { 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,0,0,0,0, 0,0,0,0,0, 0,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 + 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[130] = // cmd #48 +static u8 option_allowed_cmd_PATCH[131] = // cmd #48 { 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,0,0,0,0, 0,0,0,0,0, 0,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 + 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[130] = // cmd #49 +static u8 option_allowed_cmd_COPY[131] = // cmd #49 { 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,0,0,0,0, 0,0,0,0,0, 0,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 + 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[130] = // cmd #50 +static u8 option_allowed_cmd_DUPLICATE[131] = // cmd #50 { 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,0,0,0,0, 0,0,0,0,0, 0,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 + 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[130] = // cmd #51 +static u8 option_allowed_cmd_MINIMAP[131] = // cmd #51 { 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,1,0,0, 0,0,0,0,0, 0,0,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,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[130] = // cmd #52 +static u8 option_allowed_cmd_COMPRESS[131] = // cmd #52 { 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,0,0,0,0, 0,0,0,0,0, 0,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 + 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[130] = // cmd #53 +static u8 option_allowed_cmd_DECOMPRESS[131] = // cmd #53 { 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,0,0,0,0, 0,0,0,0,0, 0,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 + 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[130] = // cmd #54 +static u8 option_allowed_cmd_ENCODE[131] = // cmd #54 { 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,0,0,0,0, 0,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,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 + 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, 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[130] = // cmd #55 +static u8 option_allowed_cmd_CREATE[131] = // cmd #55 { 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,0,0,0,0, 0,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,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 + 0,0,0,0,0, 0,0,0,0,0, 1,1,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 }; -static u8 option_allowed_cmd_UPDATE[130] = // cmd #56 +static u8 option_allowed_cmd_UPDATE[131] = // cmd #56 { 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,0,0,0,0, 0,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,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 + 0,0,0,0,0, 0,0,0,0,0, 1,1,0,0,1, 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[130] = // cmd #57 +static u8 option_allowed_cmd_EXTRACT[131] = // cmd #57 { 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,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,1,1,0,0, 0,1,1,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 + 0,0,0,0,0, 0,0,1,1,0, 0,0,1,1,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[130] = // cmd #58 +static u8 option_allowed_cmd_XDECODE[131] = // cmd #58 { 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,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,1,1,0,0, 0,1,1,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 + 0,0,0,0,0, 0,0,1,1,0, 0,0,1,1,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[130] = // cmd #59 +static u8 option_allowed_cmd_XEXPORT[131] = // cmd #59 { 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,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,1,1,0,0, 0,1,1,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 + 0,0,0,0,0, 0,0,1,1,0, 0,0,1,1,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[130] = // cmd #60 +static u8 option_allowed_cmd_XALL[131] = // cmd #60 { 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,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,1,1,0,0, 0,1,1,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 + 0,0,0,0,0, 0,0,1,1,0, 0,0,1,1,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[130] = // cmd #61 +static u8 option_allowed_cmd_XCOMMON[131] = // cmd #61 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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, 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 }; -static u8 option_allowed_cmd_BINARY[130] = // cmd #62 +static u8 option_allowed_cmd_BINARY[131] = // cmd #62 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,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, 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 }; -static u8 option_allowed_cmd_TEXT[130] = // cmd #63 +static u8 option_allowed_cmd_TEXT[131] = // cmd #63 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,1,1,0,1, 1,1,1,1,1, - 1,1,1,1,1, 1,1,1,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 + 1,1,1,1,1, 1,1,1,1,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[130] = // cmd #64 +static u8 option_allowed_cmd_CAT[131] = // cmd #64 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,1,1,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,1,0, 0,0,0,0,0, - 0,0,0,0,0, 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 + 1,1,1,1,1, 1,1,1,1,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[130] = // cmd #65 +static u8 option_allowed_cmd_BMG[131] = // cmd #65 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,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,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,1,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,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #66 +static u8 option_allowed_cmd_KCL[131] = // cmd #66 { 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,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,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 + 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, 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[130] = // cmd #67 +static u8 option_allowed_cmd_KMP[131] = // cmd #67 { 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,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,1,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 + 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, 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[130] = // cmd #68 +static u8 option_allowed_cmd_LEX[131] = // cmd #68 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,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,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,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[130] = // cmd #69 +static u8 option_allowed_cmd_INFO[131] = // cmd #69 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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,1,0, 0,0,0,0,0, + 0,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 }; -static u8 option_allowed_cmd_GHOST[130] = // cmd #70 +static u8 option_allowed_cmd_GHOST[131] = // cmd #70 { 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 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, 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, 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 + 0,0,0,0,0, 0,0,0,0,0, 0 }; -static u8 option_allowed_cmd_YAZDUMP[130] = // cmd #71 +static u8 option_allowed_cmd_YAZDUMP[131] = // 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,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, 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 }; -static u8 option_allowed_cmd_VEHICLE[130] = // cmd #72 +static u8 option_allowed_cmd_VEHICLE[131] = // 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,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,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,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 }; @@ -6277,6 +6289,7 @@ static const InfoOption_t * option_tab_cmd_TEXT[] = OptionInfo + OPT_DIFF, OptionInfo + OPT_EXPORT, OptionInfo + OPT_NO_PARAM, + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -6318,6 +6331,7 @@ static const InfoOption_t * option_tab_cmd_CAT[] = OptionInfo + OPT_DIFF, OptionInfo + OPT_EXPORT, OptionInfo + OPT_NO_PARAM, + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -6340,6 +6354,7 @@ static const InfoOption_t * option_tab_cmd_BMG[] = OptionInfo + OPT_IGNORE, &option_cmd_BMG_NO_HEADER, OptionInfo + OPT_BRIEF, + OptionInfo + OPT_BMG_ENDIAN, OptionInfo + OPT_BMG_ENCODING, OptionInfo + OPT_BMG_INF_SIZE, OptionInfo + OPT_BMG_MID, @@ -7633,7 +7648,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " ITEMSLOT, KCL, KMG, KMP, LEX, OBJFLOW, PAT and the related text" " formats.", 0, - 31, + 32, option_tab_cmd_TEXT, option_allowed_cmd_TEXT }, @@ -7649,7 +7664,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " and RARC archives. The output of all source files is concatenated" " and written to stdout.", 0, - 21, + 22, option_tab_cmd_CAT, option_allowed_cmd_CAT }, @@ -7665,7 +7680,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] = " decoded and printed as combined BMG text file. The command works" " exactly like 'wbmgt MIX'.", 0, - 17, + 18, option_tab_cmd_BMG, option_allowed_cmd_BMG }, diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h index ee85a24..bdeeeae 100644 --- a/project/src/ui/ui-wszst.h +++ b/project/src/ui/ui-wszst.h @@ -109,6 +109,7 @@ typedef enum enumOptions OPT_DELTA, OPT_DIFF, OPT_EPSILON, + OPT_BMG_ENDIAN, OPT_BMG_ENCODING, OPT_BMG_INF_SIZE, OPT_BMG_MID, @@ -186,7 +187,7 @@ typedef enum enumOptions OPT_RAW, OPT_SECTIONS, - OPT__N_SPECIFIC, // == 130 + OPT__N_SPECIFIC, // == 131 //----- global options ----- @@ -261,7 +262,7 @@ typedef enum enumOptions OPT_NEW, OPT_EXTRACT, - OPT__N_TOTAL // == 200 + OPT__N_TOTAL // == 201 } enumOptions; @@ -329,6 +330,7 @@ typedef enum enumOptions // OB_DELTA = 1llu << OPT_DELTA, // OB_DIFF = 1llu << OPT_DIFF, // OB_EPSILON = 1llu << OPT_EPSILON, +// OB_BMG_ENDIAN = 1llu << OPT_BMG_ENDIAN, // OB_BMG_ENCODING = 1llu << OPT_BMG_ENCODING, // OB_BMG_INF_SIZE = 1llu << OPT_BMG_INF_SIZE, // OB_BMG_MID = 1llu << OPT_BMG_MID, @@ -478,7 +480,8 @@ typedef enum enumOptions // | OB_EXPORT // | OB_NO_PARAM, // -// OB_GRP_BMG = OB_BMG_ENCODING +// OB_GRP_BMG = OB_BMG_ENDIAN +// | OB_BMG_ENCODING // | OB_BMG_INF_SIZE // | OB_BMG_MID // | OB_FORCE_ATTRIB @@ -1121,6 +1124,7 @@ typedef enum enumGetOpt GO_DELTA, GO_DIFF, GO_EPSILON, + GO_BMG_ENDIAN, GO_BMG_ENCODING, GO_BMG_INF_SIZE, GO_BMG_MID, diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def index b0b8a3c..bf829ab 100644 --- a/project/src/ui/ui.def +++ b/project/src/ui/ui.def @@ -1243,9 +1243,17 @@ " short cut for --no-header --brief --brief --delta --delta." \ " Additional, the output is limited to data sections." ) +#:def_opt( "BMG_ENDIAN", "bmg-endian|bmgendian", "CP", \ + "name", \ + "Force an endian for new BMG files. Accepted values are @BIG@ or @BE@" \ + " for big endian, @LITTLE@ or @LE@ for little endian and @AUTO@ for" \ + " automatic detection (default).\n" \ + " Mario Kart Wii uses big endian; the default if no other endian is" \ + " defined." ) + #:def_opt( "BMG_ENCODING", "bmg-encoding|bmgencoding", "CP", \ "name", \ - "Force a BMG encoding for new BMG files. Accepted encoding names are:" \ + "Force an encoding for new BMG files. Accepted encoding names are" \ " @CP-1252@, @UTF-16BE@ (or @UTF-16@), @SHIFT-JIS@, @UTF-8@ and @AUTO@" \ " for automatic detection (default). Same keywords without minus signs" \ " are accepted too.\n" \ @@ -10161,6 +10169,10 @@ "", \ "" ) +#:def_cmd_opt( "TEXT", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "TEXT", "BMG_ENCODING", \ "", \ "" ) @@ -10278,6 +10290,10 @@ "", \ "" ) +#:def_cmd_opt( "CAT", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "CAT", "BMG_ENCODING", \ "", \ "" ) @@ -10343,6 +10359,10 @@ "", \ "" ) +#:def_cmd_opt( "BMG", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "BMG", "BMG_ENCODING", \ "", \ "" ) @@ -11359,9 +11379,17 @@ " With v2.01a, this option was renamed from --msg to the more" \ " meaningful name --filter-bmg. The old name is still available." ) +#:def_opt( "BMG_ENDIAN", "endian|bmg-endian|bmgendian", "CP", \ + "name", \ + "Force an endian for new BMG files. Accepted values are @BIG@ or @BE@" \ + " for big endian, @LITTLE@ or @LE@ for little endian and @AUTO@ for" \ + " automatic detection (default).\n" \ + " Mario Kart Wii uses big endian; the default if no other endian is" \ + " defined." ) + #:def_opt( "BMG_ENCODING", "encoding|bmg-encoding|bmgencoding", "CP", \ "name", \ - "Force a BMG encoding for new BMG files. Accepted encoding names are:" \ + "Force an encoding for new BMG files. Accepted encoding names are" \ " @CP-1252@, @UTF-16BE@ (or @UTF-16@), @SHIFT-JIS@, @UTF-8@ and @AUTO@" \ " for automatic detection (default). Same keywords without minus signs" \ " are accepted too.\n" \ @@ -11598,6 +11626,10 @@ "", \ "" ) +#:def_cmd_opt( "CAT", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "CAT", "BMG_ENCODING", \ "", \ "" ) @@ -11678,6 +11710,10 @@ "", \ "" ) +#:def_cmd_opt( "MIX", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "MIX", "BMG_ENCODING", \ "", \ "" ) @@ -11766,6 +11802,10 @@ "", \ "" ) +#:def_cmd_opt( "IDENTIFIER", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "IDENTIFIER", "BMG_ENCODING", \ "", \ "" ) @@ -11862,6 +11902,10 @@ "", \ "" ) +#:def_cmd_opt( "DECODE", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "DECODE", "BMG_ENCODING", \ "", \ "" ) @@ -11966,6 +12010,10 @@ "", \ "" ) +#:def_cmd_opt( "ENCODE", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "ENCODE", "BMG_ENCODING", \ "", \ "" ) @@ -12042,6 +12090,10 @@ "", \ "" ) +#:def_cmd_opt( "PATCH", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "PATCH", "BMG_ENCODING", \ "", \ "" ) @@ -12384,9 +12436,17 @@ "", \ "Print BMG messages as UTF-8 text without escape sequences." ) +#:def_opt( "BMG_ENDIAN", "bmg-endian|bmgendian", "CP", \ + "name", \ + "Force an endian for new BMG files. Accepted values are @BIG@ or @BE@" \ + " for big endian, @LITTLE@ or @LE@ for little endian and @AUTO@ for" \ + " automatic detection (default).\n" \ + " Mario Kart Wii uses big endian; the default if no other endian is" \ + " defined." ) + #:def_opt( "BMG_ENCODING", "bmg-encoding|bmgencoding", "CP", \ "name", \ - "Force a BMG encoding for new BMG files. Accepted encoding names are:" \ + "Force an encoding for new BMG files. Accepted encoding names are" \ " @CP-1252@, @UTF-16BE@ (or @UTF-16@), @SHIFT-JIS@, @UTF-8@ and @AUTO@" \ " for automatic detection (default). Same keywords without minus signs" \ " are accepted too.\n" \ @@ -12942,6 +13002,10 @@ "", \ "" ) +#:def_cmd_opt( "BMG", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "BMG", "BMG_ENCODING", \ "", \ "" ) @@ -13271,6 +13335,10 @@ "", \ "" ) +#:def_cmd_opt( "CREATE", "BMG_ENDIAN", \ + "", \ + "" ) + #:def_cmd_opt( "CREATE", "BMG_ENCODING", \ "", \ "" ) @@ -19084,9 +19152,9 @@ #:def_opt( "PERFMON", "perf-mon|perfmon", "CO", \ "[=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)." ) + " @AUTO@ (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)." ) #:def_opt( "CUSTOM_TT", "custom-tt|customtt", "CO", \ "[=mode]", \ @@ -19100,6 +19168,13 @@ " @OFF@, @AUTO@ (default) or @ON@ (default, if option is used without" \ " parameter). Disable it only for tests!" ) +#:def_opt( "SPEEDOMETER", "speedometer", "CO", \ + "[=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)." ) + #:def_opt( "TRACK_DIR", "track-dir|trackdir", "CP", \ "directory", \ "Define a destination directory, where track files are copied, moved" \ @@ -19368,6 +19443,10 @@ "", \ "" ) +#:def_cmd_opt( "DUMP", "SPEEDOMETER", \ + "", \ + "" ) + #:def_cmd_opt( "DUMP", "LONG", \ "", \ "For LE-CODE binaries: If set, print cups with tracks or arenas. For" \ @@ -19413,6 +19492,10 @@ "", \ "" ) +#:def_cmd_opt( "DL", "SPEEDOMETER", \ + "", \ + "" ) + #:def_cmd_opt( "DL", "LONG", \ "", \ "For LE-CODE binaries: If set, print cups with tracks or arenas. For" \ @@ -19458,6 +19541,10 @@ "", \ "" ) +#:def_cmd_opt( "DLL", "SPEEDOMETER", \ + "", \ + "" ) + #:def_cmd_opt( "DLL", "LONG", \ "", \ "For LE-CODE binaries: If set, print cups with tracks or arenas. For" \ @@ -19511,6 +19598,10 @@ "", \ "" ) +#:def_cmd_opt( "PATCH", "SPEEDOMETER", \ + "", \ + "" ) + #:def_cmd_opt( "PATCH", "TRACK_DIR", \ "", \ "" ) @@ -19599,6 +19690,10 @@ "", \ "" ) +#:def_cmd_opt( "LPAR", "SPEEDOMETER", \ + "", \ + "" ) + #:def_cmd_opt( "LPAR", "DEST", \ "", \ "" ) @@ -19735,6 +19830,30 @@ "", \ "" ) +#:def_cmd_opt( "CREATE", "ENGINE", \ + "", \ + "" ) + +#:def_cmd_opt( "CREATE", "200CC", \ + "", \ + "" ) + +#:def_cmd_opt( "CREATE", "PERFMON", \ + "", \ + "" ) + +#:def_cmd_opt( "CREATE", "CUSTOM_TT", \ + "", \ + "" ) + +#:def_cmd_opt( "CREATE", "XPFLAGS", \ + "", \ + "" ) + +#:def_cmd_opt( "CREATE", "SPEEDOMETER", \ + "", \ + "" ) + #:def_cmd_opt( "CAT", "COMPLETE", \ "", \ "" ) |
