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. | |
--colors | [=modus] | Define the modus for colored text output. Allowed keywords are:
If a command is prefixed by |
|
--no-colors | Deactive colorized text. This is the default, if an output file is not a terminal. | ||
-B | --brief | Print only warnings and suppress hints. | |
-l | --long | Be verbose and print more statistics. | |
-q | --quiet | Be quiet until the first warning or hint is found. | |
--no-echo | Suppress output of @ECHO commands while scanning text files. | ||
-G | --generic | Forget scanned entry names and use generic names for output. | |
-N | --no-check | Do not make plausibility checks for KMP files. |
If opening a file, the data comes first into the mouth.
The mouth will convert the incoming data to an internal dynamic data structure.
First, the file type is analyzed.
If it is a KMP text file, a parser environment is setup and the file is scanned.
Binary KMP file are scanned directly with some validity checks
(invalid pointers, incomplete sections, ...).
Errors in the mouth phase are always printed as warnings with a leading
After reading, the data comes into the stomach and is ready for checking, transforming and output, whatever the user want. And this means, that the KMP plausibility check sees only the fixed data and can only do some semantic checks.
List of tests | ||
---|---|---|
Section | Type | Description |
* | VERBOSE | If option --verbose ( |
AREA | WARN | Camera links are checked. Warnings are printed for invalid and missing links. |
CAME | WARN | Check the opening & selection camera index in the CAME section header. |
WARN | All opening cameras must have type 5. | |
WARN | A camera with type 0 should exist exactly once. This camera is shown directly after crossing the finish line. | |
WARN | Camera types, that need a route, must have a valid route link. Camera types, which never use a route, must have value 0xff as route link. | |
WARN | Each route link must be 0xff or a valid route index. | |
WARN | Cameras can be linked together to a sequence. | |
CKPH | WARN | At least one group must exist (section must not be empty). |
WARN | All 'prev' and 'next' links must be valid. | |
WARN | Each group must have at least one valid next link. | |
WARN | Each group must have at least one valid prev link. | |
WARN | All points of section CKPT must be covered exactly once in increasing order. | |
WARN | A mandatory check point (mode value between 0x01 and 0xfe) must be used maximal once in each group. | |
CKPT | WARN | Each check point must point to an existent respawn point. |
WARN | Check the correct setup of the 'prev' and 'next' links. | |
WARN | Normally, there is exact one check point with |
|
HINT | Mandatory check points have a mode value between 0x01 and 0xfe. Test, if there are any gaps in the used modes. | |
WARN | Quadrilateral test: Check if the distance of the corners is smaller than 1.0 units. This may force a position jump bug. In this case, the following 2 tests are omitted. | |
HINT | Quadrilateral test: Check if the distance of the corners is smaller than 10.0 units. | |
WARN | Quadrilateral test: Quadrilaterals must be convex. If a quadrilateral is concave, a position jump bug is possible. | |
ENPH | WARN | At least one group must exist (section must not be empty). |
WARN | All 'prev' and 'next' links must be valid. | |
WARN | Each group must have at least one valid next link. | |
WARN | Each group must have at least one valid prev link. | |
WARN | All points of section ENPT must be covered exactly once in increasing order. | |
ENPT | WARN | All points must be within at least one convex check quadrilateral (CKPT). |
ITPH | WARN | At least one group must exist (section must not be empty). |
WARN | All 'prev' and 'next' links must be valid. | |
WARN | Each group must have at least one valid next link. | |
WARN | Each group must have at least one valid prev link. | |
HINT | The first next link of each group must be valid. | |
WARN | All points of section ITPT must be covered exactly once in increasing order. | |
ITPT | WARN | All points must be within at least one convex check quadrilateral (CKPT). |
JGPT | HINT | Check, if a respawn point is not used. |
GOBJ | HINT | Print a hint, if 200 or more global objects are defined. |
HINT | Count objects with ID 0. | |
WARN | Compare each object with the internal objects database | |
WARN | Objects, that need a route, must have a valid route link. Objects, which never use a route, must have value 0xff as route link. | |
WARN | Each route link must be 0xff or a valid route index. | |
HINT | Count all kinds of item boxes with special items. | |
POTI | WARN | Find routes that are used by cameras (section CAME) and by objects (section GOBJ), because such rotes may force a freeze. |
HINT | Find unused (unlinked) routes. These routes may used by externals. | |
HINT | If a route is used by a camera (section CAME), each route point (but not the last point) must have a non zero speed (setting #1). | |
STGI | WARN | Exact one element should be defined for the STGI section. |
HINT | Print a hint about a non standard lap counter (not 3). | |
VERBOSE | If option --verbose ( |
|
WARN | Print a warning, if pole position value is >1. | |
VERBOSE | If option --verbose ( |
|
WARN | Print a warning, if narrow mode value is >1. | |
VERBOSE | If option --verbose ( |
|
HINT | Print the speed factor as float and hex, if set (not 0). | |
VERBOSE | If option --verbose ( |