However, the development of wmdlt is at the beginning and the usage of the tool experimental.
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 MDL specific symbols are included. | |
FUNCTIONS | Print a list with all parser functions including the MDL 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 |
|
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. |
|
CAT | Read the entered MDL files (text or binary) and print them as decoded text files to standard output (stdout). Wildcards and pipe characters are parsed. The output of all source files is concatenated.
A decoded MDL0 file can only be used for analysis. Encoding or creating a new MDL0 file is not supported. |
|
DECODE | DEC | Read the entered MDL files (text or binary) and decode them to text files. Wildcards and pipe characters are parsed. The default destination is A decoded MDL0 file can only be used for analysis. Encoding or creating a new MDL0 file is not supported. |
STRINGS | Read the entered MDL files (text or binary) and print all strings of all sections. Wildcards and pipe characters are parsed.
For archives like SZS or BREES, the strings of each containing MDL are printed. It is also possible to address an internal sub-file like |
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 cross reference comments. | |
--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, |
|
--colors | [=modus] | Define the modus for colored text output. Allowed keywords are:
If a command is prefixed by |
|
--compatible | vers | The option expects a version number (format |
|
--config | file | Define a configuration file or a directory as source. In later case, file
If option is not not set, then file |
|
-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 CT-CODE support. | ||
--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. |
-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 |
-Y | --extended-errors | Enable extended error messages. This includes a source file and line reference. Logging level 1 activates it too. |
|
--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! <<< |
||
-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] | This option is completely ignored by wlect. It only exists due to compatibility with the other tools. | |
-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. | |
--mdl | list | Set global options for MDL processing. To enable MDL patching, use option --patch-files and select BRRES files for patching.
Parameter
A MDL transformation (controlled by the transformation options) is only done, if at least one of the keywords
Keyword |
|
--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. |
||
-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 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. |
|
--repair-magics | [=mode] | Control the reparing of missing or wrong magics of files and sub-files by analysing file path and file extension. >>> THE RESULT MAY BE INVALID OUTPUT FILES! <<< |
|
--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, 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). | ||
--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. 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. |
|
-t | --test | Run in test mode, modify nothing.
>>> USE THIS OPTION IF UNSURE! <<< |
|
--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. |
|
--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'). Transformations are calculated in the order SCALE, SHIFT, ROTATE, TRANSLATE. |
|
-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
Keyword |
--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. | ||
--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 old values are transformed to the new values. The parameters are numbers or expression. | |
--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 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, 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. |