»wbmgtDIFF« compares the strings of 2 BMG files and reports the differences.

»wbmgtPATCH« patches each source by using a list of patch files.
There are several patching modes:
REPLACE, INSERT, OVERWRITE, DELETE, MASK, EQUAL and NONEQUAL.
Like every source, raw and text BMG files are accepted as patch.

»wbmgtDECODE« converts each source file into text mode.
Patching while decoding is possible.

»wbmgtENCODE« converts each source file into raw mode.
Patching while encoding is possible.

Decoding a raw BMG file and encoding again results in the same BMG file.

3. Commands

This debugging command accepts all options and parameters and prints a list of the internal option values. The command is designed to test the option parameters. The non option parameters are completly ignored.

Print a table with attributes for all known file types. If at least one keyword is entered, only matching file types are printed. A keyword is either a file type (like 'BRRES' or 'BMG') or one of the printed keywords (like 'ARCHIVE' or 'EXTRACT').

Compare two or more BMG (raw or text) files on string level and report mismatches for each string. If option --dest is set, than each source file is compared with a file in the destination. Patches are applied to all sources before comparing.

Read the entered BMG files (text, binary or szs sub file) and print them as decoded text files to standard output. All BMG files of a single archive (SZS,...) are combined to 1 source. The output of all source files is concatenated.

Read the entered BMG files (text, binary or szs sub file) and print them as decoded text files to standard output. All BMG files of all archives (SZS,...) are read. The output of all source files is combined and strings of later source files override prior defined strings.

Read the entered message files and decode them to text files. All BMG files of a single archive (SZS,...) are concatenated to 1 source. This command is similar to PATCH, but the result is always decoded. The default destination is '%P/%N.txt'.

Read the entered message files and encode them to BMG files. All BMG files of a single archive (SZS,...) are concatenated to 1 source. This command is similar to PATCH, but the result is always encoded. The default destination is '%P/%N.bmg'.

4. Options in alphabetic order

Define an align value for the sub sections in the archive. The value must be a power of 2 and the default value is 32 (0x20)

--allow-all

Usually commands accept only options with impact to the command. All other options fire a syntax error. But if --allow-all is set, all commands accept all options.

This makes changing the command of a long command line without removing useless options easier. It also helps to override wrong option permissions.

-A

--arenas

arenas

Define a new arena order. A comma separated list in the format [a=]b or a:=b is expected. 'a' and 'b' are arena names or slot numbers. 'a' is the destination slot and 'b' the assigned arena. If 'a' is omitted, the next slot is used; this means [a=]b,c,d is possible.

Arenas will only be exchanged so that always all arenas are assigned. But if using ':=' the new slots are assigned without exchanging and the old values are lost.

Defines the 'INF0' size of new BMG files between 4 and 1000. The first 4 bytes of a INF0 record is a pointer to the string and the remaining bytes the string attributes. However, maximal 20 attribute bytes are supported and additional bytes are assumed to be NULL. All BMG files of MKW have a size of 8.

[DEPRECATED] Print BMG values between message name and the equal sign using the format '[...]'. The output for the standard value (usually 0x01000000) is always suppressed. Since v1.44, the inline mode is the default. It can be disabled by option --no-bmg-inline to be compatible with versions until v1.39.

If set, the information header in decoded text files is suppressed (for historical reasons same as --no-header). If set at least twice, all comments are suppressed and the output is packed without empty lines. If set 3 times, the #BMG file indentification is also suppressed.

--chdir

dir

Set a new working directory for all following options, for all parameters and for the command execution. This option can be used multiple times, but for parameter parsing and for command execution only the last usage is relevant. Nevertheless, '@param' values are scanned while reading the command line.

--color

Force colorized text. This is the default, if an output file is a terminal. But colorized text is only supported for a few messages.

If a command is prefixed by 'C-', then this option is set automatically.

The option expects a version number (format '#.##' or 'v#.##') or a revision number (format 'r#') as parameter. If set, the tools try to create BMG and KMP text files, that are compatible to the entered version of the tools. This may override other legacy options.

-c

--const

list

Define constant values, that are used by the internal encoders and by the numeric options as predefined global variables. This option allows a conditional encoding of text files. It can be used multiple times for multiple definitions.

