KMP Modifier

From Custom Mario Kart
Jump to navigation Jump to search
KMP Modifier
Creator: kHacker35000vr
File Format: KMP
Version: 3.1c
Source Code: GitHub
Video: YouTube
Download: MediaFire

The KMP Modifier is a program that is able to edit and expand Nintendo's KMP files. It was once released as a help tool as support for the SZS Modifier's lack of functions and is since v2.0 a stand-alone editor.

Tutorial Video:


The first version of the KMP Modifier was finished in summer 2010 and could only replace certain points with a different kind of point. When the SZS Explorer was released, the software was completely redesigned and was able to add, remove and edit points of a few groups. Two months later an update was released that added support for more groups and a POTI editor. Version 1 was mainly created to edit KMP files in ways the SZS Modifier couldn't and was therefore not very advanced in editing KMP files.

In September 2011, kHacker35000vr announced version 2 as completely new software which didn't need the SZS Modifier anymore. The development went slow, until Vulcanus2 announced his own KMP editor. Later, the KMP Modifier v2.0 was released in April 2012. Version 2.0 and its updates contained a lot of bugs and this had as result that the KMP Modifier was seen as a very buggy editor. Later in 2012, version 2.1 was released which was tested on every possible bug and was the final version for KMP Modifier v2. In August, the main site of the KMP Modifier went down and this had as result that the KMP Modifier couldn't access needed files. This had as result that the v2 releases became unusable.

To keep up with the competition, kHacker35000vr announced version 3 in late July 2012 and promised that this version contained all features which v2 missed. The coding of v3 started in late September after the bugfixing of previous bugs discovered in version 2 and after the new layout was completely finished. It was finally released at the final week of 2012.

Version History

Version Date of release Information
v1.0 2010-09 First basic version, made to work together with the SZS Modifier.
v2.0 2012-04-01 Changed to a stand-alone program featuring own obj support and points to be dragged.
v2.1 2012-05-17 Final version of KMP Modifier v2, now can be called by CTools, and fixed previous bugs
v3.0.2 2012-10-15 New layout, easier to edit stuff, obj to points, auto-y, area-scale visible, easier section grouping.
v3.0a 2013-01-01 Initial release of v3.
v3.1a 2013-03-13 Fixes bug that changes itemsetting to 0000 each time the object editor opens, CTGP-R lap count added, first opening camera can be edited, minor fixes.
v3.1b 2013-03 Fixes bug that resets the lapcount and first opening camera to 0 on load.
v3.1c 2013-05-11 Very messy obj files caused auto-Y to generate wrong values, this is fixed now. The y values now aren't rounded anymore.
v3.2 planned, but never released Shows checkpoint quadrilaterals, ENPT + ITPT boundaries, supports textured course obj models, ENPT to or from ITPT, Y drop option for existing points, new way of section editing, major bug-fixing.


Version 3's to-be-added functions
Version 3's release video, showing other functions


The current version was able to edit every group, except STGI. It could add points, delete them and modify them. It can was able to load plugins which worked with certain external file and export points. Further there are functions to move dots around and give dots a new ID, so the order of points can be changed.


Since the update to v2.1, the KMP Modifier can be called by CTools so it can open and save directly to a SZS file, without the need of extracting the KMP. Furthermore, the KMP files be edited like the usual way.

KMF Files

KMF Files are used by the KMP Modifier v2 only. They act like path files to replace existing content in KMP files.

Currently the only way to edit KMF files is with a hex editor, whereas the KMP Modifier only exports from a kmp.

File header of a KMF file
Offset Size Description
0x00 4 Magic, always 'KMHF' in ASCII
0x04 4 File length
0x08 4 File version
0x0C 2 Total amount of groups (N)
0x0E 2 Length of the header in bytes
0x10 N*4 Section Offsets
0x10 + N*4 End of file header

The KMF file contains sections, just like an orginal KMP file.

A single section
Offset Size Description
0x00 4 Group magic (KTPT as example)
0x04 2 The point id where to start replacing
0x08 2 The amount of points in this section
0x0C The points


