- File formats
- KMP File Format & Sections
- AREA type
- ENPT Settings
- ITPT Settings
- Item Settings - Item Boxes
- Item Settings - Objects
- KMP Editing
- KMP Editing/Cameras
- Start Position
- Check Point
- Respawn Point
- Presence flags
- Enemy routes in battle arenas
- Testing a Track
- Visual Review with »wkmpt DRAW«
If a player falls down or touch some special KCL types like a fall boundary, it must restart its race at a defined point. Also, if computer drivers can't find a way, they are respawned.
While racing, each driver enters check points defined by KMP/CKPT. Each check point supports an index into the KMP/JGPT table. This table defines list with respawn points. So the last entered check point selects the current respawn point.
12 respawn slots
An interesting aspect is: How does the Wii avoid collision conflicts, if 2 or more players are respawned at the same point at same time? The answer is very easy: There are 12 different respawn slots for each by KMP/JGPT defined respawn point.
At the beginning of the race, each player gets an unique ID. Assuming, this ID is in the range 1–12, each player is respawned at his own respawn slot. Respawn slots are defined relative to the defined respawn point using the 3D position vector and the 3D rotation vector of KMP/JGPT.
See the image at the right side: The green big point is the respawn point and the arrow its direction. The slots are placed in 3 rows and 4 columns. The slot positions are relative to the respawn point. The red and blue numbers are the distances in game units related to the black points, which are the mid points of the slots and the cyan rectangles around are the slots itself.
In real, KMP/JGPT defines not respawn points, but respawn areas related to a point. A respawn area is a rectangle with about 1200*900 game units. To place the area at a slope, define an adequate 3D rotation vector. The respawn slots must be at the same height as the road or higher; up to 200 game units are good and usual.
Tips for placing respawn points
- Place respawn points around the whole course. Don't assume that it's impossible to fall off at a certain point; this will be proven wrong and quicker than you would think. Mushrooms, Stars and Bullet Bills can throw you very high and wide. KCL bugs can do the same, as well as KCL holes.
- Link all respawn points by the KMP/CKPT points.
- Don't place respawn points near walls or other barriers, because of the respawn areas with 1200*900 units.
- Make sure that the horizontal direction is set correctly. This is especially important for the CPU racers. If using Wiimms SZS Tools, give the snap feature a try.
- Never place a respawn point outside the course. If there are unused respawn points, delete them. However, if you absolutely must keep them, set them over the track.
- It is important that all checkpoints respawn the driver before the next mandatory checkpoint or nonambiguous and clearly inside of the related check quadrilateral, so that the driver must enter the check quadrilateral by driving or by Lakitu.
- The respawn point of a mandatory checkpoint must be before the check point or clearly in the quadrilateral of the check point.
Automatic setup of Respawn points
To automatically set up your Respawn points you'll need:
- Your Course's KMP file (with proper Enemy and/or Item route(s) and Checkpoints)
- Wiimm's SZS Tools (v1.46a or higher)
- A text editor
Place your course.kmp file into a place where Wiimm's SZS Tools can find it.
After that run this command:
WKMPT decode course.kmp -o
Go to where you put your course.kmp file and find a file called course.txt.
Once inside the course.txt there are a few things that need to be changed:
Find the Checkpoint Section [CKPT] make sure these two settings look like this:
@AUTO-RESPAWN = 1 @AUTO-NEXT = 1
Next find the Respawn point Section [JGPT] and set the settings to look like this
@AUTO-DISTANCE = 1000.0 @AUTO-ADJUST = vy(1) @AUTO-REMOVE = 2
@AUTO-DEFINE can be this:
@AUTO-DEFINE = SECT$ENPT
@AUTO-DEFINE = SECT$ITPT
SECT$ENPT means the Respawns will follow the Enemy route(s) and SECT$ITPT means the Respawns will follow the item route(s)
After all the necessary changes have been made save the course.txt and run this command:
WKMPT encode course.txt -o
After Wiimm's SZS Tools has finished compiling the KMP open it to make sure that the Respawns were created, that their Y values are correct and that they are linked to the Checkpoints. If all of this happened then you have successfully defined your Respawns.
You can exclude some enemy or item points from the respawn process, and also from automatic height correction. This is done by removing flags. See this example:
1 2273.385 7101.000 23308.393 30.0 0 0 FSJ 2 4397.695 7800.000 21540.725 30.0 0 0 F-- 3 8646.318 7101.000 18005.387 30.0 0 0 --- ^^^ flags
The first point is an usual ENPT. For the second point, SNAP (Flag »S«) and AUTO-RESPAWN (Flag »J«) are disabled: This point is ignored for both calculations. The third point has additionally disabled the FALL-DOWN (Flag »F«) support: The height (y-coordinate) is not touched by the automatic height correction.
- KMP/JGPT : Definition of the respawn points.
- KMP/CKPT : Definition of the check points.
- Check Point : All about check points and check quadrilaterals.
- Automated height correction : How to find the optimal height for respawn points.
- Rotation : All about 3D rotation vectors.