MNI files are ManiaDrive tracks :
Here it is a small document about this format.
MNI is a text format. Each line is an entity, and the first character of each line is the entity type:
- d : "meta" data for this track
- g : grid entity: defines a block of the track
- b : box entity: defines a invisible box for the track (turbo, checkpoint, finish line, ...)
Details about line types :
Meta line
This line (
d type) used 4 or 5 fields, with the character
; as field delimiter.
Fields are the following:
- Track full name (allowing almost all ASCII characters [but ; of course])
- Track author (same as above)
- "Gold time", in seconds. Floating point number with a decimal point.
- Author time. (same as above)
- Optional message file (see below)
Example:
d Let's start slowly, please ...;xfennec;9.0;7.722 (simple.mni)
Grid lines
g type. Each of these lines use 6 fields:
- X, Y and Z position in the world. The current track editor for ManiaDrive (mania2) use a step=1 for X and Y, and a step=0.25 for Z. Floating point number with a decimal point.
- Rotation (degrees, integer) of the original block. Mania2? currently use only 0, 90, 180 and 270 values.
- Flags (interger, not used)
- Block mesh tri file, as a string
Example:
g -2.000000 -1.000000 0.000000 90 0 wania1.tri
Box lines
Lines with
b type, with 7 fields:
- X, Y and Z position. Same as for grid lines.
- X, Y and Z sizes (Floating point number with a decimal point). You should use predefined box sizes. See at the end of this page.
- Type of box (integer). See the following list:
#define TYPE_CHECKPOINT 100
#define TYPE_LOOP 30
#define TYPE_START_E 10
#define TYPE_START_W 11
#define TYPE_START_N 12
#define TYPE_START_S 13
#define TYPE_END 20
#define TYPE_TURBO_E 2
#define TYPE_TURBO_W 3
#define TYPE_TURBO_N 4
#define TYPE_TURBO_S 5
Default sizes for boxes (from mania.cfg) :
You should use only theses values for box sizes.
# * x_offset y_offset z_offset x_size y_size z_size type
# Start boxes (E,W,N,S)
* 0.5 0.5 0.1 0.1 0.4 0.2 10
* 0.5 0.5 0.1 0.1 0.4 0.2 11
* 0.5 0.5 0.1 0.4 0.1 0.2 12
* 0.5 0.5 0.1 0.4 0.1 0.2 13
# Stop box
* 0.5 0.5 0.1 0.4 0.4 0.2 20
# Checkpoint
* 0.5 0.5 0.1 0.4 0.4 0.2 100
# Turbo boxes
* 0.5 0.5 0.1 0.1 0.4 0.2 2
* 0.5 0.5 0.1 0.1 0.4 0.2 3
* 0.5 0.5 0.1 0.4 0.1 0.2 4
* 0.5 0.5 0.1 0.4 0.1 0.2 5