"Trainz-build" tag

From TrainzOnline
Revision as of 04:12, 10 October 2013 by Fabartus (Talk | contribs)

Jump to: navigation, search


Trainz-build tag number

A Trainz-build tag number or version number is the number assigned in an asset's Config.txt source code INI file as part of the technology tracking and matching system in Trainz. It indicates the asset (or content's) tech-level for an asset built to the specifications of a Trainz code build version. As Trainz has grown and changed, the data models needed to impliment improvements changed, and the Trainz-build tag level system was installed to group the correct data type with the correct software version of Trainz releases. Exactly what makes up legal fields in a trainz-build tag level has evolved over the years, and is the source of some of the errors in the download of older content. Some required data types have been eliminated, some added, and some moved to other Trainz Containers—the data structures that are used by the trainz data KIND types as sub-data types.  

Trainz User Tip:
The word version has an inexact technical meaning. The meaning of 'Trainz Retail version', and 'Trainz version' are not identical, for the first refers to a product release, a 'base named retail version' such as TRS2006 which was given when it was released into the massed market somewhere at some time. The latter, Trainz version may mean the same initially, but when that product release needs a software bug-fix patch or has a service pack installed the 'code build version' and the tech-level tracking software version/Trainz-build tag version may both change to other code numbers. Any type of software update creates a new code build number. It is how the programmer staff keeps what version has which software code inside. If the change does not change the technology of the release, if it is a Hotfix the 'Trainz build-version' does not increment, so the Trainz-build tag number is the same as before, whilst the code build has evolved. Service packs are considered product advancements, so both tracking code numbers will be larger. A retail release may have multiple service packs, so in it's final version—before N3V Games coins a new Retail release name— the service packs will change to reflect different technologies added with each service pack. Each such release upgrades the base named product some, so at that time, the Trainz-build version also increments—because the later indicates a different Code build of the software.

version or tag#
First Trainz product versions
to support the listed content
tech-level (buiild-tag) version
Trainz SP3
Trainz SP1
Trainz SP2
Trainz SP3
Ultimate Trainz Collection
Ultimate Trainz Collection SP1
TRS2004 SP1
TRS2004 SP2 - Passenger Pack
TRS2004 SP3
TRS2004 SP4
TRS2006 SP1
Trainz Classics 1&2
Trainz Classics 3
TS2009 SP1
TS2009 SP2
TS2009 SP3 / TS2010
TS2010 SP3 / TS2009 SP4
TS2010 SP4
TS12 and Trainz Simulator Mac
TS12 SP1

Trainz build versions

Trainz code build or version numbers are assigned first to each released 'retail version/retail release' of Trainz, then change by application of Hot fixes and Service packs, but while the hot fixes change the code build number, they do not advance the Trainz-build version number, which nowadays will be displayed on the title bar of ContentManager.exe (this is a recent improvement). Content may be created for different versions, making use of the newer functions in a more recent release, when it does so, it must be assigned the corresponding Trainz-build tag tech-level or version number. Consequently, some new-generation assets will not function in earlier versions of the simulator. Some older one's need tweaked, so called Error fixing to comply with the three newer GUI run time modules typically affected by service pack releases: Surveyor, Railyard and Driver.  

Asset compatibility

It is important for assets config.txt files to list the version of Trainz with which they are compatible. For older Trainz builds, this is done by entering a Trainz-Build number in the model config.txt file. If used (many content creators hand create assets) the utility program Content Creator Plus will automatically add the correct trainz-build level version to the config.txt file. Manually edited asset creation frequently copies working materials from another similar asset, and in such cases the asset creator will elect to add a lower build tag version to the asset, for such levels if correctly applied, open the new asset up for use and exploitation by more people; many choose not to move on to a newer Trainz release, particularly now that later versions of TS2010 and TS2012 are needing more advanced computer architectures and high performance video cards.  

Older vs Newer build versions

A correctly-constructed asset built for an older version will usually function in a newer version of Trainz, but this is not always guaranteed, as there have been amendments made to subsequent versions. An article List of known breaking changes has been in the works for some time by chief programmer Windwalkr. A model using the latest graphical functions will not work in an earlier version. Assets with older technologies sometimes fail in the new data model and processing, despite the effort to fix such content items entering a users data base.

There have been recent changes to vett assets uploaded to the Download Station. Uploaded content items now are validated against the new data requirements in force for that version. The Trainz-build tag is found in all Trainz config.txt files, an asset's INI file—a type of source code provided by content creators, an that number identifies which version of Trainz you have installed and when you use the Content Manager, it will not allow the download of a more advanced/recent asset with a data model that is incompatible with your version. Happily, a lower build-tag most often means the asset can still be used in newer Trainz releases.   The approved Trainz-Build version numbers and their mapping to official Trainz release versions are as follows:

Assigning asset build levels

Trainz-build numbers up to and including 2.8 are considered by N3V programmers as obsolete as of September 2012 and they believe they should no longer be used.

Personal tools