MX vs ATV Supercross
MX vs ATV Steam
Reflex Central
MX Maniacs
DirtTwister's Site
Team TD


Justin's logo for team website

Motocross Madness 2

Armadillo track editing tutorial
How to use Custom Objects in MCM2 tracks
a detailed step by step explanation


this is the ID image displayed in MCM2 when the tutorial track is loaded

This is a tutorial for using .slt model objects in Motocross Madness 2. Here is what to do with MCM2 objects after you have collected them on the net. I am starting with the basics. The really important stuff involves understanding how Armadillo uses Custom objects differently than Stock Rainbow Objects when the Bundle command runs.

IMPORTANT NOTE: The twistddirt Multi Object Assisitant Utility has automated most of the details shown here. The MOA works so well you may not need to bother with info this detailed.

This stuff is presented for the hardcore track creator. A good understanding of the basics will keep you in control when managing tracks with custom objects.

Special credit needs to be given to the crew for figuring out the particulars. This tutorial explains what I have learned while following the instructions offered in the Original Breakthrough object tutorial.

*********************************************************** ***********************************************************

To begin; Make sure the .slt object file is accompanied by a 24bit .tga texture map and a 24bit _art.tga Armadillo preview file. Place the Object's three files in: ~yourMCM2directory~/TrackEditor/UserModels folder For example here is an object and the necessary targa files:

The .slt file and the _art.tga file must have the same names or you will not see a preview image in the Armadillo Custom Objects editor.


HOT TIP: Note the file name on the .slt file, It uses a suffix: "01_01" A naming convention like this is very useful when using multiple instances of an object.

SLT FILE BASICS: A .slt file is a 3d object in a file format called Soultree. It primarily describes the geometry of the model. It contains the texture mapping coordinates and addresses a associated .tga texture map. You may copy and rename .slt files and think of them as unique models as long as you maintain their association with a texture map. Armadillo requires a 24bit 133x103 pixel ~_art.tga preview image for each ~.slt file in the /UserModels folder so it can display the object as a choice in the Armadillo Custom Objects menu. If a ~.slt file is unaccompanied by a ~_art.tga preview image than the menu will display a default image that reads: "art not available". The model may still be available for use.

*********************************************************** ***********************************************************

Take a look at a .slt file in a text editor. Here is the top part of hchaybale01_01.slt viewed in Notepad:

I have highlighted the line that targets the texture map.

The .tga image is used in two different ways...

1)The Named .tga file must be available for Armadillo so that the object will be visible and textured in the Editors View. Armadillo looks for the .tga file in: ~yourMCM2directory~/TrackEditor/UserModels

2)The Named .tga file must be included in the MakeCMP process (more on that later)

There are some cool ways to use the Targa textures to maximize efficiency and variety. Multiple SLT objects files may point at the same .tga Texture Map. This technique conserves graphics memory during game play. You can create a variety of texture maps and Skin a model with many different looks. You may edit the Texture Map line in the .slt file and point to a custom targa skin to make a new "Custom" object.
Custom Texture Maps should be square and have to use the original UVW coordinates in the .slt file. Mimic the original texture map's layout or use a template if possible. Maps can be scaled: Use more pixels for greater detail and less for faster graphics rendering.

HOT TIP: Use this Name Convention when using custom skins to make "Custom" objects. Consider, for example, the hchaybale03_01.slt file. Copy the file and name it something like: hchaybale03_02.slt The "03_01" style suffix is helpful when you prepare to bundle the project. The first part or "03" refers to the texture map and the second part "_01" refers to the instance.

i.e. hchaybale03_01 is the first object placed using the "03" texture map while hchaybale04_08 is the eighth object using the "04" map etc.

END TEXTURE MAPS *********************************************************** ***********************************************************

The Big Secret.....My compliments to the crew for sharing the goods. Armadillo seems to work OK with Custom Objects. You can preview, place and edit instances of a custom object in a project. They appear and behave just like the stock static model objects. But....... There is a surprise when you try to bundle a track with a Custom Object.
The tracks will crash MCM2 if you have not prepared your project files properly. The crew discovered that the ~.ini file in your project folder needs to have info added before you can bundle a project properly. In addition The twisteddirt crew revealed the secret for using MULTIPLE INSTANCES of a custom object. The ~.scn file needs to be edited with specific changes made to the text lines that address the .slt files.

Just so it is clear... If you place any object in more than a single instance than it is a MULTIPLE INSTANCE.

Stock objects readily bundle when configured in multiple instances. Custom objects however are problematic when bundled in multiple instances. Armadillo presents a special challenge to track creators. A problem arises every time you save your project in Armadillo. As you edit various aspects of your project you must save the work. The save command updates and overwrites many of the files contained in your project folder. Of special interest is the fact that the ~.ini file is overwritten each time and you will find it is saved with inadequate information. You must edit and add text lines within the .ini file. The ~.scn file will also need to be edited outside of Armadillo before you can bundle a successful track.