The Parameter is a comma separated list of terms and a term is 'name=expression'. The expression is calculated by the text parser.

Define the default attributes for BMG files. If not set, the default attributes are estimated. On text output, strings with default attributes are printed without attribute vector. The usual default attribute for MKW is [1].

The path may contain escape sequences: %Q is replaced by the fully qualified source name. %P and %F are replaced by the source path or by the filename. %N and %E are replaced by source filename without extension or by the source extension. Finally, %T is replaced by the default extension of the destination format.

A '?' direct behind '%' in %E and %T conversions avoid that the same extension is used twice in row.

-D

--DEST

path

Like --dest, but create the directory path automatically.

-E

--esc

char

Define an alternative escape character for destination files. The default is '%'. For Windows batch files it is a good choice to set '-E$'.

This security option defines the maximum file size for input files; larger files are ignored with a warning. The default unit is MiB and the default size is 100 MiB; that should be enough for standard usage.

If this option is set, the BMG messages are filtered by this list. Only enabled messages are exported to the ouput BMG file (binary or text).

The parameter is a list of message ids (short MID, 'Txx' or 'Uxx' or Mxx' or hex number) or message ranges (MID:MID) or one of the keywords NONE, PARAM, CUPS, TRACKS, ARENAS, CHAT, CTCODE, CTTRACKS or ALL. If an element is preceeded by a minus sign, it is removed from the filter list (disabled).

Print BMG values as separate line before the message definition to be compatible with versions until v1.39. The output for the standard value 0x01000000 is always suppressed. This was the default until v1.43. Since v1.44, --bmg-inline is the default.

--no-color

Deactive colorized text. This is the default, if an output file is not a terminal.

If a file already exist, append a number directly before the file extension to make the filename unique. If other numbered files already exist (ignoring case), use the maximum existing index+1. --num is a short cut.

This option specifies a BMG patch mode. Some of the modes need a parameter or a file name of a BMG patch file (raw or text BMG), both separated by an equal sign. Modes with required file names are PRINT, REPLACE, INSERT, OVERWRITE, DELETE, MASK, EQUAL and NOTEQUAL. A mode with text parameter is FORMAT. Standalone modes are ID, ID-ALL, UNICODE, RM-ESCAPES, RM-CUPS, CT-COPY, CT-FORCE-COPY and CT-FILL. Unique abbreviations are allowed.

If this option is used multiple times, all patch files will be processed in the entered order. --patch is a short cut.

This option creates the new message 3FF0 to hold a description of the versus points table. It defines a new table for the points assigned to players after a versus or room race. The parameter is a blank or comma and slash (next row) separated list with numbers (points) between 0 and 255 and the following keywords: NINTENDO, LINEAR, WIN, WIN15, WIN25 to select a predefined table; NO-BONUS, BONUS, NULL, ONE as options; N1..N12 to select the row for N players.

-p

--preserve

Preserve file times (atime+mtime) while converting or copying files.

-q

--quiet

Be quiet and print only error messages. Multiple usage is possible. The impact is command dependent.

-r

--remove-dest

Remove already existing files before creating it. If set, --overwrite is ignored. --rm-dest is a short cut.

If set, don't print continuation lines for BMG text output. If set twice, print only single text lines and suppress attributes like option --no-attrib does it.

-t

--test

Run in test mode, modify nothing.

>>> USE THIS OPTION IF UNSURE! <<<

-T

--tracks

tracks

Define a new track order. A comma separated list in the format [a=]b or a:=b is expected. 'a' and 'b' are track names or slot numbers. 'a' is the destination slot and 'b' the assigned track. If 'a' is omitted, the next slot is used; this means [a=]b,c,d is possible.

Tracks will only be exchanged so that always all tracks are assigned. But if using ':=' the new slots are assigned without exchanging and the old values are lost.

-u

--update

Create only files that do not exist. Already existing files are ignored without warning. If set, --overwrite and --remove-dest are ignored.

-v

--verbose

Be verbose and print more progress information. Multiple usage is possible. The impact is command dependent.

-V

--version

Stop parsing the command line, print a version info and exit.

--width

width

Define the width (number of columns) for help and some other messages and disable the automatic detection of the terminal width.