I assume models should go along with it?-The ability to vertically scale terrain. E.g. 1.3* all elevations rounded down.
-Ability to lift all terrain by a fixed amount. E.g. all elevations + 5.
Traxx 1.6.7
Re: Traxx 1.6.5
Re: Traxx 1.6.5
My original reason for suggesting the second was that after resizing models to their correct proportions, they were all floating above the terrain and I wanted to move the terrain up to the models. A better solution is to move the models down to the terrain (all at once), which I suggested yesterday. In this scenario, I'd want to lift the terrain and not move the models, but now that you mention it, I could imagine wanting to adjust both models and terrain simultaneously too. So, being able to choose would be optimal.
For scaling, I imagine I'd want the model positions adjusted, but maybe someone can think of a time they wouldn't? Having the option here would be nice too.
For scaling, I imagine I'd want the model positions adjusted, but maybe someone can think of a time they wouldn't? Having the option here would be nice too.
Re: Traxx 1.6.6
https://mtm2.com/%7Etraxx/downloads/traxx_166.zip
Good luck RuDeE. I haven't had a chance to test every change so you'll get to be the guinea pig. The reason I was able to work on this is because the AI work now is set up to do a lot of offline testing and in the downtime (for me) I can work on other stuff. I'm just afraid of touching anything that is MTM2 related code out of fear of overlapping sessions and ending up with some garbled code.
Side note: Your ask about raising the whole terrain existed the whole time, you just had to right click to see it. It didn't show up anywhere else
## New features
| | what | where | tested |
|---|---|---|---|
| **HD track pictures** | Icon, browse picture and info photo can be PNG or TGA (or a 24/32-bit BMP, or a paste, which become PNG), at the old shape and any larger size. HD icon at most 128 a side; BMP icon at most 48. The 8-bit BMP is made from the HD picture automatically; "Also write 8-bit BMP copies (old menus)" leaves them out. Packed as `UI\<name>.PNG/.TGA` beside the BMP and read back from pods | Track Components | not yet confirmed |
| **Several models at once** | Ctrl+click adds/removes, Ctrl+drag box-selects. Move, raise, turn, tilt, size, drag and Shift+drag act on the whole selection, each model in place. Delete takes all of them after asking. A model picked in the Models window goes onto all of them | 3D view, Objects mode | yes |
| **Set Type** | Right-click > Set Type retypes the whole selection. Track limits (checkpoints, ramps, top-crush, trains + moving, lights) are counted first: what fits is converted, the rest left as it was, and the author told how many | 3D view right-click menu | yes |
| **Several textures at once** | Shift+click adds/removes; texture type and grip depth then change for all of them. The last clicked keeps the red frame (painting and flood use it), the rest are amber, the name reads `NAME +3` | Textures window | yes |
| **Keys inside Object Properties** | C/D/F/V, S/X, R/T, G/B, H/N work while the dialog is open, live, and Cancel still undoes them | Object Properties | yes |
| **Finest step = Object Properties' arrow** | Ctrl+Shift with any object key moves 0.1 of the displayed X/Y unit, 0.1 of height, 0.01 of a degree. Movement's finest used to be a whole unit | view and Object Properties | yes |
| **World Name** | The stem the track's files are named from can be the author's own; "Based on Track Name" by default. Letters and digits, upper case, up to 18; kept through renames | Track Components | yes |
| **Paste Composite, true colour** | Takes a 24/32-bit clipboard image or a PNG/TGA file up to 8192 a side; cuts to PNG, TGA or RAW/ACT tiles of 32 to 1024; optional legacy copies; resizable window with a preview grid | Textures window | yes |
| **Adjust Terrain Heights** | Lift, or scale every height by a factor (rounded down), with a live Now/After readout and "Avoid clipping". Objects, truck starts and checkpoints ride along (toggle); water level separately (toggle). Undo carries it all back | Edit menu, and view right-click | yes |
| **File > Open** | Starts in the folder a .txx was last opened from or saved to | File menu | yes |
| **Live terrain-mask preview** | "Detail Mask" washes the painted mask over the ground in the 3D view, darker where the paint is stronger. Indicative, not the engine shader; OpenGL view only | View | yes |
| **Keyboard Summary** | New section for selection and the finest steps; the picture's Move Object label corrected | Help menu | yes |
## Changed behaviour
- **The track stem caps at 18 characters, silently; the track NAME is not limited.** Twenty
could not carry `ART\<stem>_MASK.PNG` inside a pod entry. The name shown in the game keeps
whatever the author types.
- **A keyboard move keeps the model's height above the ground** at its new spot, as Object
Properties always did. It used to keep the old absolute height, so a model nudged across a
slope floated or sank.
- **A BMP icon over 48 pixels is refused** when loaded or pasted in MTM2 mode, with the
engine's reason - it would have shown the race-type icon in game.
- **Paste Composite's border overlap is the engine's real ring** (1/32 of the tile: 2 px at
64, 8 px at 256) instead of a fixed 4, which repeated a 12-pixel strip at every 256 seam.
PNG and TGA tiles abut.
- The **texture pane hides `_DTL` and `_MASK` files**, as it already hid `_N` and `_AO`. They
are still loaded through Track Components.
## Fixes
| | was | tested |
|---|---|---|
| Mask preview | Drew nothing: wrong renderer path, a display-list cache that ignored it, and the texture unit discarding the tint. Its readout also named a pod file that did not exist yet | yes |
| Cloned objects | Every object on a cloned track sank to its centre on the first nudge (height above ground never derived). A `.txx` saved from such a clone is repaired as it opens | yes |
| Buried models | A model buried on purpose was clamped up to ground level when edited, and Reset showed "0.0" while applying the model's resting height | yes |
| Stale models | A model `.BIN` changed on disk with Traxx open went into the pod as the old version. Changed models are now reloaded before the pod is written | yes |
| PNG-only model art | A false "missing .RAW" warning for every such texture, and broken `.raw/.act` file names written to the art folder for faces named `FOO.` | yes |
| PNG-only backdrop | The import deleted the backdrop, then packed palette and tile under one colliding name, and the view drew a placeholder | yes |
| Pressing OK in Track Components | Silently renamed every file a pod would write, whenever its stem was not the one the name derives (e.g. `ARENA12` for "Arena 12 Deluxe") | yes |
| File > New | Kept the previous track's stem | yes |
| Info photo status line | Did not update when a photo was loaded or pasted, only on the next keystroke in the description | not separately confirmed |
| Palette optimiser | Weighted every model texture the same: the usage count could never match a face (name form) and was asked about the wrong slot (index offset). Now weight = size weight + min(objects wearing it, 10) | build and code reading only; changes only an optimised palette |
## Files and compatibility
- **`.txx` gains version 10**, written only by a track that has HD pictures. Such a track will
not open in 1.6.5 or older; every other track still writes V9 or lower and opens there.
- **Pods:** new `UI\<name>.PNG` / `.TGA` entries beside the UI BMPs when HD pictures are used.
A pod whose HD pictures replace their BMPs stays `.SIT`: the original game shows its own
placeholder for the missing picture, and the track still lists and plays.
- **`DATA\<stem>.TXV`** records `toolVersion=1.6.6`.
- Nothing else about the pod or `.SIT` format changed.
Good luck RuDeE. I haven't had a chance to test every change so you'll get to be the guinea pig. The reason I was able to work on this is because the AI work now is set up to do a lot of offline testing and in the downtime (for me) I can work on other stuff. I'm just afraid of touching anything that is MTM2 related code out of fear of overlapping sessions and ending up with some garbled code.
Side note: Your ask about raising the whole terrain existed the whole time, you just had to right click to see it. It didn't show up anywhere else
## New features
| | what | where | tested |
|---|---|---|---|
| **HD track pictures** | Icon, browse picture and info photo can be PNG or TGA (or a 24/32-bit BMP, or a paste, which become PNG), at the old shape and any larger size. HD icon at most 128 a side; BMP icon at most 48. The 8-bit BMP is made from the HD picture automatically; "Also write 8-bit BMP copies (old menus)" leaves them out. Packed as `UI\<name>.PNG/.TGA` beside the BMP and read back from pods | Track Components | not yet confirmed |
| **Several models at once** | Ctrl+click adds/removes, Ctrl+drag box-selects. Move, raise, turn, tilt, size, drag and Shift+drag act on the whole selection, each model in place. Delete takes all of them after asking. A model picked in the Models window goes onto all of them | 3D view, Objects mode | yes |
| **Set Type** | Right-click > Set Type retypes the whole selection. Track limits (checkpoints, ramps, top-crush, trains + moving, lights) are counted first: what fits is converted, the rest left as it was, and the author told how many | 3D view right-click menu | yes |
| **Several textures at once** | Shift+click adds/removes; texture type and grip depth then change for all of them. The last clicked keeps the red frame (painting and flood use it), the rest are amber, the name reads `NAME +3` | Textures window | yes |
| **Keys inside Object Properties** | C/D/F/V, S/X, R/T, G/B, H/N work while the dialog is open, live, and Cancel still undoes them | Object Properties | yes |
| **Finest step = Object Properties' arrow** | Ctrl+Shift with any object key moves 0.1 of the displayed X/Y unit, 0.1 of height, 0.01 of a degree. Movement's finest used to be a whole unit | view and Object Properties | yes |
| **World Name** | The stem the track's files are named from can be the author's own; "Based on Track Name" by default. Letters and digits, upper case, up to 18; kept through renames | Track Components | yes |
| **Paste Composite, true colour** | Takes a 24/32-bit clipboard image or a PNG/TGA file up to 8192 a side; cuts to PNG, TGA or RAW/ACT tiles of 32 to 1024; optional legacy copies; resizable window with a preview grid | Textures window | yes |
| **Adjust Terrain Heights** | Lift, or scale every height by a factor (rounded down), with a live Now/After readout and "Avoid clipping". Objects, truck starts and checkpoints ride along (toggle); water level separately (toggle). Undo carries it all back | Edit menu, and view right-click | yes |
| **File > Open** | Starts in the folder a .txx was last opened from or saved to | File menu | yes |
| **Live terrain-mask preview** | "Detail Mask" washes the painted mask over the ground in the 3D view, darker where the paint is stronger. Indicative, not the engine shader; OpenGL view only | View | yes |
| **Keyboard Summary** | New section for selection and the finest steps; the picture's Move Object label corrected | Help menu | yes |
## Changed behaviour
- **The track stem caps at 18 characters, silently; the track NAME is not limited.** Twenty
could not carry `ART\<stem>_MASK.PNG` inside a pod entry. The name shown in the game keeps
whatever the author types.
- **A keyboard move keeps the model's height above the ground** at its new spot, as Object
Properties always did. It used to keep the old absolute height, so a model nudged across a
slope floated or sank.
- **A BMP icon over 48 pixels is refused** when loaded or pasted in MTM2 mode, with the
engine's reason - it would have shown the race-type icon in game.
- **Paste Composite's border overlap is the engine's real ring** (1/32 of the tile: 2 px at
64, 8 px at 256) instead of a fixed 4, which repeated a 12-pixel strip at every 256 seam.
PNG and TGA tiles abut.
- The **texture pane hides `_DTL` and `_MASK` files**, as it already hid `_N` and `_AO`. They
are still loaded through Track Components.
## Fixes
| | was | tested |
|---|---|---|
| Mask preview | Drew nothing: wrong renderer path, a display-list cache that ignored it, and the texture unit discarding the tint. Its readout also named a pod file that did not exist yet | yes |
| Cloned objects | Every object on a cloned track sank to its centre on the first nudge (height above ground never derived). A `.txx` saved from such a clone is repaired as it opens | yes |
| Buried models | A model buried on purpose was clamped up to ground level when edited, and Reset showed "0.0" while applying the model's resting height | yes |
| Stale models | A model `.BIN` changed on disk with Traxx open went into the pod as the old version. Changed models are now reloaded before the pod is written | yes |
| PNG-only model art | A false "missing .RAW" warning for every such texture, and broken `.raw/.act` file names written to the art folder for faces named `FOO.` | yes |
| PNG-only backdrop | The import deleted the backdrop, then packed palette and tile under one colliding name, and the view drew a placeholder | yes |
| Pressing OK in Track Components | Silently renamed every file a pod would write, whenever its stem was not the one the name derives (e.g. `ARENA12` for "Arena 12 Deluxe") | yes |
| File > New | Kept the previous track's stem | yes |
| Info photo status line | Did not update when a photo was loaded or pasted, only on the next keystroke in the description | not separately confirmed |
| Palette optimiser | Weighted every model texture the same: the usage count could never match a face (name form) and was asked about the wrong slot (index offset). Now weight = size weight + min(objects wearing it, 10) | build and code reading only; changes only an optimised palette |
## Files and compatibility
- **`.txx` gains version 10**, written only by a track that has HD pictures. Such a track will
not open in 1.6.5 or older; every other track still writes V9 or lower and opens there.
- **Pods:** new `UI\<name>.PNG` / `.TGA` entries beside the UI BMPs when HD pictures are used.
A pod whose HD pictures replace their BMPs stays `.SIT`: the original game shows its own
placeholder for the missing picture, and the track still lists and plays.
- **`DATA\<stem>.TXV`** records `toolVersion=1.6.6`.
- Nothing else about the pod or `.SIT` format changed.
Re: Traxx 1.6.6
One thing to note, even if you load a .png for the track picture (with no .bmp), the .sit file will stay say XXXX.BMP. MTM2 uses that to search for the images, so it reads XXXX.BMP and first searches if there is a .png variant. It's a little quirk that I didn't want to change right now but I might decide to change it later, especially if it affects the online track viewer.
Re: Traxx 1.6.6
Fila, awesome thank you! Played with it for a few seconds this morning and the stuff I tried works great. Looking forward to testing everything as time allows this week.
A couple more requests for the texture window (no rush):
-box select there would be nice too. Just click and drag to select a bunch of textures. After selection, holding shift+click and drag selects more, and so on.
-scroll wheel support to scroll down in the textures window.
-a little toggle on the texture window for "always in front" (current behavior), so one can turn this off. My texture window is so big now it covers the editor window and I have to close it to return to track editing.
A couple more requests for the texture window (no rush):
-box select there would be nice too. Just click and drag to select a bunch of textures. After selection, holding shift+click and drag selects more, and so on.
-scroll wheel support to scroll down in the textures window.
-a little toggle on the texture window for "always in front" (current behavior), so one can turn this off. My texture window is so big now it covers the editor window and I have to close it to return to track editing.
Re: Traxx 1.6.6
Converted Team Death's Roanoke River with Kmaster's 0.8.1 converter: https://drive.google.com/file/d/10by1rk ... sp=sharing
The pod runs in game, though the AI routes are broken (disappeared) compared to what Kmaster's track viewer shows. Exported everything to Traxx 1.6.6 to start working on it and trying to close the si2 crashes Traxx with no error. So, I tried just viewing the pod in Traxx which also causes a silent crash.
The pod runs in game, though the AI routes are broken (disappeared) compared to what Kmaster's track viewer shows. Exported everything to Traxx 1.6.6 to start working on it and trying to close the si2 crashes Traxx with no error. So, I tried just viewing the pod in Traxx which also causes a silent crash.
Re: Traxx 1.6.6
The converter reports max amount of objects but actually places 1 short. So both the engine and traxx go searching for the missing object and end up reading the wrong memory information. Pure luck of the draw that the game doesn't crash but only messes up the routes.
I'm curious how come the track viewer works though.
Anyway I'll fix it when I get home. And by fixing it I mean traxx is going to report that there's a discrepancy between number of objects and placed amount and then update the count itself so it doesn't crash.
I'm also going to update the way the checkpoints are displayed in traxx. I'm going to bump the number to 60 for the next beta patch and gotta make it easier to keep track in traxx.
I'm curious how come the track viewer works though.
Anyway I'll fix it when I get home. And by fixing it I mean traxx is going to report that there's a discrepancy between number of objects and placed amount and then update the count itself so it doesn't crash.
I'm also going to update the way the checkpoints are displayed in traxx. I'm going to bump the number to 60 for the next beta patch and gotta make it easier to keep track in traxx.
Re: Traxx 1.6.6
That all sounds good. I did remove one checkpoint by hand in the .si2, but I didn't change the count anywhere in the file. I'll see if I can fix that now and open it in Traxx. Interesting the track still works in game with this error in the si2.
Re: Traxx 1.6.6
Is there anywhere to edit the tide speed in Traxx (or anywhere else)? Would be nice to add to Traxx if tide speed exists. Could go under the "special" menu.
Also, water height seems to increase in multiples of 4. So, water height=1 in traxx means water height = 4 in the sit. It would be nice to either have these numbers be 1-to-1 or else allow fractional values in Traxx, rounded to the nearest quarter. I'm converting a track that needs water height = 2. So, I had to do it manually in the sit. Traxx beginners would never know to look for this.
Also, water height seems to increase in multiples of 4. So, water height=1 in traxx means water height = 4 in the sit. It would be nice to either have these numbers be 1-to-1 or else allow fractional values in Traxx, rounded to the nearest quarter. I'm converting a track that needs water height = 2. So, I had to do it manually in the sit. Traxx beginners would never know to look for this.
Re: Traxx 1.6.6
what do you mean by "max amount of objects"? the SIT's "box count"? That's just something old tech needsFila wrote: Wed Sep 30, 2026 12:25 pm The converter reports max amount of objects but actually places 1 short. So both the engine and traxx go searching for the missing object and end up reading the wrong memory information. Pure luck of the draw that the game doesn't crash but only messes up the routes.
I'm curious how come the track viewer works though.
Track viewer is not tied to that fixed number. So even if a SIT/SI2 file was one box short, it would load cleanly in track viewer, with no out-of-bounds read issues. Ain't memory-managed platforms lovely?
I analyzed the conversion log inside RuDeEs converted ROANOKER_MTM2_HD.POD (every converted POD has a conversion log inside the POD file) and my agent says the log and the POD content doesn't match. I also converted Roanoke River and the box count comes correct, with 4096 as box count, 4096 valid records, 21 checkpoints and a SI2 size of 1,062,653 bytes, compared to the 4096 box count, 4095 valid records, 20 checkpoints and 1,062,385 bytes of RuDeE's ROANOKER_MTM2_HD.POD.
I guess the issue here was the 21 checkpoints. JSMTM2Converter didn't have a 20 checkpoint cap and let all 21 through, RuDeE removed one (checkpoint 6 i think) but didn't update the box count and that's how we got here.
Fix: limit checkpoints to 20 in JSMTM2Converter. Since you are going to increase the CP limit, i will make this optional.
Q: should I add a warning if box count / real object count doesn't match in JSTrackViewer? I'm listening. Edit: i added the warning.
Thanks for the heads up!!
Last edited by Kmaster on Wed Sep 30, 2026 11:02 pm, edited 1 time in total.
Re: Traxx 1.6.6
That's correct. I don't know which checkpoint I removed either haha. Just removed a random one in the middle.I guess the issue here was the 21 checkpoints. JSMTM2Converter didn't have this cap and let all 21 through, RuDeE removed one (checkpoint 6 i think) but didn't update the box count and that's how we got here.
Re: Traxx 1.6.7
https://mtm2.com/%7Etraxx/downloads/traxx_167.zip
1.6.7 is up:
Changes:
- box select there would be nice too. Just click and drag to select a bunch of textures. After selection, holding shift+click and drag selects more, and so on.
- scroll wheel support to scroll down in the textures window.
- checkpoint boxes are now visually numbered. Especially helpful when using the generic invisible box. Instead of saying BOX it says CP XX. It also shows an arrow which way the correct heading is. It works somewhat similar in rumbles except for the arrows, they do not show up in rumbles but the labels show up.
- fixed a bug where if the number of objects expected vs reality differ (usually from manually editing the sit/si2 file), traxx will notify and fix the number before opening.
- added subdivisions for the water level. Increments in .25 now for a more accurate placement. software renderer cannot correctly place the water height, openGL places it correctly.
- added a wireframe for generic boxes whenever they are selected (basically how bin models work). This is generally more helpful to know which ones are selected when you have a bunch of them next to each other (such as rumbles) but also because having the CP permanently labeled now, you never knew if you selected the box or not.
1.6.7 is up:
Changes:
- box select there would be nice too. Just click and drag to select a bunch of textures. After selection, holding shift+click and drag selects more, and so on.
- scroll wheel support to scroll down in the textures window.
- checkpoint boxes are now visually numbered. Especially helpful when using the generic invisible box. Instead of saying BOX it says CP XX. It also shows an arrow which way the correct heading is. It works somewhat similar in rumbles except for the arrows, they do not show up in rumbles but the labels show up.
- fixed a bug where if the number of objects expected vs reality differ (usually from manually editing the sit/si2 file), traxx will notify and fix the number before opening.
- added subdivisions for the water level. Increments in .25 now for a more accurate placement. software renderer cannot correctly place the water height, openGL places it correctly.
- added a wireframe for generic boxes whenever they are selected (basically how bin models work). This is generally more helpful to know which ones are selected when you have a bunch of them next to each other (such as rumbles) but also because having the CP permanently labeled now, you never knew if you selected the box or not.
Re: Traxx 1.6.7
RuDeE:
The water tide is hard coded, i will have to look into the engine about this.
- a little toggle on the texture window for "always in front" (current behavior), so one can turn this off. My texture window is so big now it covers the editor window and I have to close it to return to track editing.
Do you mean that, when the goggle is off, you want it to just automatically close when clicking outside of it?
The water tide is hard coded, i will have to look into the engine about this.
- a little toggle on the texture window for "always in front" (current behavior), so one can turn this off. My texture window is so big now it covers the editor window and I have to close it to return to track editing.
Do you mean that, when the goggle is off, you want it to just automatically close when clicking outside of it?