VERSION | Print program name and version and exit. | |
HELP | H | Print help for commands and options. |
ARGTEST | This debug command accepts all kinds of parameters and prints one line for each parameter. | |
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 completly ignored. | |
COLORS | Ignore all parameters and print clored 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. |
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 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. | |
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 |
|
FLOAT | This commands helps to convert hex value into floating point numbers. 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. 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 absolut positions and to find the settings for 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 | 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. The output of all source files is concatenated. | |
DECODE | DEC | Read the entered KMP files (text or binary) and decode them to text files. The default destination is |
ENCODE | ENC | Read the entered KMP files (text or binary) and encode (compile) them to binary files. The default destination is |
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. The default destination is
Automated dropping of bad KCL triangles is enabled if no drop option is specified by option --kcl. The old command name |
CHECK | CHK | Read the entered KMP files (text or binary) and and make a plausibility check. Hints and warnings are written to standard output. The exit status is |
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 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 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 This kind of transformation is EXPERIMENTAL! |
|
-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, |
|
--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. | ||
-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 ' |
--ct-code | Enable the CT-CODE modus. | ||
--de | Use german track and arena names. | ||
-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. |
-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, SOLIDOBJECTS, KCL, NONE and |
-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 |
-X | --export | Enable the export modus and create small and machine readable text files for easy post processing. The option works similar like |
|
--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! <<< |
||
-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. | |
--kcl | list | Set global options for KCL processing. Parameter
Keyword |
|
--kcl-flag | joblist | Modify the KCL flag of KCL files. A comma separated job list in the format
All KCL flags of the source list are assigned to the new value |
|
--kcl-script | script | After reading a KCL source file and executing all transformations, the text file If this option is used multiple times, each script is executed in the entered order. |
|
--kmp | list | Set global options for KMP processing. Parameter
Keyword |
|
--load-kcl | file | Load a KCL or OBJ file for reference issues. | |
-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 25 MiB; that should be enough for standard usage. |
--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-color | 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. | |
-P | --no-param | Disable parameter support in decoded KMP text files. | |
--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 maximal existing index+1. |
||
-o | --overwrite | Overwrite already existing files without warning and ignore option --number. | |
-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-gobj | objlist | Remove objects from the KMP section |
|
--rot | degree[@origin] | Transform the data: Rotate all coordinates and rotation values by the angle 'degree' (is a vecotr) around the 3 axes. All 3 axes goes through the point 'origin'. If the origin is not set, 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. |
|
--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, 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. Is'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 |
|
--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.
Sections are selected by the KMP section names AREA, CAME, CKPT, CNPT, ENPT, GOBJ, ITPT, JGPT, KTPT, MSPT and
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
The keywords |
|
--tform-script | script | Load the script and execute it by the text parser.
Then for each coordinate (2D and 3D), call the macro
For each file, macro 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. |
|
--translate | vector | Transform the data: Add 'vector' to all coordinates. Is'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'). Transformations are calculated in the order SCALE, SHIFT, ROTATE, TRANSLATE. |
|
-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. | ||
--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, 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 the 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, 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 the old values are transformed to the new values. The parameters are numbers or expression. | |
--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, 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 the old values are transformed to the new values. The parameters are numbers or expression. |