prevnext   » SZS: Wiimms SZS Toolset » wimgt: Wiimms Image Tool

wimgt: Wiimms Image Tool

Wiimms Image Tool : Extract and convert graphic images. The file formats TPL, TEX, BTI, BREFT and PNG are supported.


1.   Syntax

wimgt [option]... command [option|parameter|@file]...

2.   Features of wimgt

Read »Features« for features of the whole toolset.

3.   Commands

VERSION V Print program name and version and exit.
HELP H Print help for commands and options.
CONFIG Show all information about the search for the configuration file and its content.
ARGTEST This debug command accepts all kinds of parameters and prints one line for each parameter. All tools know the ARGTEST command.
EXPAND This debug command accepts (like ARGTEST) all kinds of parameters and prints one line for each parameter. After that, the parameter is treated as a filename with wildcards and all matching files are searched. All tools know the EXPAND command.
TEST 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 completely ignored.
COLORS Ignore all parameters and print colored text for testing.
ERROR ERR Translate an exit code to a message name. If no exit code is entered, print a table with all error messages. All tools know the ERROR command.
FILETYPE FT Scan the header of the entered files and print file type and path for each file as list. Wildcards and pipe characters are parsed. All tools know the FILETYPE command.
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'). All tools know the FILEATTRIB command.
LIST LS List images files and print file and image type. Wildcards and pipe characters are parsed.
LIST-L LL List images files and print file and image type and geometry data. Wildcards and pipe characters are parsed. 'LIST-L' is a short cut for LIST --long.
LIST-LL LLL List images files and print file and image type and advanced geometry data. Wildcards and pipe characters are parsed. 'LIST-LL' is a short cut for LIST --long --long.
DECODE DEC Decode (export) the entered image files into PNG files. Wildcards and pipe characters are parsed. The default destination is '%P/%F.png'. If SOURCE starts with colon (:), then it may be a generic image instead of a real file.
ENCODE ENC Encode (import) the entered PNG files and convert them to to an internal image format (TPL, TEX, BREFT, ...). Wildcards and pipe characters are parsed. The default destination is '%P/%N' (removed extension). If SOURCE starts with colon (:), then it may be a generic image instead of a real file.
CONVERT CV Convert the entered image files into new file and image formats. Wildcards and pipe characters are parsed. The old file is replaced by the new one. The difference to ENCODE is only the default file name handling. If SOURCE starts with colon (:), then it may be a generic image instead of a real file.
COPY CP Copy and convert an image from 'source' to 'dest'. Multiple sources can be used, if 'dest' is a directory or contains at least one %-pattern. Wildcards and pipe characters are parsed.

This is an alternative for the ENCODE and DECODE commands. The default destination file format is selected by scanning the file extension of the destination. Option --transform may override this. Option --overwrite is set implicitly.

If SOURCE starts with colon (:), then it may be a generic image instead of a real file.

4.   Options in alphabetic order

Option Param Description
-a --all Convert all files and not only the files with changed file or image formats.
--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.

-B --brief Create smaller output.
--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.
--cmpr-default rgb1[,rgb2] Define 2 colors for the case, that all 16 pixels of a CMPR block are transparent. The default is to calculate an average color of all transparent pixels. Before v2.04 white was used.

2 RGB values (hex values with 6 digits each) are expected as parameter. If optional RGB2 is missed, a copy of RGB1 is used. As first step, both colors are converted to RGB565 colors C1 and C2 and sorted, so that C1<C2 (mandatory for CMPR). If C1 and C2 are identical, the least significant bit of green is cleared for C1 and set for C2.

Use parameter '0' to force black, '-1' to force white, or '-' to reset to auto calculation.

--colors [=modus] Define the modus for colored text output. Allowed keywords are: OFF or NO-COLORS to disable colors, AUTO (default) for automatic detection, ON for automatic detection but never OFF, 8-COLORS and 256-COLORS to force 8 or 256 color support. Without parameter, ON is used.

AUTO will enable colorized output only for terminals. AUTO and ON use environment variable TERM to find the correct color modus.

If a command is prefixed by 'C-', then --color=ON is used implicitly as default.

--compatible vers 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.
--config file Define a configuration file or a directory as source. In later case, file 'wiimms-szs-tools.conf' is searched.

If option is not not set, then file 'wiimms-szs-tools.conf' is searched in different directories. Use command 'wszst CONFIG' to get more details.

-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.

--ct-code Enable CT-CODE support.
--de Use german track and arena names.
-d --dest path Define a destination path (directory/file). The destination - means: write to standard output.

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$'.
-Y --extended-errors Enable extended error messages. This includes a source file and line reference. Logging level 1 activates it too. --xerr is a short cut.
--fast-mipmaps If resizing an image, use the old fast resize algorithm (default until v1.64a) instead of the new smart one. Both algorithms differ only, when creating a mipmap for images with odd width or odd height. The old algorithm is faster (factor 2-4) than the default algorithm, but the new algorithm creates better resized images. --fast-mm is a short cut.
--force The tools analyse input files and reject files with invalid data structures. If --force is set, little repairable issues are ignored and a warning is printed.

Option --kmp force does the same, but only for KMP files.


