Automated dropping of bad KCL triangles is enabled if no drop option is specified by option --kcl.
Options | |||
---|---|---|---|
Option | Param | Description | |
--no-wildcards | Disable wildcard parsing and use each filename exactly as specified. | ||
--in-order | Process the input files in order of the command line and don't delete duplicates. | ||
-i | --ignore | Ignore non existing source files without warning. | |
-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 |
--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> | |
--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! | |
--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.
All numeric values can be any expression allowed by the parser. |
|
-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 |
-o | --overwrite | Overwrite already existing files without warning and ignore option --number. | |
--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. |
||
-r | --remove-dest | Remove already existing files before creating it. If set, --overwrite is ignored. |
|
-u | --update | Update only existing files and don't create new files. If set, --overwrite and --remove-dest are ignored. | |
-p | --preserve | Preserve file times (atime+mtime) while converting or copying files. | |
-H | --no-header | Suppress the syntax information section in KMP text files. | |
-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. | |
-X | --export | Enable the export mode and create small and machine readable text files for easy post processing. The option works similar like |
|
-P | --no-param | Disable parameter support in decoded KMP text files. | |
-G | --generic | Forget scanned entry names and use generic names for output. | |
--battle | [=mode] |
If mode is |
|
--export-flags | [=mode] |
If mode is
If mode is |
|
--route-options | [=mode] |
On mode
This option exists only for a transition period. Its behaviour will be changed in the future. |
|
--wim0 | [=mode] |
If mode is
If mode is |
|
--no-echo | Suppress output of @ECHO commands while scanning text files. | ||
-N | --no-check | Do not make plausibility checks for KMP files. | |
-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 ' |
--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. |
|
--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. |
|
--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. | |
--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. | |
--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. | |
--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. |
|
--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. |
|
--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. |
|
--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. |
|
--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. | |
--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. |
|
--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. | ||
--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. |
||
--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! |
|
--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! |
|
--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. |
|
--kmp | list | Set global options for KMP processing. Parameter
Keyword |
|
--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. |
|
--ktpt2 | vector | Insert or replace a second KTPT. Use VECTOR as new position. VECTOR is either
If the first 4 characters of VECTOR are 'AUTO' (ignoring case), then the position is calculated automatically and set to the recommendation of command 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. |
|
--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 |
|
--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. |
|
--rm-gobj | objlist | Remove objects from the KMP section |
|
--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 |
|
--load-kcl | file | Load a KCL or OBJ file for reference issues. | |
--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. |
The command is also known as
The second example shows a part of Grumble Volcano as perspective view. It was created with the same command option as above. It's very easy to detect the missing mandatory check point as reason for the well known ultra short cut:
The third example shows a part of DK Summit as non perspective top view. It shows the cannon, the check points, the respawn points and the relation between check and respawn points. It was created with: wkmpt draw boardcross_course.szs --draw -enpt,-itpt. Option --draw -enpt,-itpt means: Draw all, but not enemy and item routes.
If the very first character of the list is a minus sign,
the options are initialized with
Keywords for option --draw | |
---|---|
keyword | Description |
Draw the enemy routes of KMP sections ENPT and ENPH with respect to junctions.
Each step of every route is drawn as a blue prisma (line) from one point to the next.
Option |
|
Draw the item routes of KMP section ITPT and ITPH with respect to junctions.
Each step of every route is drawn as a red prisma (line) from one point to the next.
Option |
|
Draw the check points of KMP section CKPT and CKPH.
All checkpoints are drawn as blue and cyan gates with a solid border and a transparent wall.
The lap count, mandatory and standard check points are drawn with different styles
and colors. The IDs of the mandatory check points are also visible
(number of visual objects at the top border).
The check points are joint together to make the routes and junctions visible. Like navigation lights, a dark red is used for the left side and a dark green for the right side.
If |
|
|
|
Draw each respawn point as green arrow pointing to the defined direction
and as a rectangle, that covers the respawn area.
The tip of the arrow is the defined position.
Option |
|
Draw each start position as black arrow pointing to the defined direction
and as a rectangle, that covers the starting area.
The tip of the arrow is the defined position.
The length of the rectangle depends on the narrow flag of section STGI.
Option |
|
PTS |
|
Include all, that is needed to review respawn points.
|
|
Find cannon points in the KCL and estimate the landing zone by analysing
the KMP section CNPT. The calculation interpretes also the x- and y-rotation
values to find the landing zone.
Draw a mangenta cube at the landing zone and a mangenta arrow as direct way
from the cannon shoot point to the landing zone.
Option |
|
Draw the routes defined by the POTI section with respect to the cyclic flag.
Each step of every route is drawn as a green prisma (line) from one point to the next.
4 different green colors are used for the routes.
Special colors are used for routes used by |
|
Draw each standard itembox
(GOBJ ID 0x65) like in-game as a grey cube with a vertex down.
The color for itemboxes with special items for players or enemies is dark grey.
For itemboxes with routes, the routes are drawn as grey/green prisma lines. |
|
Draw each coin (GOBJ ID 0x73) as golden cubus. | |
This class is available since v1.46.
Draw each global object (section GOBJ), that acts like a road.
At the moment |
|
Draw each solid global object (section GOBJ),
that not have a route and is not part of At the moment the following objects are drawn with correct size and recognizable form and color: itembox, obakeblockSFC*, dokan*, karehayama and all trees. For solid objects with routes, the routes are drawn as cyan prisma lines. |
|
Draw each unsolid global object (section GOBJ),
that not have a route and is not part of
At the moment only the following objects are drawn:
|
|
GOBJ |
This is a short cut for all supported global objects. At the moment it is the same as ITEMBOXES,ROADOBJECTS,SOLIDOBJECTS,DECORATION. |
1OFFLINE 2OFFLINE 3OFFLINE 1ONLINE 2ONLINE 3ONLINE |
Each keyword represents one flag of the GOBJ presence flag. If at least one bit is set, then only objects are drawn, if the correspondent presence flag is set. |
Short cut for |
|
Short cut for |
|
WHITE |
Insert a black (very dark grey) or white (very bright grey)
rectangle at height 0.0.
The rectangle covers all other valid points.
|
Include the KCL data to the OBJ output. Different KCL types are drawn in different colors. | |
Disable all of above. This is a start point for a positive list. | |
Enable all of above. This is a start point for a negative list. | |
This option is independent of |
|
This option is independent of Additional, a octahedron list of all colors is inserted at the bottom right. |
|
This option is independent of |