| VERSION | Print program name and version and exit. | |
| HELP | H | Print help and exit. If the first non option is a valid command name, then a help for the given command is printed. |
| TEST | Test options: All options are allowed, some are printed. | |
| ERROR | ERR | Translate an exit code to a message name. If no exit code is entered, print a table with all error messages. |
| FILETYPE | FT | Scan the header of the entered files and print file type and path for each file as list. |
| FILEATTRIB | FA | 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'). |
| SYMBOLS | Print pedefined symbols of text parser to standard output (stdout). | |
| FUNCTIONS | Print a list with all parser functions. If one key ore more key entered, then only functions that match at least one key are printed. | |
| CALCULATE | Calculate each expression and print the result to standard output. | |
| AUTOADD | Add files to the main auto-add archive for future use of option --auto-add. If a source is a directory, all standard track and arena file names are searched in it. Without any source files an archive status is printed. Try »wszst AUTOADD ./path_to/Race/Course/« to add all supported files. |
|
| TRACKS | Print a list of all known track SZS files of Mario Kart internal directory './Race/Course'. These files are 32 standard track files and 10 arena files. The first column shows an unique ID of exact 3 upper case characters or digits. For '_d' files, a 'd' is appended. | |
| LIST | LS | List all sub files of SZS, U8, BRRES, BREFF, BREFT and RARC archives. If listing a directory, then a virtual SZS file is created (like CREATE does it) and listed. |
| LIST-L | LL | List all sub files with size. 'LIST-L' and 'LL' are short cuts for »LIST --long«. |
| LIST-LL | LLL | List all sub files with offset and size. 'LIST-LL' and 'LLL' are short cuts for »LIST --long --long«. |
| LIST-LLL | LLLL | List all sub files with offset and size in debugging mode. 'LIST-LLL' and 'LLLL' are short cuts for »LIST --long --long --long«. |
| LIST-A | LA | List recursive all sub files with size. 'LIST-A' and 'LA' are short cuts for »LIST --long --all --all«. |
| LIST-LA | LLA | List recursive all sub files with offset and size. 'LIST-LA' and 'LLA' are short cuts for »LIST --long --long --all --all«. |
| ILIST | IL | List the images files of all sub files of SZS, U8, BRRES, BREFF, BREFT and RARC archives; non image files are ignored. If listing a directory, then a virtual SZS file is created (like CREATE does it) and listed. |
| ILIST-L | ILL | List all image files with geometry data. 'ILIST-L' and 'ILL' are short cuts for »ILIST --long«. |
| ILIST-LL | ILLL | List all sub files with advanced geometry data. 'ILIST-LL' and 'ILLL' are short cuts for »ILIST --long --long«. |
| ILIST-A | ILA | List recursive all image files. 'ILIST-A' and 'ILA' are short cuts for »ILIST --all«. |
| ILIST-LA | ILLA | List recursive all image files with geometry data. 'ILIST-LA' and 'ILLA' are short cuts for »ILIST --long --all«. |
| MEMORY | MEM | Dump a memory map of each source file. Virtual images (extracted directories) are also supported. |
| MEMORY-A | MEMA | Dump recursive a memory map of each source file. 'MEMORY-A' and 'MEMA' are short cuts for »MEMORY --all --all«. |
| DUMP | Dump the internal structure of a BRRES files, compressed or not. Other archives are ignored. The main goal is to verify string relocation. Virtual images (extracted directories) are also supported. | |
| SHA1 | Print a SHA1 checksum for each source. The checksum is build for the uncompressed data. | |
| DIFF | CMP | Compare two or more sources (each SZS, U8, BRRES, BREFF, BREFT, RARC or directory) on file level and report mismatches for each sub file. If option --dest is set, than each source file is compared with a file in the destination. |
| CHECK | Make a validity check for track files: Try to read KMP (and check it) and find unknown, modified, needed and unneeded files. This command uses an internal object and file database. The source can be a SZS or U8 file, or an U8 like directory. | |
| NORMALIZE | NORM | Normalize an U8 archive, compressed or not: The files are sorted in `Nintendo like' order and unused data holes are removed. If directory '.' is available it becomes the root directory for all others. Compressed sources are compressed again with maximum compression (level 9). The destination is only written if any data changed. |
| COMPRESS | COM | Compress and create a SZS archives. If the source is already compressed, then decompress and compress it again. The default destination is |
| DECOMPRESS | DEC | Decompress SZS files. The default destination is |
| CREATE | C | Create SZS, U8, BRRES, BREFF, BREFT or RARC archives by adding all not hidden files of the directory structure. The default destination is |
| UPDATE | U | Update an existing SZS, U8, BRRES, BREFF, BREFT and RARCarchive. This is done in simlar way as the EXTRACT command, but instead of extrating, source files are searched in a prior extracted archive. Only files with the same size are updated. The secondary source is used to find the source sub files. The default secondary source is |
| EXTRACT | X | Extract all sub files of SZS, U8, BRRES, BREFF, BREFT and RARC archives. The default destination is |
| XDECODE | XD | Command |
| XALL | XA | Command |
| CAT | Extract one or more sub files of SZS, U8, BRRES, BREFF, BREFT and RARC archives. The output of all source files is concatenated and written to stdout. | |
| KMP | For each archive the KMP file named |
|
| INFO | For each archive a file named |
| Options | |||
|---|---|---|---|
| Option | Param | Description | |
| --align | size | Define an align value for the sub files in all archives. This is a short cut for »--align-u8=size --align-brres=size --align-breff=size --align-breft=size«. | |
| --align-breff | size | Define an align value for the sub files in BREFF archives. The value must be a power of 2 and the default value is 4 This value is only relevant if creating or normalizing BREFF archives. | |
| --align-breft | size | Define an align value for the sub files in BREFT archives. The value must be a power of 2 and the default value is 0x20 This value is only relevant if creating or normalizing BREFT archives. | |
| --align-brres | size | Define an align value for the sub files in BRRES archives. The value must be a power of 2 and the default value is 4 This value is only relevant if creating or normalizing BRRES archives. | |
| --align-u8 | size | Define an align value for the sub files in U8 archives. The value must be a power of 2 and the default value is 32 (0x20) This value is only relevant if creating or normalizing U8 archives. | |
| -a | --all | Extract and decode all known and supported files recursively. This is a short cut for »--recurse --decode --mipmaps«. If entered twice, option --cut is included too. | |
| -A | --arenas | arenas | Define a new arena order. A comma separated list in the format
Arenas will only be exchanged so that always all arenas are assigned. But if using |
| --auto-add | Analyze the KMP (if exist) and add missing BRRES, BREFF, BREFT, BRASD and KCL files automatically, if the tool can find the files in any sub directory named 'auto-add'. This sub directory is searched in all directories of
|
||
| --breff | Create an BREFF archive. | ||
| --breft | Create an BREFT archive. | ||
| -B | --brief | Suppress information lines in decoded KMP text files. This includes syntax information (--no-header). If set twice, the output of unneeded sections is also suppressed. | |
| --brres | Create an BRRES archive. | ||
| --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, |
|
| -C | --compr | level | Define a compression level between
Option --norm takes precedence over --compr and sets the compression level to |
| -c | --const | list | Define a const value, that is used by the internal encoders as predefined global variable. This option allow conditional encodings of text files. It can be used multiple times to allow multiple definitions.
Parameter |
| --cut | Cut different non archive files into smaller peaces (headers, groups, sections, ...) and list these peaces as single sub files for a more detailed analysis. Supported file types are: |
||
| --decode | If a extracted file is known and can be decoded, do it. |
||
| -d | --dest | path | Define a destination path (directory/file). The destination
The path may contain escape sequences:
A |
| -D | --DEST | path | Like --dest, but create the directory path automatically. |
| --encode-all | Encode all files. Normally a file is only encoded, if the source is younger than the destination or the destination is missing. Only files in the |
||
| --encode-img | Encode all imegae files. Normally a image file is only encoded, if the source is younger than the destination or the destination is missing. Only files in the |
||
| -E | --esc | char | Define an alternative escape character for destination files. The default is '%'. For Windows (Cygwin) it is a good choice to set |
| -e | --ext | For BRRES archives only: If a file is extracted, add a handy file extension like '.mdl' to the file name. If set twice and a textual file magic is available, use the file magic in lower instead like '.mdl0'. | |
| --fast | Short cut for --compr=fast: Set the fastest real compression. Ignored, if option --norm is set. | ||
| -h | --help | Stop parsing the command line, print a help message and exit. | |
| --hrot | degree[@origin] | Transform the data: Rotate all KMP coordinates and rotation values horizontal counterclockwise by the angle 'degree'. Each parameter is either a vector expression or a comma separated list of coordinates ('x,z' or 'x,y,z'). If the origin is not set, use Transformations are calculated in the order SCALE, SHIFT, ROTATE. |
|
| --id | Print an ID with 8 characters instead of a SHA-1 sum with 40 charaters. The SHA-1 sum is used to calculate the ID. The ID consists of '0'-'9' and 'a'-'w' (32 characters). | ||
| -i | --ignore | Ignore non existing source files without warning. | |
| --ignore-setup | Ignore hidden setup file ' |
||
| -L | --logging | This debug option enables the logging of internal lists and maps. | |
| -l | --long | Print in long format. Multiple usage possible. | |
| -M | --max-file-size | size | This security options defines the maximum file size for uncompressed archives. The default unit is MiB and the default size is 20 MiB; that should be enough for standard usage. |
| --mipmaps | If reading a source, scan for mipmaps and load them too. For PNG files, files named |
||
| --n-mipmaps | num | Force the number of mipmaps. Values between 0 and 20 are allowed. Value |
|
| -N | --no-check | Do not make plausibility check for KMP files. | |
| --no-compress | Create an uncompressed file instead of a compressed SZS file. The default destination changes to |
||
| --no-echo | Suppress output of @ECHO commands while scanning KMP text files. | ||
| --no-encode | Do not encode files before creating an archive. |
||
| -H | --no-header | Suppress printing of header and footer. | |
| --no-mipmaps | If reading a source, ignore mipmaps. This disables not the creation of mipmaps (see -n-mipmaps). --no-mm is a short cut. | ||
| -P | --no-param | Disable parameter support in decoded KMP text files. | |
| --no-recurse | Do not create archives recursively. Normally files in the |
||
| -n | --norm | The uncompressed data will be normalized. See command NORMALIZE for more details. | |
| -o | --overwrite | Overwrite already existing files without warning. | |
| -p | --preserve | Preserve file times (atime+mtime) while converting or copying files. | |
| --pt-dir | [=mode] | Set one of the `point directory' modes This option is only relevant if creating an U8 archive. It decides, if a special directory with name '.' will be added as base for all other files. |
|
| -q | --quiet | Be quiet and print only error messages. Multiple usage is possible. The impact is command dependent. | |
| --raw | Extract BRRES sub file in raw mode and do not adjust string pointers and other offsets. | ||
| -R | --recurse | [=level] | If a extracted file is a known and supported archive, than extract it recursively until the entered level is reached. Level 0 (= -R does'nt accept a parameter and is a short cut for --recurse=unlimited. |
| -r | --remove-dest | Remove already existing files before creating it. If set, --overwrite is ignored. | |
| --scale | vector[@origin] | Transform the data: Scale all KMP coordinates and size values by 'vector'. Negative values mirror the coordinates. Each parameter is either a vector expression or a comma separated list of coordinates ('x,z' or 'x,y,z'). If the origin is not set, use Transformations are calculated in the order SCALE, SHIFT, ROTATE. |
|
| --shift | vector | Transform the data: Add 'vector' to all KMP coordinates. 'vector' is either a vector expression or a comma separated list of coordinates ('x,z' or 'x,y,z'). Transformations are calculated in the order SCALE, SHIFT, ROTATE. |
|
| -1 | --single-line | Don't use continuation lines for BMG text output. | |
| -S | --sort | mode | Define a sort mode. Allowed keywords are: |
| -s | --source | path | Define a secondary source path (directory/file).
The path may contain escape sequences:
A |
| -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
Tracks will only be exchanged so that always all tracks are assigned. But if using |
| -x | --transform | list | Convert image formats when reading. A comma separated list with terms is expected. A term have the syntax
Allowed file formats are: The terms are managed as list. For each graphic the list is iterated until the first SRC tupel of a term matches the graphic. Then the destination tupel is used for the transformation. The command »wimgt TEST« prints a clearly arranged readable table as result of this option. |
| --u8 | Create an U8 archive. This is the default if the setup file ' |
||
| -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. | |
| --xhelp | Stop parsing the command line and print a help message with all commands included. Exit after printing. | ||
| --xss | x1old,x1new,x2old,x2new | --xss (x-scale-shift) calculates the X values of --scale and --shift, so that the old values are transformed to the new values. | |
| --yss | y1old,y1new,y2old,y2new | --yss (y-scale-shift) calculates the Y values of --scale and --shift, so that the old values are transformed to the new values. | |
| --zss | z1old,z1new,z2old,z2new | --zss (z-scale-shift) calculates the Z values of --scale and --shift, so that the old values are transformed to the new values. | |