prevnext   » SZS: Wiimms SZS Toolset » wkmpt: Wiimms KMP Tool

wkmpt: Wiimms KMP Tool

Wiimms KMP Tool : Analyze, modify, export and create (compile) KMP files.

Contents

1.   Syntax

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

2.   Features of wkmpt

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.
SYMBOLS Print predefined symbols of text parser to standard output. The KMP specific symbols are included.
FUNCTIONS Print a list with all parser functions including the KMP specific 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. Many tools know the CALCULATE command.
MATRIX Use the transformation options as base and calculate and print the related vectors and the transformation matrices. Then do a forward and backward transformation for each vector parameter using the matrices and print the results.
FLOAT This commands helps to convert hex values into floating point numbers and vice versa. For each non empty parameter, a line with 4 bytes hex and a float, 8 bytes hex and a double float, and the parameter itself is printed. If a parameter begins with 'x' or '0x', it is a hex string, otherwise it is a floating point number.

The special parameters "+" and "-" mean: Increment or decrement the previous value by the smallest possible value. Use different increments for floats and doubles.

All conversions are done using big endian.

STARTPOS SP Print an ASCII image or a table of the start positions. The parameter list is a wild mix of filenames, keywords and numbers.

If a parameter contains a slash ('/' or '\'), it is a filename of a KMP or SZS file and a KMP is loaded. The KMP is used to print absolute positions and to find the settings for LEFT/RIGHT and WIDE/NARROW automatically.

A parameter may also be one of the following keywords to define a setting: RESET, IMAGE, TABLE, RELATIVE, ABSOLUTE, LEFT, RIGHT, WIDE, NARROW, AUTO, NO-AUTO, DECIMAL, HEXADECIMAL, Z0, Z1, Z2, Z3. A table or image is only printed on numbers 1 to 12.

OBJECTS OBJ Infos about all objects, that match any of the entered keys, are printed. A key match, if the text is part of the object name, file list or info (ignoring case). If a key is a number (decimal or hex), the object with that id matches too. This command uses an internal object and file database.
CAT Read the entered KMP files (text, binary or szs) and print them as decoded text files to standard output. Wildcards and pipe characters are parsed. The output of all source files is concatenated.
DECODE DEC Read the entered KMP files (text or binary) and decode them to text files. Wildcards and pipe characters are parsed. The default destination is '%P/%N.txt'.
ENCODE ENC Read the entered KMP files (text or binary) and encode (compile) them to binary files. Wildcards and pipe characters are parsed. The default destination is '%P/%N.kmp'.
DIFF CMP Compare the KMP of two or more sources (KMP, KMP-text or SZS). Each KMP will be converted into the internal format, and then fixed and patched controlled by options. Only the known sections are compared. If option SORT (see --diff) is set, elements of section GOBJ are sorted by object-id.

This command is in development. So for the section POTI only a simple notice about the different data record is printed.

If option --dest is set, then each source file is compared with a file in the destination.

DRAW D Read the entered KMP files (text or binary), of needed load the related KCL file, draw KMP objects and create an OBJ file. Wildcards and pipe characters are parsed. The default destination is '%P/%N.kmp.obj'.

Automated dropping of bad KCL triangles is enabled if no drop option is specified by option --kcl.

CHECK CHK Read the entered KMP files (text or binary) and and make a plausibility check. Wildcards and pipe characters are parsed. Hints and warnings are written to standard output. The exit status is 'DIFFER' if at least one KMP warning found.
STGI Find the first KMP:STGI of each file and print an analysis of it as single line statistic. Additional the number of lap counter check points ('LC') is printed. Track and KMP (binary and text) files are accepted as input. Wildcards and pipe characters are parsed.
KTPT Analyse the start positions (KMP:KTPT) and lap counters (KMP:CKPT with mode 0) and print a simple information list. Use enemy points (KMP:ENPT) to find recommendations.

This command is dedicated to LE-CODE, which supports an alternative position for the finish line at the minimap.

ROUTES Print the internal cross references for routes of KMP sections CKPH, CKPT, ENPH, ENPT, ITPH and ITPT. Wildcards and pipe characters are parsed.
GAMEMODES GMODES Analyze the presence flags combinations with and without extension support and print a list. The lists consists of index, scenario version and scenario name. Scenario versions are only equal, if the scenarios are duplicates. Duplicates happens only, if --gamemodes option TT or FULL is set. Wildcards and pipe characters are parsed.
WIM0 W0 Analyze the WIM0 section of each KMP file (text, binary or szs) and print an info about it.

4.   Options in alphabetic order

Options
Option Param Description
--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.

--arot degree[@pos1]@pos2 Transform the data and do an axis rotation: Close the current transformation step like --next and rotate the data by 'degree' around the axis defined by the 2 points. If 'pos1' is not set, use 0,0,0 instead. Store the resulting matrix as single transformation step and open a new one.

This kind of transformation is EXPERIMENTAL!

--ascale factor@dir Transform the data and do an axis scale: Close the current transformation step like --next and scale the data by 'factor' into the direction given by the vector 'dir'. Store the resulting matrix as single transformation step and open a new one.

This kind of transformation is EXPERIMENTAL!

--battle [=mode] MODE is either OFF, AUTO (default) or ON. Without value, ON is used.

If mode is ON, assume a battle arena and enable a special battle support. If mode is OFF, disable special battle arena support. If mode is AUTO, analyse the KMP and estimate, if it is a battle areana. Modes ON and OFF override KMP parameter BATTLE-MODE.

-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.
--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.
--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.
--diff list List of KMP sections names that should be compared. To select a section, use a combiantion of the following keywords: AREA, CAME, CNPT, CKPH, CKPT, ENPH, ENPT, GOBJ, ITPH, ITPT, JGPT, KTPT, MSPT, POTI, STGI, NONE, GOOD, DEFAULT of ALL (default). Additional keywords are SORT (default) and NOSORT
-w --draw list The parameter is a comma separated list of keywords to select the elements to draw. Allowed keywords are: CKPT, CJGPT, JGPT, KTPT, ENPT, ITPT, POTI, CNPT, ITEMBOXES, COINS, ROADOBJECTS, SOLIDOBJECTS, DECORATION, BLACK, WHITE, KCL, NONE and ALL (default); the classes POINTS, OBJECTS and RESPAWN; the presence-flag selectors [1-3]OFFLINE and [1-3]ONLINE; the special options DETAILED, DISPATCH and WARNINGS. If a keyword is prefixed by a minus sign, the option is disabled. Option KCL decides, if the reference KCL is included in the output. If DETAILED is disabled, an output with less faces is created. If DISPATCH is enabled, the settings of dispatch points are visualized. If WARNINGS is enabled, some objects are drawn in red.
--epsilon float When comparing floating point numbers, 2 numbers are considered identical if their difference is less than or equal to epsilon. The default value is 0.01.
-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$'.
-X --export Enable the export mode and create small and machine readable text files for easy post processing. The option works similar like -HBB for KMP text files.
--export-flags [=mode] MODE is either OFF, AUTO (default) or ON. Without value, ON is used. --exflags is an alternative name for the option.

If mode is ON, this feature is forced: On creating a KMP text file, the option EXPORT-FLAGS is always set to 1. On creating a binary KMP file, the flags are always exported as lowest byte of the scale factors or x-rotation.

If mode is OFF, this feature is totally disabled. If mode is not AUTO, KMP parameter EXPORT-FLAGS is overridden.

-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.
--flag-file filename Define a flag file if scanning an OBJ file (KCL processing). The file name may contain %-escapes. Set it to an empty string to disable flag files at all.

The tool search the flag file in the following order until found: File defined by --flag-file; OBJ file name with replaced extension ('a.obj' becomes 'a.flag'); OBJ file name with appended extension ('a.obj' becomes 'a.obj.flag').

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

>>> THE RESULT MAY BE INVALID OUTPUT FILES! <<<

--gamemodes list Filter the list of combinations. The parameter is a comma separated list of keywords: AUTO: Add a automatic mode without conditions first. STANDARD (or STD): Add standard modes. 1STANDARD (or 1STD): Add standard modes first. BALLOON: Add balloon battle modes. COIN: Add coin runners modes. BATTLE: Short cut for 'BALLOON,COIN'. VERSUS (or VS): Add versus modes. ITEMRAIN: Add itemrain modes. RACE: Short cut for 'VERSUS,ITEMRAIN'. ALL (default): Short cut for 'STANDARD,BATTLE,RACE'. NO-MODES: Exclude 'ALL' and create auto modes only. ENGINE: Include engine classes (default). NO-ENGINE: Exclude engine classes. RANDOM: Include random modes (default). NO-RANDOM: Exclude random modes. OFFLINE: Filter offline modes. ONLINE: Filter online modes. NO-TT: Exclude time trial. TT: Force a time trial scenario, even if it is a duplicate. FULL: Don't eliminate duplicates from list (up to 1573 modes). NSORT: Sort the list by name. ISORT: Sort the list by index. DEBUG: Print a debug info about this option.
-G --generic Forget scanned entry names and use generic names for output.
-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.
--kcl list Set global options for KCL processing. Parameter 'list' is a comma separated list of keywords. A minus sign before a keyword disables a setting. Each occurrence of the option will only change entered settings and all other settings are untouched.

Keyword DEFAULT resets the default settings and CLEAR disables all. Keywords SMALL, MEDIUM and CHARY select the default parameters for the octree creation. The other allowed keywords are: FAST, NEW, CENTER, ROUND, NORMALS, MTL, WIIMM, TRIANGLES, OUT-SWAP, G, USEMTL, CLIP, IN-SWAP, AUTO, HEX4, HEX23, HEX, DROP-UNUSED, DROP-FIXED, DROP-INVALID, DROP, RM-FACEDOWN, RM-FACEUP, FIX-ALL, TINY-0 ... TINY-7, CONV-FACEUP, WEAK-WALLS, SORT, INPLACE, SILENT and LOG.

--kcl-flag joblist Modify the KCL flag of KCL files. A comma separated job list in the format 'srclist=dest' is expected. 'srclist' is a plus sign separated list with single values like <val>, T<type> and <val>/<mask> or ranges like <val>:<val>, T<type>:<type> and <val>:<val>/<mask>. '<val>' is a complete KCL flag in the range of 0..0xffff. '<type>' are only the base types in the range of 0..0x1f. If <mask> is present, it marks the relevant bits. For the T<type> variant, the mask is set to 0x1f.

All KCL flags of the source list are assigned to the new value 'dest', but only the set bits of '<mask>' are modified. A later definition overrides the previous one.

--kcl-script script After reading a KCL source file and executing all transformations, the text file 'script' is executed by the internal text parser. The script should use the parser functions tri$*() to read and modify the triangle positions and flags, or to add or remove complete triangles.

If this option is used multiple times, each script is executed in the entered order.

--kmp list Set global options for KMP processing. Parameter 'list' is a comma separated list of keywords. A minus sign before a keyword disables a setting. Each occurrence of the option will only change entered settings and all other settings are untouched.

Keyword DEFAULT resets the default settings and CLEAR disables all. The other allowed keywords are: FORCE, NEW, RM-SPCITEM, LEFT, RIGHT, WIDE, NARROW, FIX-CKPH, FIX-ENPH, FIX-ITPH, FIX-PH, FIX-CKNEXT, FIX-CKJGPT, FIX-CK, FIX-ALL, MASK-PFLAGS, RM-LECODE, PURGE-GOBJ, FULL-DEFOBJ, DUMP-CLASS, DUMP-ONEWAY, DUMP-ALL, 1LAP .. 9LAPS, MAX-LAPS, RM-EMPTY, TINY-0 .. TINY-7, INPLACE, SILENT and LOG.

--ktpt2 vector Insert or replace a second KTPT. Use VECTOR as new position. VECTOR is either X,Z or X,Y,Z or an expression. Set Y to 0 for an automatic defined height.

If the first 4 characters of VECTOR are 'AUTO' (ignoring case), then the position is calculated automatically and set to the recommendation of command wkmpt KTPT.

The tool looks for the nearest lap counter (CKPT with mode 0) and adjust the KTPT: The direction of the lap counter is copied and the KTPT is moved to the lap counter line using the new direction.

LE-CODE uses the second KTPT to draw the finish line at another place away from the start position.

--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.
--load-kcl file Load a KCL or OBJ file for reference issues.
-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-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.
--next Close the current transformation step with all scaling, shifting, rotation and translation options and open a new step with cleared options. On transformation each step is logical done one by one. In real, one total transformation matrix is calculated and used for fast transformations.

If option --next is used, the ability for modifying the scale and rotation vectors (not the positions) of different KMP sections is nearly always lost. A warning is printed if this occurs.

-N --no-check Do not make plausibility checks for KMP files.
--no-colors Deactive colorized text. This is the default, if an output file is not a terminal.
--no-echo Suppress output of @ECHO commands while scanning text files.
-H --no-header Suppress the syntax information section in BMG text files.
--no-pager Forbid the internal usage of a pager.
-P --no-param Disable parameter support in decoded KMP text files.
--no-wildcards Disable wildcard parsing and use each filename exactly as specified.
--null Create a neutral transformation without affecting the coordinates. The only influence is, that the dependent values (like maximum) are re-calculated as if a transformation has taken place.
--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.
--png pix_size ['a' align] ['x' x1[:x2]] ['y' y1[:y2]] ['t' types] Draw a PNG with a top view of the track instead of an OBJ file. Transformations are done after the KMP 3D drawing, but before PNG creation.

'pix_size' is the number of world units (sqare) used for 1 PNG pixel. 'align' is a factor as anti-aliasing pixel multiplicator (>1 is on). 'x' and 'y' defines the part of the world that is displayed. If not set, the check points (KMP/CKPT) are used to find a good area. 't' is a bit field with 32 bits to enable the the KCL types. Each bit corresponds to one of the KCL types and only . The default is to display all but not walls and solid fall (0x7fef0bff).

All numeric values can be any expression allowed by the parser.

--pos-file file Load a position file created by mkw-ana and print the positions into the map. Define the modes first, because the last defined modes set by --pos-mode are used!
--pos-mode list Define a comma separated list of modes for the next --pos-file options. Each element of the list begins with a keyword followed by a column index and/or a parameter list: X<col>, Y<col>, Z<col>, D<col>, C<num>, T<num>, FA<col>=<str>, FB<col>=<str>, FC<col>=<str>, <COLOR>
-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.

>>> THE RESULT MAY BE INVALID OUTPUT FILES! <<<

--repair-xpflags file Load a KMP file and use it to repair the settings of the extended presence flags, if they are destroyed by another KMP tool. --repxpf is a short cut for this option.
--rm-gobj objlist Remove objects from the KMP section GOBJ. Therefor a comma separated object list with single values like 'a' or ranges like 'a:b' is expected. 'a' and 'b' are numbers, object names (prefixed by 'o$') or any other parser expressions.
--rot degree[@origin] Transform the data: Rotate all coordinates and rotation values by the angle 'degree' (is a vector) around the 3 axes. All 3 axes goes through the point 'origin'. If the origin is not set, 0,0,0 is used instead.

Each parameter is either a vector expression or a comma separated expression list of coordinates ('x,y,z').

Option --rot is an alternative for --xrot, --yrot and --zrot to define all 3 rotations in one step. Transformations are calculated in the order SCALE, SHIFT, X-ROTATE, Y-ROTATE, Z-ROTATE, TRANSLATE.

--round Print additional lines with rounded values (to 3 and 2 bytes for floats and 7 and 6 bytes for doubles).
--route-options [=mode] MODE is either OFF, AUTO (default) or ON. Without value, ON is used.

On mode ON, the new commands $PREV and $NEXT are printed for each group of KMP sections ENPT and ITPT. On mode AUTO, the command is only printed, if any option is set or if parameter SHOW-OPTIONS is >0. On mode OFF, this feature is totally disabled to create KMP text files that are compatible with versions <1.60a.

This option exists only for a transition period. Its behaviour will be changed in the future. --ropt is a short cut.

--scale vector[@origin] Transform the data: Scale all coordinates and size values by 'vector' relative to the point 'origin'. If the origin is not set, 0,0,0 is used instead.

Negative values mirror the coordinates. Each parameter is either a vector expression or a comma separated expression list of coordinates ('x,z' or 'x,y,z').

Transformations are calculated in the order SCALE, SHIFT, ROTATE, TRANSLATE.

--sections Print in machine readable sections and parameter lines.
--shift vector Transform the data: Add 'vector' to all coordinates. It's simlar to --translate, but the addition is done before rotation. The parameter is either a vector expression or a comma separated expression list of coordinates ('x,z' or 'x,y,z').

Transformations are calculated in the order SCALE, SHIFT, ROTATE, TRANSLATE.

--slot keyword Patch a track file to run at the specified slot. KMP and KCL may be modified. BRRES files may be added to or removed from SZS. The main keywords are DAISY, DESERT, SHERBET, SHYGUY, STANDARD and MOST. Slot numbers (except '42' and '4.2') and different other track names are also accepted. For some conversions, the auto-add library is needed.
--speed-mod factor The speed modifier is a user extensions to change the basic speed of all vehicles. The speed factor itself is stored into KMP:STGI section of a track.

If --speed-mod is set to a value >0.0, then the last 2 bytes of the STGI section are patched. The value 0.0 reset these 2 bytes and deactivates the speed modifier.

-t --test Run in test mode, modify nothing.

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

--tform-kmp list Select KMP sections and objects for a transformation. --tkmp is a short cut. The option expects a comma separated list of keywords. Non ambiguous of keywords are allowed and minus signs within keywords are optional (e.g. GOBJS). A minus sign before a keyword disables transformation of the related section or object.

Sections are selected by the KMP section names AREA, CAME, CKPT, CNPT, ENPT, GOBJ, ITPT, JGPT, KTPT, MSPT and POTI.

Objects are selected by the keywords AREA-POSITION, AREA-ROTATE, AREA-SCALE, CAME-POSITION, CKPT-POSITION, CNPT-POSITION, CNPT-ROTATE, ENPT-POSITION, ENPT-SCALE, GOBJ-POSITION, GOBJ-ROTATE, GOBJ-SCALE, ITPT-POSITION, ITPT-SCALE, JGPT-POSITION, JGPT-ROTATE, KTPT-POSITION, KTPT-ROTATE, MSPT-POSITION, MSPT-ROTATE and POTI-POSITION.

The keywords NONE and ALL (default) complete the field.

--tform-script script Load the script and execute it by the text parser.

Then for each coordinate (2D and 3D), call the macro TRANSFORM after all other transformations. Call it without parameters and set variable $I with a zero based index of all vertices, variable $D to the dimension (2 or 3) and the variable $P to the vector of the current vertex. If the macro returns a vector, it is the new position.

For each file, macro BEGIN is called at the beginning and END after processing all points, but only, if the macros are defined. For END, variable $I is set to the number of processed vertices in the current file.

Before each macro call, the private and local variables are cleared and only global parameters are permanent. The zero based index is cleared for each new source. The parameters of the macro calls are defined in the local name space.

--timing Activate the timing of some operations. Logging level 3 activates them too.
--tiny mode Set tiny mode to a level between 0 and 7.
--translate vector Transform the data: Add 'vector' to all coordinates. It's simlar to --shift, but the addition is done after rotation. The parameter is either a vector expression or a comma separated expression list of coordinates ('x,z' or 'x,y,z'). --trans is a short cut.

Transformations are calculated in the order SCALE, SHIFT, ROTATE, TRANSLATE.

--tri-area EXPR Define the minimal area size of KCL triangles. The intention is to ignore triangles that are generally to small. EXPR is a floating point number or expression. Triangles are invalidated if their area size is smaller than EXPR. The test is executed after reading files, after transformations, and after calculating normals and lengths. Values between 0.01 and 4.0 are recommended. The careful value 1.0 is used as default. Value 0 disables this filter functionality.
--tri-height EXPR Define the minimal height of KCL triangles. The intention is to ignore deformed triangles (very slim, but long). EXPR is a floating point number or expression. Triangles are invalidated if at least 1 of the 3 heights is smaller than EXPR. The test is executed after reading files, after transformations, and after calculating normals and lengths. Values between 0.01 and 2.0 are recommended. The careful value 1.0 is used as default. Value 0 disables this filter functionality.

--tri-ht is an alternative name for the 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.
--wim0 [=mode] MODE is either OFF, AUTO (default) or ON. Without value, ON is used.

If mode is ON, a KMP section called WIM0 is added on binary KMP creation. The sections contains information for Wiimms tools.

If mode is OFF, this feature is totally disabled. If mode is not AUTO, KMP parameter KMP-WIM0 is overridden.

--xhelp Stop parsing the command line and print a help message with all commands included. Exit after printing.
--xrot degree[@origin] Transform the data: Rotate all coordinates and rotation values by the angle 'degree' around the x-axis, that goes through the point 'origin'. If the origin is not set, 0,0,0 is used instead.

Each parameter is either a vector expression or a comma separated expression list of coordinates ('y,z' or 'x,y,z').

Transformations are calculated in the order SCALE, SHIFT, X-ROTATE, Y-ROTATE, Z-ROTATE, TRANSLATE.

--xss x1old,x1new,x2old,x2new --xss (x-scale-shift) calculates the X values of --scale and --shift, so that old values are transformed to the new values. The parameters are numbers or expression.
--ypos pos This option defines an Y position for KMP:CKPT transformations. It has only impact to X and Z rotations (Options --xrot and --zrot). If not set, the mean y of the active rotation origins are used.
--yrot degree[@origin] Transform the data: Rotate all coordinates and rotation values by the angle 'degree' around the x-axis, that goes through the point 'origin'. If the origin is not set, 0,0,0 is used instead. This is a horizontal counterclockwise rotation and the old option name --hrot can also used.

Each parameter is either a vector expression or a comma separated expression list of coordinates ('x,z' or 'x,y,z').

Transformations are calculated in the order SCALE, SHIFT, X-ROTATE, Y-ROTATE, Z-ROTATE, TRANSLATE.

--yss y1old,y1new,y2old,y2new --yss (y-scale-shift) calculates the Y values of --scale and --shift, so that old values are transformed to the new values. The parameters are numbers or expression.
-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.
--zrot degree[@origin] Transform the data: Rotate all coordinates and rotation values by the angle 'degree' around the z-axis, that goes through the point 'origin'. If the origin is not set, 0,0,0 is used instead.

Each parameter is either a vector expression or a comma separated expression list of coordinates ('x,y' or 'x,y,z').

Transformations are calculated in the order SCALE, SHIFT, X-ROTATE, Y-ROTATE, Z-ROTATE, TRANSLATE.

--zss z1old,z1new,z2old,z2new --zss (z-scale-shift) calculates the Z values of --scale and --shift, so that old values are transformed to the new values. The parameters are numbers or expression.