-h --help Stop parsing the command line, print a help message and exit.
-i --ignore Ignore non existing source files without warning.
--in-order Process the input files in order of the command line and don't delete duplicates.
--le-04x Use format %04x instead of %03x for LE-CODE slots to enable uniform slot numbers if slots >4095 are used.
--le-code [=param] Enable LE-CODE and CT-CODE support. The optional parameter is deprecated and ignored.
-L --logging This debug option enables the logging of internal lists and maps. Set it up to three times to be more verbose.
-l --long Print long numeric message IDs instead of alternative message names like Txx, Uxx or Mxx.
-M --max-file-size size 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 (2 GiB for LTA); that should be enough for standard usage.
--max-mipmaps num Control the automatic mipmap creation. Values between 0 and 20 are allowed and the default is 4. The mipmap creation for an image stops, if the set number is reached. This option is ignored, if --n-mipmaps is enabled. --max-mm is a short cut.
--max-width maxwidth Define the maximum terminal width (number of columns) for help and some other messages. The default is 120. This option is ignored if --width is set.
--mipmap-size num Define the minimal width and minimal height of a generated mipmap. Any value >0 is allowed. The default is 8. This option is ignored, if --n-mipmaps is enabled. --mm-size is a short cut.
--mipmaps If reading a source, scan for mipmaps and load them too. For PNG files, files named with #=1.. are searched. This is the default. --mm is a short cut.
--n-mipmaps num Force the number of mipmaps. Values between 0 and 20 are allowed. Value OFF (default) disables this option. If enabled, options --max-mipmaps and --mipmap-size are ignored. The creation of mipmaps stops if the width or the height of the mipmap becomes 0. --n-mm is a short cut.
--no-colors Deactive colorized text. This is the default, if an output file is not a terminal.
-H --no-header Suppress the syntax information section in BMG text files.
--no-mipmaps If reading a source, ignore mipmaps. This disables not the creation of mipmaps (see -n-mipmaps). --no-mm is a short cut.
--no-pager Forbid the internal usage of a pager.
--no-wildcards Disable wildcard parsing and use each filename exactly as specified.
--number 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.
-o --overwrite Overwrite already existing files without warning and ignore option --number.
-P --patch mode1.mode2...=file This option specifies patch mode list and a file, separated by an equal sign. Mode is a point separated list of the keywords: TOP (T), BOTTOM (B), VCENTER (V), INS-TOP (IT) and INS-BOTTOM (IB) for the vertical alignment, LEFT (L), RIGHT (R), HCENTER (H), INS-LEFT (IL) and INS-RIGHT (IR) for the horizontal alignment, COPY (CP), BACKGROUND (BG), FOREGROUND (FG) and MIX (MX) as color calculation mode and SHRINK (SH), GROW (GR) and LEAVE (LV) as image size mode.

Abbreviations are allowed. The default is VCENTER.HCENTER.MIX.LEAVE or in short form V.H.MX.LV. If this option is used multiple times all patch files will be used in the entered order.

If FILE starts with colon (:), then it may be a generic image instead of a real file.

--pre-convert Convert the image before the image format for the destination file is selected. This results in a perhaps worser graphic and is only useful to control graphic conversions.
-p --preserve Preserve file times (atime+mtime) while converting or copying files.
-q --quiet Be quiet and print only error messages. Multiple use is possible. Previous use of --verbose is reverted. The impact is command dependent. If set at least three times, almost all error messages will be suppressed.
-r --remove-dest Remove already existing files before creating it. If set, --overwrite is ignored. --rm-dest is a short cut.
--repair-magics [=mode] Control the reparing of missing or wrong magics of files and sub-files by analysing file path and file extension. MODE is one of OFF (default), ANALYZE or REPAIR (default, if set without mode). OFF disables this feature, ANALYZE enables it for analysis only, and REPAIR repairs all magics while reading the files. Keyword FNAME can be appended (separated by a comma) to give filename scanning the highest priority.


--sections Print in machine readable sections and parameter lines.
--strip If creating a PNG file, don't add comments about creator and source formats.
-t --test Run in test mode, modify nothing.


--timing Activate the timing of some operations. Logging level 3 activates them too.
-x --transform list Convert image formats. A comma separated list with terms is expected. A term have the syntax '[SRC=]DEST'. It means: convert SRC format into DEST format. If SRC= is not set, the destination format is used for all source formats. This makes only sense as last rule. If DEST is empty no transformation is done for the source. Examples: 'TPL' or 'GRAY' or 'BTI.IA8' or 'TPL.I4+I8=IA8,TEX=,CMPR'

SRC and DEST are tuples of file, image and palette formats and of 2 more attributes. All parts are optional and separated by points, the order is irrelevant.

Allowed file formats are: TPL, TEX, BTI, BREFT-IMG (=BTIMG), PNG (import). Allowed image formats are: I4, I8, IA4, IA8, RGB565 (=R565), RGB5A3 (=R3), RGBA32 (=R32), C4, C8, C14X2, CMPR. Allowed palette formats are: P-IA8 (=P8), P-RGB565 (=P565), P-RGB5A3 (=P3). Attributtes are PALETTE, NO-PALETTE, GRAY, COLOR, ALPHA and NO-ALPHA.

All terms are managed as list. For each graphic the list is iterated until the first SRC tuple of a term matches the graphic. Then the destination tuple is used for the transformation.

The command wimgt TEST prints a clearly arranged readable table as result of this option.

-u --update Update only existing files and don't create new files. If set, --overwrite and --remove-dest are ignored.
-v --verbose Be verbose and print more progress information. Multiple use is possible. Previous use of --quiet is reverted. The impact is command dependent.
-V --version Stop parsing the command line, print a version info and exit.
-W --warn list Enable or disable warnings. Parameter 'list' is a comma separated list of keywords. A minus sign before a keyword disables a warning. Each occurrence of the option will only change entered warning and all other warnings are untouched.

Keyword DEFAULT resets the default settings, OFF disables and ALL enables all. The other allowed keywords are: INVALID-OFFSET.

--width width Define the terminal 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.
-z --zero This option affects the exit status of the programs. Instead of an exit status, the value 0 is returned for OK. This happens for notices (-v, status<15), warnings (-vv, status<29), errors (-vvv, status<115) and fatal errors (-vvvv). The exit status for INTERRUPT (112) is never replaced.