You must edit the ~.ini and ~.scn files just before you bundle but after you save your project.

Here is a way to do it:

Armadillo is open, your ~yourprojectname~ project is finished, and you want to ride it in MCM2. Save your ~.prj file and immediately exit Armadillo........

END BIG SECRET *********************************************************** ***********************************************************

Now you must edit and update the ~.scn file. Here is what a portion of a .scn file looks like in a text editor:

I have highlighted the lines that Identify each object instance. Notice that instances are listed with location coordinates, etc. The stock objects provided by Rainbow Studios have .slb extensions while the Custom Objects use a .slt.












Multiple instances of the the same stock .slb objects all use the same name and share the geometry of a single .slb file. BUT, and here is the tricky part, Multiple instances of the same custom object must be reassigned to unique .slt object files. You must create and name additional copies of the custom .slt files in your TrackEditor/UserModels folder. The easiest way to determine how many copies you require and what names to use is to work through the text of the ~.scn file


A Objects Tutorial Stunt Project:
Here is use a simple project to use as an example in this tutorial, it is named "A Object Tutorial" Stunt Quarry. The project file is named aobjtutorial.prj. The picture shows a few models placed close to each other.
These are the only models in the whole project so it will be easy to keep track of everything.

For the sake of discussion here is a list of the models shown:
3x - CameraPlatform01.SLB
5x - Billboard_Rainbow.SLB
3x - hcfree-med-ramp01_01.SLT
1x - hcfree-vbig-ramp01_01.SLT
6x - hchaybale030_01.SLT
5x - hchaybale050_01.SLT


Now lets look in the Project Directory and see the collection of files that make up this project.

The aobjtutorial.tga and the aobjtutorialS.tga image files are the preview ID ../images presented in the MCM2 event menu. The ../images must be created and placed in the project folder BEFORE running the bundle command. If you forget to add the ID targas then Armadillo will use the default Race ID Artwork and you will need to re- Bundle. The ID ../images are both 16 bit .tga format. The full size picture is 452x220 pixels and the smaller ~S.tga is 286x139 pixels.

This project uses Custom Objects so the Usermaps.cmp and Usermaps.tex files need to be added before running the bundle command. These 2 files are generated in a separate process using the MakeCMP.exe freeware and must be added to the project directory manually. The files can be added at any time but it is easy to wait until you are ready to bundle. The MakeCMP process is discussed in detail later.

Its time to inspect the text within the original aobjtutorial.scn file: click here to open a blank window with the .scn file displayed as text.

Take a quick look and indentify the Custom .slt Models and the Stock .slb Models. The editing is only required with the .slt Models. Leave the .slb stuff alone. The next step is to search the entire contents of the .scn file in order to identify and rename MULTIPLE INSTANCES of a custom object so that each instance addresses a uniquely named .slt object file.

!!!!! The files that are addressed must, of course, be created at some is easy to do this after going through the complete ~.scn file. !!!!!

Use the Search/Find function in Notepad to work through a .scn files text and carefully rename each instance of every object file.

HOT TIP: AhaaaaaaaaaaHHHHHHHHH.....
Here is where the Naming Convention I have suggested will really help save time and effort. Consider the object named hchaybale03_01.slt, In this project we have 6 Multiple instances, and each Instance needs to be edited have a unique name. It is easy to keep track of the instances if the names remain associated to the texture map they share. Thus all instances of the hchaybale03_~.slt "object style" (if you will...) should SHARE THE SAME .tga TEXTURE MAP. This makes it easier to keep track of the objects. Each instance can be named hchaybale03_01.slt, hchaybale03_02.slt, hchaybale03_03.slt, etc., etc.
The final _~~ portion of the Naming Convention suffix identifies the actual instance of any given object style.
This Naming Convention allows for 99 Instances of 99 different object styles and easily lends itself to expansion.

!!!This step is very important any oversight or error will result in a track that crashes MCM2.!!!

Start at the top of the the .scn file, search thru for each object style and rename all the instances until you are sure that each instance of a custom .slt file has been addressed to a individual and unique name.

!!!This step is very important any oversight or error will result in a track that crashes MCM2.!!!

Compare the original aobjtutorial.scn file on the left to the edited aobjtutorial.scn file on the right:


Now you must inventory the Object Instances so that you may make copies of the actual .slt files, name them appropriately, and place them in your \TrackEditor\UserModels folder.

A count from the updated .scn file shows the project uses these custom .slt files:

NOTE: The .scn file accumulates all the data as you edit your project in Armadillo. The .scn file must ultimately be reconciled with the inventory procedure before bundling. You can use the Naming Convention as an aid to help identify and manage the various custom object instances. Perhaps you see why it makes sense to wait on editing the other files until you have worked thru the .scn file?