This section describes each function of version 3, as described in the grid above. For a more detailed tutorial about KMP files, see KMP Editing or KMP (File Format).

KMP Modifier usage

On opening each function of the KMP Modifier is diabled, as there is no KMP loaded. Either open a KMP by clicking on File > Open or create a new one by clicking on File > New. This will enable each function. Now you can scroll trough the tabs at the top of the editing screen between each KMP section, like Start positions and Checkpoints. Altough you can start editing now, it will be easier to know where you place points so either import your map model obj or import an image by going to Tools > Grid Background.

Note: When there is an error in your KMP that may result in a freeze or other problem, an eror is thrown and the row (id) of that error is highlighted red. It is recommed to fix this.

When importing an image it is important to know what coordinate the top left corner of your image is, and the bottom right. You can find out by looking in the SZS Modifier's min/max value of each polygon you included. Remember that your track should totally fit the image when using this method.

Adding points

After your background is added, you can start adding points. When you have opened an existing KMP and you want to create a new one for your track you can clear the whole table by right clicking on it > Clear table. To add new points simply click on the location where you want them. If you have added an obj background, the Y will be generated automatically, else you can either find out in your favorite 3D Modelling program or by importing your map model later and using the option Drop (Edit > Drop points) (Added in v3.2).

Adding checkpoints is a little different; to add a checkpoint, click and hold to draw a line. The location where you clicked the first time will be the location of the first end, the location where you release the mouse button the second.

Editing points

Once you have added the points, only the location settings are set. To edit the other settings you will have to edit the table below. Some sections allow rotation. Altough you can edit this manually in the table, it is also possible to drag an arrow in the direction you want. To make the arrow appear, hold the Ctrl button of your keyboard and hover your mouse over the editing window. To move the arrows click on the center (origin) and drag them to the direction you want.

For editing the object settings, it is mosttimes unclear what those edits do. For this you can open the Object catalogue (Tools>Object catalogue). In this window you can see the description of the object you are editing and its settings. To go to the next object simply change the selected row in the editing table.

Automatic point generation

When you have a relative simple model you may use this option to automatically add points without having to move them. To open the dialog go to Edit > Points from obj. In this window you will see a small explaination of the settings, this equals the number of faces that use a certain point. Please note that, altough it exists, using 0 is absolutly not recommed and mosttimes won't work at all. After having this done, add an obj by clicking on browse and check the faces you want to be included. Then click on import to start the process. (This may take a few minutes, depending on the complexity of your model).


This is mostly usefull after using the automaic point generation. That option won't order the points and they will appear in random order around your track. Go to Edit > Sort points and then choose the direction your track goes. (This may not work correctly when there are overlapping points, they will have to be done manually.) Then click on the center of your track at a location where you are sure that each point won't be in front of another point.

Group editing

Editing sections is the hardest part of editing the KMP for most people. The KMP Modifier contains multiple options to make it easier. To go to the section editor, click on the Section button under the Enemy Routes tab. This will make the table to regenerate. This will require a few calculations, so a calculator may come in handy.

First, under the 'From' column, enter the first point of the group. Then under 'Amount' enter the amount of points a group will have. Because the KMP Modifier calculates the From settings automatically, you won't have to edit them in the table. All you have to do is enter under each 'Next' column a group where the current group will go to. You can have up to 6 next groups, when you stay under the 6, enter 255 for the remaining columns.

When the KMP Modifier notices that there are more than 6 groups pointing to a single other group it will throw an error, as there can also be only up to 6 previous groups.

v3.2 only: Coming soon is a new section editor, this includes a wizard that will ask you to click on the first point of a group and the last point of a group, so the From and Amount are automatically calculated. After this is done you are asked to click on a random point of a random group to add the next values.

After you have done the group setup and want to edit something, you can also fix this from the 'Points' option. Check the 'Edit sections' option and then click on the group you want to edit. The points of the other groups will disappear and only the selected group remains. When you add or delete points now, the group settings are edited automatically.