Trainz File TypesEdit
In addition to the following list of file types, Trainz also makes extensive use of several common file types one might observe in any Windows installation set up for office or home use without the Trainz simulator, but especially various common image file formats such as .bmp, .jpg, .png, and for textures: the less common .TGA standardized file types. Most non-image file types are of the .txt (plain text) format which trainz uses extensively as ini files to control texturing and for config.txt files found within every asset self-definition folder.
These common file types will often be set off by links to the apropos en.Wikipedia articles. The following list attempts to be comprehensive, so also includes file extensions of older/obsolete as well as current file types used in the newer graphics models. Trainz major data model transitions took place during Trainz 2004, Trainz 2009, and Trainz 2012. Prior to TRS2004 config.txt files were coded BOM, and many assets will still have a BOM on the first line.
ANIM files — Animation, for example a steam locomotive's connecting rod movements, or water movement on a river or lake. Those wheels you see rotating under the train or that lever you can throw in the CAB all involve dynamic positioning of graphic elements.
- The range and appearance of those motions are defined in an animation file by the CC
- who also determines whether they are triggered by script interaction[note 1]
- or free running (asynchronous). However, even Free running animations don't run chaotically consuming computing resources, but instead have a friendly and benificent CC set up a triggered radius within which range a camera must occur for the animation to begin repeating it's asynchronous loop.[note 2]
BMK files — have existence only in map folders (post-save having semi-permanent existences like all map asset files, and in the data subfolder \Cache\bookmarks and both never involve human actions directly, but record specific camera viewpoint coordinates. These later files will be active (open or changing) only when Surveyor is active in those specific maps provided that a user has changed any bookmarks state within Surveyor.[note 3]
- About Bookmarks...
There are ten bookmarks, 0-9 built into Surveyor's editing aids. The are used to record the current camera position (and active data, such as center of view, focal distance, and 3D co-ord of the viewpoint) at the moment when and where they are defined.
- They are all indexed to the number keys 0 -9 (the default 'action' keys), allowing an map builder to quickly return to exactly the same view as when saved.
- The one sometimes-bad feature is their action (teleportation, n'est pas?) activates merely by pressing the keys 0-to-9 without any Ctrl+Alt+⊞ Win+⇧ Shift key (nor confirmation!) with no appeal and instant displacement—even if you didn't mean it! (On a QWERTY keyboard, it is easy enough to brush one of these accidently when using other some other map tools key sequences).
- They were also historically Set or Cleared by using 'that number hotkey' in combinations with shift/control keys or a mouse-click to select a specific change in the active edit camera location (teleportation!). These abrupt displacements in viewpoint state change use the number activation keys (action key) or 'require a click on the action-button' now-a-days relocated into today's pick list—a bummer when working with the pick list closed.
- These state-change commands always include their respective action button—either by a Shft control key press + a mouse click or by referencing the action (number) keys directly pressing it with the same control keys—either way requiring a combination to set or clear a specific hot key. In TANE the set/clear key variations in Surveyor and use of such 'in-world displacements' still allow using the same number 'action keys', but the new software team has not replicated the same historic control keys (only) set/clear combinations.
Before TS2009's release these action buttons from Trainz 1.0—TC3 were visible along the top of the screen in the 'Windows Title Bar, which in all those versions, would hide showing more screen viewing real estate, until and unless the action-mouse cursor approached the top of the screen. Inexperienced/new Trainzer users should be advised most in-surveyor activity is focused on the screen center, so this was quite nice. In TS2009-TRS19 the buttons were moved into the pick list drop down menu panel near the top of the Pick List slider box.
Using Bookmarks, Defining to CancelingEdit
In Trainz—TC3, these key combinations, and those of other simulator hotkeys were configurable in a .txt file in the ..\Settings folder. The table below was cribbed from such a file with a lot of massage editing afterwards.
|Surveyor Utility Editor Keys and||Notes, Tips and Comments|
|Bookmarks allow you to set a place and view angle so one can 'instantly return' to the camera angle and viewpoint to continue work there later.|
|DO bookmark 1||1||All Set the location, height and viewpoint of the current camera view.|
|DO bookmark 2||nn|
|DO bookmark 3||3|
|DO bookmark 4||4|
|DO bookmark 5||5|
|DO bookmark 6||6|
|DO bookmark 7||7|
|DO bookmark 8||8|
|DO bookmark 9||9|
|DO bookmark 0||0|
|SET bookmark 1||CTRL+1||ALL ten set the location, height, direction, and viewpoint of the current camera view.|
|SET bookmark 2||CTRL+2|
|SET bookmark 3||CTRL+3|
|SET bookmark 4||CTRL+4|
|SET bookmark 5||CTRL+5|
|SET bookmark 6||CTRL+6|
|SET bookmark 7||CTRL+7|
|SET bookmark 8||CTRL+8|
|SET bookmark 9||CTRL+9|
|SET bookmark 0||CTRL+0|
|bookmark clear 1||CTRL+SHFT+1||Clears Viewpoint Bookmark #1 Hotkey.|
|clear bookmark 2||CTRL+SHFT+2|
|clear bookmark 3||CTRL+SHFT+3|
|clear bookmark 4||CTRL+SHFT+4|
|clear bookmark 5||CTRL+SHFT+5|
|clear bookmark 6||CTRL+SHFT+6|
|clear bookmark 7||CTRL+SHFT+7|
|clear bookmark 8||CTRL+SHFT+8|
|clear bookmark 9||CTRL+SHFT+9|
|clear bookmark 0||CTRL+SHFT+0||Last Clear Viewpoint Bookmark (#0) Hotkey.|
CDP files — Content Dispatcher Pack. A file used by Auran and some other content creators to distribute additional assets. A CDP file can contain one or more assets.
CDPA files — Content Dispatcher Pack Archive. An archive version of the CDP format, used by Auran to place an asset off the main database into axillary data bases controlled by the user, while keeping the asset in a loadable form. Archived assets are no longer selectable when building a route or session, but because they are still indexed, an asset which needs the dependency can still load it. Use primarily to put aside assets needed in something you want to run, but would never use in creation. Example: A North American Trainzer might archive all the Non-American rolling stock and locos, or signs or architectures not likely useful in any route he may build.
CDP2 files — Content Dispatcher Pack 2. A new version of the CDP format, used by Auran and some other content creators to distribute additional assets for Trainz Classics.
CFG files — Used to store the program's configuration details. This is a widely used file extension type, but the format is specific to each manufacturer's specific program suite or single application.
A CHUMP file — Trainz pre-processed ready to load (cached) asset file. These are generated by CMP when an asset is committed to the database, and the data file is the actual storage locale of the asset data. Where each Trainz version keeps committed asset files has changed somewhat with major technology releases:
- Before TRS2006, a folder hierarchy schema using asset kind-groups (types) stored together in pre-defined root locations held asset's data filed under KUIDS-named folders.
- With Content Manager Plus's introduction, the rest of The TR's used a hash-coded folder naming system to store data under the install's root folder in ..\local. The assets.tdx file acted as an index into this linear architecture.
- The data arrangement of TS09–TS09-SP3 followed that of the TR's until the last TS09 changes created TS09-SP4 trainz-build, which rearranged the file structure to match that developed in TS10 (often under concurrent development with TS09's software updates).
- TS10–TS12 in the TS's arranged all non-JA file data in ..\UserData folder, using a scaffold of 256 sub-folders (Hexadecimal coded ('00'-'FF') directories names) to increase speed of access to the asset's data folder, once again stored under the KUIDs code as a folder name. The assets.tdx file was retained, but had other stored information necessary to operating the database system moved into it.[note 4]
- The TANE file storage architecture is again a new arrangement, part of which was user requested and part which made it more compatible with more recent versions of the Windows OS. It is capable of letting the user put the program and support data files where Windows practices prefer and letting the user put the game data files in a directory chosen by the user. This arrangement of the facility allows the user to switch between local data groups so a route building content creator can run on one folder setup that includes payware and non-DLS items, and can test versus another 'standard items' data set to verify only items on the DLS are used in a route and session. In the long run, this can result in a set of cleaned up routes on the DLS giving far less hassles to downloading users, provided N3V polices and enforces requirements on uploads to exclude routes and sessions (kind map & kind profile) with non-DLS items. Hopefully N3V will also enforce similar policy with respect to payware, which assets many of us do not want contaminating a normal installation.
GND files — The terrain file that contains the topographic details of a map. One of the traditional four specialty file types found in the edit folder of a map asset. When creating a map from Geographic survey data, this is the file that is produced when creating a map from DEM data, and the one replaced when editing a map's terrain.
- GameScript is a C-like computer language which generate GS files— Gamescript source files for inclusion in assets and the game's script libraries.
Many interactive assets depend on these script files to interface with the Trainz run time modules. Script updates account for a common reason an interactive or animated asset becomes obsolescent or may not function, as the script libraries from release to release (including updates like hotfixes and service packs) usually evolve a few of the library files. The other main effect of this version drift is the sometimes impossible difficulty of taking an asset using an advanced TBV with a need for such a script update to an earlier version of Trainz, such as TS2009, the TC's, or even TRS2004/TRS2006. In general, most assets can be retrograded, but when they can't, a script language feature in the code build and it's successors is the main reason such an asset cannot.
- In the summer of 2014, Andi06 published a new set of assets depending upon TS2012's service pack 1 and the fourth hotfix in the series. TS2012-SP1+hf3 COULD NOT ever work with the new diamond crossing assets. The software hooks needed in the runtime modules surveyor and Driver just didn't exist before hotfix 4 for TS12. This is also an example (one of many) where the programmers responded to a request from the users and improved Trainz by granting our wish. Most such improvements have been user demand generated. A good reason to stay active monitoring the Auran forums.
GSE files — GameScript DRM security encoded file. Uneditable save by originator.
GSL files — GameScript library file.
GST files — GameScript template file.
IM files, .im.files — Indexed 3D mesh files, where the indexing means they are constructed in such a manner as to be easily scalable based on distance from the viewport camera. These are the heart and soul of Trainz digital models, which at a particular distance, render them as a Wire-frame model, remove hidden lines and planes, then draw in (color) visible surfaces with the designated textures.
- A couple of key points should be kept in mind if one is altering assets opened for editing
- texture.txt file files must be kept in the same folder as the .im file looking for the matching texture name.
- You can't rename a texture.txt file, because that is the name hard coded into the mesh. You can (most times) easily examine what textures exactly a mesh expects by using PEV's Mesh Viewer2.exe tool (RHChol and select
- Texture.txt files do not have to refer to individual texture image files, if the same texture is used in more than one folder. The program will happily follow a DOS/Windows shortcut path to an image file from a subfolder (e.g. Primary=..\this_color.tga and/or Alpha=..that_color.bmp and so forth.)
JA files — Jet Archive. Contains compressed copies of multiple assets.
KIN files — Kinematics. Associated with animations such as pantographs.
OBS files — map folder Objects files, contains the 3D co-ordinate loci, rotation, elevation changes and so forth applied to each occurence of each asset listed in the config file's kuid-table excepting similar information sets for track and spline object locus, vertices data which reside in the corresponding Trainz .TRK file of the asset.
PM files — Progressive 3D mesh. Obsolescent after Trainz UTC–TRS2004, but because depreciation was not enforced, is still in many older DLS assets generated into the early TRS2006 era. With TRS2006-SP1, a warning message was generated educating content creators to convert to the newer im file/.im/.im file/.im file 'indexed mesh' format. Today, .pm files and references to .pm files are most often seen in 'aliased assets', those re-skinned items of rolling stock referencing an older era's traincars. New Users are advised to obtain PEV's 'PEVSoft' utility tools or PEVtools, available from a number of Trainz user sites. PM2IM.exe will convert to the newer IM format. Mesh references will need be updated in the config, or a utility like FNR.exe can be incorporated in a PM2IM.bat launcher file to do it automatically.
- Like this [note 5]
@echo off echo Running PM2IM.bat on %1% "C:\Tools\pm2im\PM2IM.exe" -trawl -close %1% "C:\Tools\fnr.exe" --cl --dir %1% --fileMask "*.txt" --excludeFileMask "*.dll, *.exe" --includeSubDirectories --find ".pm" --replace ".im" >NUL :DONE echo PM2IM.bat %1% >> ..\Asset_files.txt @dir %1 /N/OGNE/L/S >> ..\Asset_files.txt
- Or this combo batch file
@echo off echo Running 'PM2IM+Imgs2TGA.bat' "C:\Tools\pm2im\PM2IM.exe" -trawl -close %1% "C:\Tools\fnr.exe" --cl --dir %1% --fileMask "*.txt" --excludeFileMask "*.dll, *.exe" --includeSubDirectories --find ".pm" --replace ".im" >NUL "C:\Tools\Images2TGA\Images2TGA.exe" -trawl -close -fixcolour %1% :DONE echo $$$_PM2IM+Imags2TGA.bat %1% >> ..\Asset_files.txt @dir %1 /N/OGNE/L/S >> ..\Asset_files.txt
Such tools work in TANE and TRS19 as well as UTC, TR04 and TR06 with a few procedural wrinkles... firstly lets understand what is happening. A file is either built-in (in a .JA file or added. Trainz discriminates files added from local drives, previous installs in other folders, and from third party cdp files or those opened and modified (Fixed!) as 'Modified'. These are given residence in the ..\local sub-folders, whilst those download from the DLS are placed in the ..\original sub-folders. If you peek in such sub-folders, you will find most data compressed into a Trainz .chump file. Opening an asset for edit unpacks these in part. Images2TGA unpacks the textures, and the instructions files for applying such textures (.texture.txt files) into
- Written for TS2009 data changes, which included graphics enhancement capabilities, when it unpacks compressed data from .texture files Images2TGA will generate AlphaHint='something' lines that give indigestion to Trainz UTC through TC3.
- Just edit the line out, or insert a double-hack ('//') at the beginning of such lines so you can restore the AlphaHint if you port the asset to a newer Trainz release. Secondarily, these older Trainz will be intolerant of the very existence of the .texture (source) files, so they should be deleted
- TANE and TRS19 will boot such batch files out of the tane editting directory during any auto-updates... so they should be kept in an utility folder.
SRT Files are the mesh files for displaying SpeedTree items such as trees or grass.
- SpeedTree was developed by IDVInc. N3V Games are licensed by IDVInc to use the SpeedTree format in TS2010 and TS12.
- The SRT file contains all of the geometric and texture mapping data needed to render a tree object as well as data for wind movement animation.
- N3V Games provides no editing or manipulation programs for SpeedTree files. Third-party SpeedTree creation may be undertaken under license between the content creator and IDV Inc.
- Reverse engineered files from the UDK version of SpeedTree are prohibited for Trainz use under the terms of the IDVInc license.
- The game has session-wide adjustments for the wind movement effect in the environment section of Surveyor. This generally needs decreased for better realism.
- Not to be confused with texture.txt files which are part of what is compressed in a texture file.
TEXTURE files — A 2D ready-to-load asset texture which is to be applied to a surface of a 3D object by the game engine. Generally BMP, JPG, and most often the preferred TGA file types act as source files for texture.txt control files, both of which are combined by CM into dot-texture files. Files with a *.texture extension will generally be seen only when an asset is opened for editing, and the Trainz is an older release.
TRK files — Usually found with a .GND file, contains information about the trackwork of a layout.
TSO files — Trackside Object. The variations in a layout that are required for a specific scenario, for example extra trackmarks and triggers.