Its Ok to run the MakeCMP process now but you can wait a while as well. The MakeCmp process is discussed in detail later.

END EDIT .SCN FILE *********************************************************** ***********************************************************
UPDATE the UserModels FOLDER

The "bundle-ready" aobjtutorial.scn file points to unique .slt files in the TrackEditor/UserModels folder. Take a look at the contents of this UserModels folder.

This view has been simplified because only the models used in the project are in the folder. A typical UserModels folder can have a lot more stuff in it. Use the model count from the .scn file as a reference. Copy, paste, and rename the actual .slt files in order to assemble a appropriate number in the UserModels folder as shown here.





logo: CKRename file (re)naming utilityHOT TIP: I use and recommend a Marvelous piece of freeware known as CKRename. It is a file renaming utility with great sequential numbering features. I use it when making and renaming multiple copies of files, it saves a lot of time. You can download and learn more about CKRename at the official CKRename home page.



Here is the same folder after all the models have been copied. Notice that there are no additional texture maps. The .slt copies share the original .tga image. Notice as well, that there are no additional ~ _art.tga ../images. The 133x103 pixel preview ../images are used in the objects selection menu. You may create and name relative copies of the preview image for each unique model or you may not. Armadillo will display a default image stating "art not available" for any .slt model in the UserModels folder that is not accompanied by a _art.tga. The _.tga is a 41KB file. Redundant use of the preview image in the Custom Objects menu seems to strain Armadillo's memory management. The model will be available to the editor and bundler even without the preview picture.





!!!!!!!!!!!!Tips for Managing data in the UserModels folder!!!!!!!!!!!!!!!!

Consider the workflow suggested and described in this tutorial... Armadillo works fine with multiple instances of a custom object but the MCM2 game does not. Armadillo gets cranky when you fill the UserModels folder with multiple copies of models and preview ../images. So..... it seems reasonable to avoid adding the extra copies until absolutely necessary. This is why the tutorial recommends completing all the editing before preparing to bundle. In practice this can be difficult to do, there always seems to be some tweak, change or edit that you wish to perform after you have added all the object copies and overloaded Armadillo. For the most part you can reopen the projects and work normally. Just be sure to keep track of your instances and model names if you add or delete a object. You will probably notice Armadillo is sluggish. If you amass a large collection of UserModels (its easy to do, 130 haybales goes like THAT :-} ). you will certainly see Armadillo get slower. This situation can be managed by creating Temporary UserModel folders that can be switched out as different projects are active.

!!!!!!!!!!!!Tips for Managing data in the UserModels folder!!!!!!!!!!!!!!!!

END UPDATE the UserModels FOLDER *********************************************************** ***********************************************************

The MakeCMP process may be performed when ALL the Custom Object texture maps are identified. The process compiles a collection of the Custom Textures maps and generates two files: UserMaps.cmp and UserMaps.tex Here is the way to do it: Locate a copy of MakeCMP.exe and the original UserMaps.ini file that is included with the download. Create a folder and name it something like: "Temporary_MakeCMP"

Place a copy of each .tga texture map used in the project in this temporary folder.
Do not include the _art.tga preview ../images.
Place a copy of the UserMaps.ini file in the same temporary folder. The UserMaps.ini file may be used as is with no modification.

The temporary folder should contain ONLY the texture maps and the UserMaps.ini file.

Run MakeCMP.exe,

Click the ".ini file" button in the dialog box to browse and select the UserMaps.ini file in the temporary folder. Click the "process" button. When the script is finished you may exit the program.



Open the temporary folder and note the addition of several files. Copy the Usermaps.cmp and UserMaps.tex files.






Place Copies of the Usermaps.cmp and UserMaps.tex files within the project folder as shown:

That is how you perform the MakeCMP process. You may discard or store the temporary folder. You may continue to edit within the project normally. The MakeCMP process only needs to be repeated if you want to change a Texture map.

END MAKECMP *********************************************************** ***********************************************************

Look at the contents of a recently saved .ini file:

The ~.ini file is a text file that lists Configuration Settings for the project. Essentially it is a list of the FileSets and the Paths directing Armadillo to all the data required for the bundling process.

!!!!!!!!!!!!!!!!IMPORTANT CONCEPT!!!!!!!!!!!!!!!!!!!!!!
Armadillo has many unexpected traits and the surprising way it handles .ini files has an enormous impact on a projects work flow. Basically Armadillo overwrites the .ini file each and every time you run a Save command. Another surprise is that Armadillo does not write a complete .ini file ready for use with custom objects. The .ini file must be opened with a text editor and data lines must be added to prepare for a bundle. Every time you Save in Armadillo it overwrites the .ini but does not replace the data necessary for bundling a project successfully. This presents a great setback to creative momentum. The .ini file must be carefully edited prior to each bundling and so it discourages repeated test rides and tweaks. One approach is to create and manage backup copies of the .ini file that can be used to quickly paste over and replace the overwritten versions.
!!!!!!!!!!!!!!!!IMPORTANT CONCEPT!!!!!!!!!!!!!!!!!!!!!!

