The main enhanced Wikibook data tables corresponding to the N3V source page Trainz_build_versions page is found at Version And Build Numbers, which includes release dates, and citations.
The Code build number or Trainz build version (two names meaning the identical 'tracking number') is a type of model number of the software, an unique software specific identifier that in Trainz practices— increments not only with 'named' main retail releases, but with each release for specific language groups, and by Hotfixes, as well as by Service_pack releases. As described in the Notes section below, it also changes in-house with software under development[note 1]
Initial Trainz code build versions are not released in initial retail release versions for all world wide languages at the same time, but these are produced as available translations, so typically, non-English releases lag by some months, but may have hot fixes or service packs already installed. As the translation needs are satisfied and an overall release stabilizes, subsequent service pack releases apply to those code build numbers and effectively combine language releases into a merged common product. At the end of the process, the final service pack produces a single stable code build version, creating the final corresponding Trainz (two digit) version number and corresponding identical Trainz-build tag level found in assets config.txt file.
Trainz versions are known best by their 'Retail Release name', after which N3V Games/Auran, following general software industry practices subsequently release bug fixing hot fixes and usually a succession of service packs. The below table is for the most recent Windows release.
For detailed code build version increments in various versions, Click to see table:
Initial TS2012 SP0, TS12-SP0 + Immediate Patch to Build 47059, 1: Early released of manual & auto-patch to 47059 plateau version. 2: (later) will auto-patch to 48054 via auto-patch to 48249
Simulator Central (Planet Auran) download release version R: U: April, 21st 2011[1]
Build 47059
auto-patched FM Build 46957 auto-patch to 48054[2]
Minor revision: TS2012 SP0+minor 1, TS12-SP0+ap1
First Common or Plateau Version<br/
Planet Auran web download release version<br/
and DVD Trainz2012: 10th Anniversary Edition boxed set
Initial TS2012 SP0, TS12-SP0 + Immediate Patch to Build 47059, 1: Early released of manual & auto-patch to 47059 plateau version. 2: (later) will auto-patch to 48054 via auto-patch to 48249
Simulator Central (Planet Auran) download release version R: U: April, 21st 2011[1][2]
Build 47059
auto-patched FM Build 46957 auto-patch to 48054[2]
Minor revision: TS2012 SP0+minor 1, TS12-SP0+ap1 First Common or Plateau Version
Planet Auran web download release version
and DVD Trainz2012: 10th Anniversary Edition boxed set
R: U:
Build 47103
--
Steam release
R: U:
Build 47452
auto-patch to 48054
Just Trainz release version (Contains DRM required by UK law forcing CD/DVD in drive use)
R: U:
Build 47772
auto-patch to 48054
Just Trainz release version (minor revision) (Contains DRM required by UK law forcing CD/DVD in drive use)
R: U:
Build 48054
1: Corrupted manual patch build intent, assigned to 48249 2:Replacement Patch sequence to 49922[2]
Common revision: TS2012 SP0 Patch 1 (Corrupted) Manual & auto patch to build 49922 taking this one's place as a common plateau release.(check, TS12-SP0+hf2?3
R: July 28th, 2011 02:42 AM U:
Build 48249
Common patch from many earlier Versions manual patch to 49922
Patch 2, Trainz/TS12 revision[6] Common revision: TS2012, TS12-SP0+hf1[6]
Annotation added "Note: To be able to install Aerotrain and any future DLC packs, you will need to install this patch for your Trainz build."[7]
Additional information and release tables for all other versions, see the combined Versions And Build Numbers appendix.
The term 'build' or 'build code' or 'code build' is a computing industries term of art, and is in fact a software serial number identifying a unique combination of software component files, 'built' or 'made' into a particular software package of resultant files. It derives directly from 'making' a 'build' with a script asset generally known as a 'make file' which lists out component parts, instructions on how they are to be processed into intermediate binary files (with specific names) and in what order, and additional instructions on linking the binary object files into specific modules. Make files also have the capability of tracking dependencies and if a component file changes, re-building the dependent software module. IDE's or Integrated Development Environments may layer another interface above the Make level, but in effect, those merely auto-edit the make scripts, then execute the build or make. The IDE thus provides data management automation relieving some of the responsibility of updating the make or build specification from the developers.
The make or build can be partial or all up, so that the 'full' make process generates a suite of finished Library assets, executables, and dynamic link libraries whose integration can then be tested and evaluated for further development, or adjudged as 'finalized' and stable, at all times then ready for a supporting role in testing related dependent code which may not be so ready. The partial make can rebuild only a part of the software, which has had further development and changes. The auto-dependency sensing of source file changes, protects the developers from forgetting a change by another member of the team; ensuring all the coder are on the same page evaluating the same build and symptoms.
A 'final build' might also specify copying such retail release boilerplate support files (e.g. keyboard hotkeys mapping files, initial user specific files) into a single installation—the build, which is released to publication.
On the release of a version for Q&A testing or publication for retail release, the build might then be compressed and distributed, so the end user Installs them, which mostly involves a bit of bookkeeping in the computer's registry and uncompressing the ready to use files from the DVD or internet source. In the later case, the local installer's generally consist of a FTP download manager combined with the file extraction (uncompressing) software.
Obviously, in modularize software such as Trainz, software update builds would only need to replace run-time software and libraries which have been updated since the last stable 'base' version. Some require processing local data and perhaps incorporate a patching or translation stage for certain assets, such as defaulting a problematic kind engine parameter if and when a ..\local (from 3rd party or the DLS sources) asset or JA asset hadn't defined the data. Such a stage often incurs an extremely long processing cycle of many hours such as several that occurred in several Service Packs during TS2009 and TS2010's evolution.
Config.txt files are endemic and ever present in Trainz assets, for no asset can be defined without this type of Computer Science container. The keyword-value_of_key pairing must always be kept in mind in editing or creating Trainz content. The TrainzBaseSpec contains values and containers which are most common in asset defining config.txt files.
Notes
↑In a December 2013 email, Trainz Version Manager James Moody stated that at times he did as many as five or six builds and related Trainz Installs a day.
Footnotes
↑ abThread: TS12 Patch 1 (47059) is live., shadowarrior, N3V Games Sys-Op; This patch turned out to be corrupted and was taken off the web and replaced by patch 2
↑ abcdfake cite Invalid <ref> tag; name "TS12 Patch 2 (48249)" defined multiple times with different content
↑Sequence confirmed by Author ed. Fabartus with successive careful installs of TS10, keeping different versions on different drives as installed to new computer. Hotfix from build 43434 inferred from patching method. Manual patch directly skipped.
↑ abInvalid <ref> tag; no text was provided for refs named Scottbe8
↑Trainz TS10 and TS12 Hot-fix Patches released,Later annotated: "Note: To be able to install Aerotrain and any future DLC packs, you will need to install this patch for your Trainz build.", Last edited by shadowarrior; November 17th, 2011 at 08:27 PM.
This reference page is adapted from the TrainzOnline Wiki under the CC-BY-SA 3.0 License. This page will likely include more textual explanations, exposition, history, and/or examples than the source page on the same topic.The TrainzOnline Wiki is for the most part maintained by the programmers or knowledgeable content creators and may have newer more up-to-date information on the current trainz-build code standards, which have some tendency to change as features are added to the software.