Version 1.0 (Beta) - 7/9/26
This document describes the plugin-side files used by MCM1 Plugin Editor and TrackEdit-style construction sets:
plugins.ini - registry of available construction sets
xxxx.ini - one construction-set definition,
such as classic.ini
plugins/<name>/ - ASC, TGA, and BMP assets used by
the construction-set INI
Examples use the checked-in classic plugin:
plugins/plugins.iniplugins/classic.iniplugins/classic/tracks/classic_test.trkPlugin files are INI-like text files.
Lines are normally CRLF terminated.
Section names are written as [SectionName].
Key/value lines use Key=Value.
Blank lines are ignored.
Semicolon-prefixed lines are comments.
Section and key names are read case-sensitively by the current editor code in most places, so preserve the existing names.
Asset paths may be bare file names, relative paths, or TrackEdit-style paths
such as ..\classic\StrN.tga.
Plugin-relative subfolders such as Textures\PieceN.tga resolve relative to
the active plugin asset folder, matching TrackEdit and game behavior.
A TrackEdit installation is expected to have this shape:
xxxxxxxxxx<TrackEdit root>/ plugins/ plugins.ini classic.ini classic/ Per.asc PerN.tga PerUp.bmp ... tracks/ classic_test.trk classic_test.ter classic_test.scn classic_test.datThe selected plugins.ini tells MCM1 Plugin Editor where the TrackEdit root is.
From there, the editor loads construction-set INI files from plugins/,
construction-set assets from plugins/<set name>/, and normal tracks from
tracks/.
plugins.ini FormatFORMAT BANNER:
plugins.iniRegistry file listing the construction sets available to TrackEdit and the editor. Example:
plugins/plugins.ini.
The file has one required section:
xxxxxxxxxx[Plugins]TotalConstructionSets=6Set_1=classicSet_2=stepupSet_3=stepup2Set_4=classic2Set_5=stepup2026Set_6=classic3TotalConstructionSets
Number of Set_N entries expected in the file.
Set_N
Construction-set base name. The editor resolves Set_1=classic to:
xxxxxxxxxxplugins/classic.iniplugins/classic/Do not include .ini in Set_N; the track file uses Plugin=classic.ini, but
plugins.ini uses the base name classic.
xxxx.ini FormatFORMAT BANNER:
xxxx.iniDefinition for one construction-set plugin. Example:
plugins/classic.ini.
Each construction-set file contains one [ThisConstructionSet] section and one
[TrackPiece_NN] section for each piece.
[ThisConstructionSet]Classic example:
xxxxxxxxxx[ThisConstructionSet]TotalConstructionSetPieces=13Description=Classic Motocross Construction SetSampleBitmap=example.bmpDefaultConstructionPiece=1StartFinishPiece=12TotalConstructionSetPieces
Number of [TrackPiece_NN] sections.
Description
Human-readable plugin name shown by the editor.
SampleBitmap
Preview image in the plugin asset folder. Classic uses
plugins/classic/example.bmp.
DefaultConstructionPiece
Piece id used to fill empty or new tracks. Classic uses piece 1, the default
terrain perimeter piece.
StartFinishPiece
Piece id that marks the start cell and race direction. Classic uses piece 12.
[TrackPiece_NN]Classic piece 02 is a straight:
xxxxxxxxxx[TrackPiece_02]ToolTipText=Straight AwayStatBarText=Straight away piece.GeometryNorth=StrNS.ascGeometryWest=StrEW.ascGeometrySouth=StrNS.ascGeometryEast=StrEW.ascTextureMapNorth=StrN.tgaTextureMapWest=StrW.tgaTextureMapSouth=StrS.tgaTextureMapEast=StrE.tgaToolbarIconUp=StrUp.bmpToolbarIconDown=StrDn.bmpBitmapNorth=StrNS.bmpBitmapWest=StrEW.bmpBitmapSouth=StrNS.bmpBitmapEast=StrEW.bmpConnectivity=NSPieceType=1NumberMapOrientations=1RandomOrientation=0ToolTipText
Piece display name in the editor.
StatBarText
Longer description for the piece.
GeometryNorth, GeometryWest, GeometrySouth, GeometryEast
ASC geometry files for each orientation. These must resolve inside the plugin
asset folder unless a relative path points elsewhere. Classic straight pieces
use StrNS.asc for north/south and StrEW.asc for west/east.
TextureMapNorth, TextureMapWest, TextureMapSouth, TextureMapEast
TGA texture maps for each orientation. The editor uses these to build the
.ter terrain palette.
ToolbarIconUp, ToolbarIconDown
BMP toolbar icons for TrackEdit. The editor preserves and displays these asset references where available.
BitmapNorth, BitmapWest, BitmapSouth, BitmapEast
BMP construction-grid preview images for each orientation.
Connectivity
Cardinal ports for the north-oriented piece. Values are made from N, S,
E, and W. The DAT writer rotates connectivity by the placed orientation when
it traces the race route.
Classic examples:
| Piece | Connectivity | Meaning |
|---|---|---|
TrackPiece_02 Straight Away | NS | connects north/south |
TrackPiece_08 90 Degree Turn | SE | connects south/east |
TrackPiece_01 Default Terrain | NSEW | available on all sides, but not a race piece |
PieceType
Numeric behavior used by TrackEdit and the editor's DAT writer:
| Value | Meaning |
|---|---|
0 | generic flat |
1 | straight away |
2 | 90 degree turn left |
3 | takeoff ramp |
4 | landing ramp |
5 | whoops |
6 | table top |
7 | 90 degree turn right |
8 | left or right turn, resolved to 2 or 7 in DAT output |
9 | obstacle |
PieceType=0 and PieceType=9 are treated as non-racing cells by the current
DAT writer.
NumberMapOrientations
Controls texture handling in generated .ter files.
4: the plugin supplies orientation-specific maps; the editor writes
Transform=NONE.
1: the editor writes a MakeTerr transform from the placed orientation:
NONE, HD, HV, or VD.
RandomOrientation
TrackEdit flag for randomizing orientation when terrain is written. The editor preserves the value in plugin files.
FORMAT BANNER: plugin asset folder
Asset directory paired with a construction-set INI. Example:
plugins/classic/.
The asset folder name normally matches the construction-set base name:
xxxxxxxxxxplugins/classic.iniplugins/classic/Classic assets include:
xxxxxxxxxxPer.ascStrNS.ascStrEW.ascPerN.tgaStrN.tgaStrNS.bmpStrUp.bmpStrDn.bmpexample.bmpASC files define the 16 x 16 elevation mesh for a construction tile.
TGA files define the terrain texture maps used by MakeTerr.
BMP files define editor and TrackEdit UI previews.
The .trk file stores only piece ids and orientations. For example,
tracks/classic_test.trk starts with:
xxxxxxxxxx[Track]Plugin=classic.iniName=Classic Test TrackPiece_01=1Orient_01=2When the editor builds that track, it combines:
xxxxxxxxxxtracks/classic_test.trkplugins/classic.iniplugins/classic/to generate the track-side .ter, .scn, and .dat files.