Take note of these three lines in the .ini file:

This line lists the final count of the Filesets used by the project. The number shown should correspond to the Number of Filesets in the .ini file. Fileset_ lines will be added and the number must be edited to reflect the final count. Its easy to update this line after all the other changes are made. 2)RootPath=J:\motocross madness

This line identifies the RootPath to the project. The first part of the Path:

J:\motocross madness 2\

points to the directory you have installed your MCM2 game in. This path will be unique for each computer system but will probably be similar to what is shown here.

The middle part of the Path points to the:

TrackEditor\Projects\ directory which all Armadillo users should have within there MCM2 Game folder.

The last portion addresses the directory which contains the actual project files. In this case the directory is named:


This sequence of lines lists individual Filesets that the project needs when the bundling process is run. The basic files are already listed in the file but extra lines have to be added.

Note that the provided fileset lines all point to files stored in the RootPath.

The UserMaps.cmp and UserMaps.tex files also need to be listed. Copies of these files should be in the project folder so the Rootpath is shared and does not need to be written out.

Each object or .slt file needs to be listed and a FULL path needs to be provided for each model. Refer to the the inventory of Models and instances that was gathered when the .scn file was edited and prepared for bundling.

Here is the list showing the models described in the edited aobjtutorial.scn file:


Take a look at the aobjtutorial.prj file after it has been prepared for bundling: I have highlighted some of the changes


The .ini file is now ready for the bundle process. It has gotten a lot longer and you might imagine it can get very complicated with a large project that has been edited repeatedly.

MAKE BACKUPs OF YOUR .ini FILES....Every time you Save in Armadillo the edited version of the .ini file will be overwritten and the the basic .ini file will need to be edited again. Use a backup of your bundle ready .ini file to paste over the basic .ini file that Armadillo has saved.


END EDIT .INI FILE *********************************************************** ***********************************************************

It is important to understand the implications of the bundle preparation described in this tutorial. Most of the edits and updates suggested here must before performed AFTER you have saved a project but BEFORE bundling, This seems inconvenient because when working with stock objects in Nationals, SX and Quarrys this step is not necessary, just Save a race and immediately run the Bundle command. This does not work with Custom Objects. You must save your work, EXIT armadillo, make all the edits and updates, relaunch Armadillo and immediately bundle your project.

What happens when you have bundled your Race and wish to continue editing in Armadillo?

The .scn file lists all the Models and their positions, as well info about Terrain Scale, lighting etc. The edited .scn file addresses the unique .slt files so the appropriate files must be available in the UserModels folder throughout the editing process. Armadillo does not overwrite the data in the .scn file when Save is run. Custom Models can be repositioned normally and the .scn file will be updated by Armadillo.

Placing additional or Deleting existing Custom Objects will require more editing of the .scn and .ini files. Special care must be taken to manage and coordinate the editing of both files so that they match.

Changes or Save commands performed in Armadillo after bundle preparation that do not effect the Model count will not require any further editing of the .scn file.

The .ini file is overwritten each time you save.
Keep backups of your "bundle-ready" .ini file so you can quickly paste over the simple .ini file Armadillo writes to your project folder.

Every time you save in Armadillo you KILL the .ini file.
If you Save an edit in Armadillo after the bundle preparation you must repeat this five step process:

1)Save the project,
2)Exit armadillo,
3)Edit and prepare the .ini file, Can you see how having a "bundle-copy" that is ready paste can save time?
4)Launch Armadillo,
5)Bundle the project.

END Editing IN ARMADILLO AFTER BUNDLE PREPARATION: ***********************************************************

Here's is a brief synopsis of the steps described in this tutorial:

1)create and edit and Save a project using Custom Objects.

2)Exit Armadillo. Edit the .scn file to inventory and address unique instances of .slt models

3)Create copies of the .slt Objects in the UserModels folder so there are unique models for the project

4)Use MakeCMP.exe to Create the UserMaps.cmp and the Usermaps.tex files and paste them in the project folder.

5)Edit the .ini file, add paths to the named .slt files listed in the .scn file.

6)Launch Armadillo.

7)Bundle the project.


I hope this tutorial helps MCM2 track designers make use of Custom Objects.

Please contact me with questions, thoughts, or suggestions.

Mike McCue

more mcm2 at harmonic cycle
track downloads
object downloads
Armadillo info
MCM2 links

Justin's logo for twisted dirt