I thought I'd share what I know about manually editing the files within an MTM2 track pod, specifically the SIT and the LVL files. This is all coming from the perspective of a Traxx 1.2 and WinPOD user, old TrackEd pros probably know all about this stuff already ;-) In fact if you look at the old <a href=http://ymscorner.com/mtm_tracked_faq.htm target=faq>TrackED FAQ</a> for editing mtm1 you should spot some of this and more. If anyone has any additions or corrections then please speak up.
Quick-links to the most practical sections: (do not use links if this is your first time reading this)
- <a href=#winpod>Using WinPOD to extract and create POD files.</a>
- <a href=#prevpic>Changing track preview pictures.</a>
- <a href=#music>Changing the music soundtrack.</a>
- <a href=#weather>Setting a weather mask.</a>
- <a href=#bdrop>Adding a backdrop.</a>
- <a href=#sit>SIT file overview.</a>
The .SIT file:
<a name="sit"></a>The SIT (situation) file is a plain text file inside every track POD that sets many track variables, this file can be edited with a plain text editor and many variables can be changed quickly and easily. After using a program like WinPOD to extract all of the files from a track POD you will find the .SIT file in the WORLD sub-folder.
The sections of a .SIT file: (listed chronologically)
1) track data
2) truck data
*** Your Truck (not used) ***
*** Vehicles ***
3) model data
*** Ramps ***
*** Boxes ***
*** Cylinders ***
*** Top Crush ***
4) course data
*** Course ***
*** Extended Course Definitions ***
5) backdrop data
*** Stadium ***
*** Backdrop ***
Here is the track data section from Crazy98 (the very first section of the SIT):
<font size=1>
crazy98.lvl
!Race Track Name
Crazy '98
Race Track Locale
Margaritaville, TX
Track Longtitude, Latitude
7947984,7947988
Track Logo .BMP file
UI\Crazy98.bmp
Track Map .BMP file
UI\tn-98.bmp
Track Fly-By .AVI file
Sonic
Track Announcer .WAV file
Track
Track Description .TXT file
crazy98.txt
Track Race Type
2
@Redbook Audio Track
6
!ambient sound,track length,weather mask
14,5879.458984,65535
viewmode,spotd,spotp,spoth,zoom
0,16384,-16383,27480,81920
$racetime, raceStartTime, dragDebugTimer
0.000000,0.000000,0.000000
controlflag, autoShift, autoStage, bothStaged, bothStagedPrev
0,1,0,0,0
stageComFlag, bonusLapFlag
0,0
</font>
I will now detail the values I know or care about...
The first line indicates the LVL file the track will use, the LVL is also a plain text file contained in every track POD, it can be edited too (more info below).
The Race Track Name is the track name seen on the in-game menu.
The Track Logo .BMP and Track Map .BMP specify the images seen on the in-game menu.
The Track Description .TXT is a leftover from mtm1 and is not used for mtm2 tracks.
The Track Race Type number determines whether a track will be a circuit, rally or rumble. The number "2" is used for a circuit, "3" for a rally and "4" for a rumble. You can convert any Rumble or CNR track into one that is playable offline by changing its number, simply extract the POD, change the race type number in the SIT file and then re-create the POD.
The Redbook Audio Track specifies what CD audio track will be played during the race, the value works only if a person has the "play CD tracks" option selected in the game's sound options. This value will override the WAV specified in the LVL file (covered below), but only when the "play cd tracks" option is enabled and a CD is in the drive. The mtm2 CD has ten tracks so I assume the normal values are 1 through 10.
<a name="weather"></a>ambient sound,track length,weather mask:
The ambient sound value changes the background sounds, like birds chirping and whatever else. I believe the valid values are 1 to 15 -- easily set using Traxx.
I don't know how the track length value works.
The weather mask value sets the allowable weather masks, this value is easily changed but I don't have a list of usable values to share. All I know is that the number 65535 is the default setting that allows the user to choose from all weather options themselves. I also know the number 144 forces a rainy weather mask (it is used in the stock Graveyard track). A list of values would be easy to determine if you had the right tools, but considering how much I dislike forced weather masks I'm kind of glad I don't have a list to share ;-)
Continuing down the SIT file:
*** Vehicles ***
The truck data section is rather long, it lists each computer truck's starting position and other values.
The IPOS value indicates the trucks coordinates when the game starts. I can tell you the middle number indicates the height, and I think this height can be raised well above 255 ;-)
*** Ramps ***
Ramps are a special object type but I don't really understand them or the possibilities they offer. What I can see of them in SIT files makes little sense, I know Sidewinder Canyon (snake) has 8 of them but I can't spot them in the game. Other tracks have very obvious ramps that offer unique 'jumping' physics. Anyway, placing ramps manually looks to be very complicated if not impossible.
*** Boxes ***
Boxes are "scenery objects" -- models.
Here is an example of a model's data:
<font size=1>ipos
2388.546875,132.498047,1759.554688
theta,phi,psi
0.000000,0.000000,12.028519
model
backhoe.BIN
mass
0.000000
bvel
0.000000,0.000000,0.000000
p,q,r
0.000000,0.000000,0.000000
!type,flags
0,0
priority
2
@sound effect entries
NULL.WAV
NULL.WAV
0,0</font>
IPOS is the model's coordinates, the middle value is its height. If you ever want a model raised well above the highest terrain you can arrange it in a track editor and then raise it even higher by raising its IPOS value in the SIT file.
Theta, phi and psi indicate the model's angle and rotation values.
MODEL is model name and MASS indicates it's weight, of course.
BVEL sets the velocity values, used only for moving models (trains).
The TYPE value indicates the model type, as in "10" for moving "11" for post etc.
PRIORITY indicates the "scenery level" at which a model is displayed -- sparse, normal or complex whose values are 0, 1 and 2 if I'm not mistaken.
SOUND EFECTS are the impact sounds and continuous sounds optionally set for each model.
<a name="iposedit"></a>Changing IPOS: If you ever have a model that needs to be moved in smaller increments than Traxx can move it (too high/too low) then edit the IPOS number directly.
A certain model's ipos value of.....
ipos
4048.500000,240.000000,4995.500000
...corresponds to the object properties listed in Traxx 1.2 as
X= 8087 Y=9991
So Traxx seems to double the IPOS number, this is useful to know if you are hunting down a specific model in your SIT file. From a perspective of using Traxx, the "Y" value is north/south and the "X" is east/west (the south-west corner would be zeor/zero coordinates, so the ipos value is listed like this: x, height, y
*** Cylinders ***
*** Top Crush ***
These sections of the SIT file appear to be unused.
*** Course ***
*** Extended Course Definitions ***
Course data is fairly obvious and nothing you'd care to edit, SpeedLimit and TrackWidth I don't understand, but they sure look interesting.
*** Stadium ***
*** Backdrop ***
The stadium settings are only used for stadium tracks, used to specify the special kind of arena bin model..
<a name="bdrop"></a>Backdrop settings are pretty basic too. If you ever drive an mtm1 track and it appears to have no backdrop but instead shows a severe hall of mirrors effect along the horizon, it usually means there was NO backdrop put into the track, and the last lines of the SIT file will show whether that is the case or not. The real fix for that is to extract the pod, edit the SIT, add a backdrop model and textures and re-pod it....
Here is the very last lines of a SIT file WITHOUT a backdrop:
*** Backdrop ***
backdropType,backdropCount
0,0
backdropModelName
Here is the very last lines of a SIT file WITH a backdrop:
*** Backdrop ***
backdropType,backdropCount
0,1
backdropModelName
11bdrop.bin
<HR>
Making your track pods look and sound better using WinPOD.
<a name="music"></a><B>Changing an MTM2 track's music soundtrack:
(aka: "I never want to hear RockX.wav again!")</B>
Extract the track POD and then edit the .LVL file in the "LEVELS" folder using a plain text editor. Approximately two-thirds of the way down (what should be the 14th line of text) you will see the name of the WAV file used as the soundtrack, change the filename to the name of one of the "stock" WAV soundtracks listed in the Music.POD ( aztec.wav - break.wav - farm.wav - gravex.wav - rockx.wav - scrap.wav - splash.wav - surf.wav - voodoo.wav ). Tip: You can use WinPOD to view and preview the tracks in the music.pod.
Note: some MTM2 tracks will have a .MOD file listed in the .LVL file, change this to a valid .WAV file. MTM2 tracks cannot use .MOD soundtracks and the listing of a .MOD file in an MTM2 .LVL file causes the game to use the default "RockX.wav" (Traxx 1.2 writes pods like this if no custom WAV has been specified).
<a name="prevpic"></a>
Changing an MTM2 track's preview pictures:
Extract the POD, replace the BMP's in the UI folder with your own, then re-create the POD. No more dull preview pictures! Your BMP's must be the exact size, format and color palette as the ones in the UI folder. You could open the extracted BMP's in your graphics program and then paint or paste your new image in on top of the existing image.
<a name="winpod"></a>
Using WinPOD to extract and create track pods:
Get WinPOD along with it's required dll's here:
(ZIP contains all necessary files -- no installation necessary)
<a href=http://www.geocities.com/TimesSquare/Corridor/9018/winpod.zip>http://www.geocities.com/TimesSquare/Corridor/9018/winpod.zip</a>
(You must copy and paste the URL to the address bar of your web browser -- direct links from outside Geocities will not work.)
Create a temporary folder for the POD file you are going extract (to be deleted once the new POD is created).
Start WinPOD and load a POD file. (For easier POD loading you can "associate" the POD file type to the WinPOD.EXE, this will enable automatic loading when a POD file is double clicked.)
Once the POD is loaded, click the large "EXTRACT" button on the main WinPOD window. Browse to the folder you created for extracting the POD to. Select the "Extract All Files" and "Extract Response File" boxes and then click the "Extract" button.
A series of folders will be created when the POD is extracted and a *.LST file will be created in the main folder. This "list" file is the "response" file, it is a text file that lists all files within the POD, this list is used when creating a new POD. If you are adding files to a POD (inserting a backdrop and textures for example) you must place the files in the proper folders and add the filenames to the response file/LiST.
++(at this point choose one of the editing options listed above)++
Once you've made your changes, return to WinPOD and click the "OPEN" button on the main WinPOD window. Change the drop down menu to "Response File (*.lst)" and then browse for and open the .LST file in the main folder of the POD you extracted.
When the .LST file has successfully opened, click the "MAKE" button on the main WinPOD window. Now type the FULL filename of the POD you wish to create, including the ".POD" extension. Browse to the folder you wish to create the new POD file in, then click "MAKE". Alternately you can browse to and click on the POD you wish to replace.