Trainz/Trainz: A New Era/T:ANE Service Packs

About this page
The 'Release Version' of T:ANE was released on May 15, 2015; this page is about updates to it and differences from the rough release version called 'T:ANE Community Edition', and some of the Kickstarter variants. This page details the changes N3V Games software professionals both documented, and believe they've fixed.

Highlights include
A large number of additions and improvements were implemented since the previous pre-release version a month earlier.
 * 1) the updated Deltic cab to showcase high resolution cab interiors
 * 2) cubemap support in E2 (reflective materials)
 * 3) content creator support for cubemap materials
 * 4) spotlight support for alpha materials (e.g. some speedtrees, “night” lights etc)
 * 5) configurable parameters for procedural junctions (for content creators)
 * 6) further custom sleeper improvements
 * 7) some lighting anomalies with procedural junction and track fixed
 * 8) the long pause when compiling shaders at startup fixed
 * 9) the short pause when compiling material shaders when loading assets in-game fixed
 * 10) in-game screenshot support, review screenshots and auto-upload to the new Gallery
 * 11) improved access to performance options plus Ctrl - and Ctrl + to adjust draw distance "on the fly"
 * 12) remaining built-in Session issues fixed
 * 13) DLS upload support for T:ANE users
 * 14) Numerous minor bug fixes, crash fixes and tweaks (full list to be provided upon release)
 * 15) Updates to wiki including:

A full list of changes will be posted on the forums and linked here prior to release.

Kickstarter DRM-Free Version
In the Kickstarter campaign, N3V Games offered a "offline" version that would never require going online unless the user wanted to take advantage of any online features.

This version has a check-box control to enable DRM or not; so staying offline when running T:ANE. Simply uncheck the box to allow entry of your MyTrainz username and password to allow access to the DLS, multiplayer, chat etc. Note that you should shut down the game after changing your online settings and RESTART in order to enable or disable the online features.

While the box is checked, you will not be able to:
 * 1) enter your MyTrainz Username and password
 * 2) view any "new" Download Station listings
 * 3) download from the DLS (anerror such as; - Unable to search asset . Unable to contact server. will appear)
 * 4) see or participate in multiplayer sessions
 * 5) see or participate in Trainz chat

You will be able to check for online updates and installing any game updates will not change your build from the "offline" mode.

Release Build
The following list includes code changes between TANE CE and TANE release build
 * 1) Improve Windows handling of over-long text string display- instead of failing to render outright, we now render the first part of the string.
 * 2) Fixes for Windows mouse-cursor setting.
 * 3) Improve the handling of over-long text edit controls in Windows.
 * 4) Increase the maximum size of native combo boxes in Windows.
 * 5) Improve the handling of large durations in the profiler.
 * 6) Improve the handling of long file paths in Windows.
 * 7) Fix Windows "Import Content Folder" to remember the last-used path.
 * 8) Fixes for Drag & Drop in Windows.
 * 9) E2 cube-map support.
 * 10) Fixed crash in post-processing systems.
 * 11) Fixed crash in the lighting systems.
 * 12) Precompile more shaders during engine startup, to avoid stalls at runtime.
 * 13) Add per-asset configuration options for water.
 * 14) Added sun-shaft effect.
 * 15) Undocumented change to the asset description text in the asset details window.
 * 16) Fix DLS downloads which were flagged as modified.
 * 17) Prevent attempting multiple concurrent DLS downloads for non-FCT users (which would fail.)
 * 18) Add localisation support for "filter", "save" buttons in content windows, and the "Edit Search Filters" functions.
 * 19) Change launcher buttons to use Arial font.
 * 20) Add launcher notification when settings have been modified that require a restart, so that users understand that simply closing the game window is not sufficient.
 * 21) Improve the capturing of various runtime error logs into the per-operation result logs.
 * 22) Prevent automatic close-on-success of "revert unchanged" task window if any assets were not reverted.
 * 23) Added "main thumbnail" and "loco icons" options to automatic thumbnail generation.
 * 24) Fix the fast-path sort function for content windows.
 * 25) Display the DLS EULA when using the DLS upload function.
 * 26) Enable the "Download" function for any non-builtin asset, even if the asset itself is already locally installed. This helps to download updates and dependencies.
 * 27) Improve the selection of whether the "Upload" function is enabled for a given asset.
 * 28) Add support for content installation and download links (.CDP extension, trainz:// helper links, etc.)
 * 29) Improve the installer mechanism for setting the data path, so that an unnecessary data directory is not created in the default location.
 * 30) Remove 'patch' settings from Steam builds.
 * 31) Also adjust texture anisotropy values when adjusting anti-aliasing detail.
 * 32) Default 'offline mode' to active where available.
 * 33) Improve the handling of language selection.
 * 34) Improve handling of cancellation of quit and window closure.
 * 35) Improve Windows cursor handling in the main game window.
 * 36) Reduce the chance of numeric precision errors when processing trainz content build version numbers.
 * 37) Silently ignore invalid "null" strings where KUIDs are expected in assets prior to v4.1.
 * 38) Add a validation error for missing SRT files.
 * 39) Cause asset thumbnail glyphs to be loaded on the main thread to make certain asset lists more responsive.
 * 40) Minor fixes for Surveyor environment dialog.
 * 41) Fix a crash while exiting from a multiplayer game.
 * 42) Fix visual duplication of ground wireframe mesh when using 5m grid.
 * 43) Reduce the amount of polling in various minor systems, which could scale up with large routes.
 * 44) Added support for "collision-mesh" tag in mesh-table entries.
 * 45) Added explicit material sharing.
 * 46) Ensure that Industries use the gameplay time-base rather than the wall timebase.
 * 47) Write vehicle orientation when saving, for derailed vehicles.
 * 48) Boost the performance of world origin updates on very large routes.
 * 49) Fix a pfx-system crash which could occur when physx support was enabled.
 * 50) Fix a pfx-system crash during early startup.
 * 51) Fix a multiplayer-related crash when attempting to call a restricted script function.
 * 52) Fix Rulers performance.
 * 53) Allow spline-pfx collisions to be toggled per asset.
 * 54) Improve physx performance of splines.
 * 55) Re-enable shadow-casting from ground walls.
 * 56) Improve the detection of whether a given junction meets the requirements of procedural junction rendering.
 * 57) Avoid updating animated attachment points while not visible on screen.
 * 58) Update in-game performance HUD to remove some obsolete labels and add a few new ones.
 * 59) Add Trainz Gallery.
 * 60) Fix a bug where rules could become unpaused before Init was called, triggering a script exception.
 * 61) Fix a bug where the current season's date was not correctly applied when loading Surveyor.
 * 62) Fix a bug where the water color control in Surveyor's Environment Settings could become locked incorrectly.
 * 63) Fix a SpeedTree loading bug which could hang the game while at the loading screen.
 * 64) Improve procedural junction sleeper interspaces.
 * 65) Fixed some issues with procedural junction blade generation.
 * 66) Fix a bug where AWS becomes reactivated when loading a saved session.
 * 67) Add better error reporting and conflict detection when reading and writing tzarc files.
 * 68) Fix SSAO artifacts around the Free-Roaming-Camera Compass.
 * 69) Fix in-game text selection rendering in DirectX.
 * 70) When using the 'A' keyboard shortcut to add a new layer, the letter 'A' is no longer also entered into the resulting input textbox.
 * 71) Add an in-game menu command to reopen the launch window.
 * 72) Restrict "track condition" property editing to track splines.
 * 73) Fix a crash which could occur after using the Surveyor search filter panel.
 * 74) Refresh the Surveyor asset pickers after a download completes.
 * 75) Fix a crash which could occur while using the in-game Trainz Settings dialog.
 * 76) Fixed an issue where the "don't show again" mechanism for the warning dialog would not work correctly.
 * 77) Prevent the Objectives list from displaying on top of the menu bar.
 * 78) Fixed a crash which could occur while downloading missing assets for multiplayer.
 * 79) Improve the ability to right-click on locomotives which are inside a roundhouse.
 * 80) Add a "nounderline" attribute for minibrowser links.
 * 81) Fix an issue which prevented assigning "page down" to a control in the keyboard settings.
 * 82) Fix an issue which prevented assigning keyboard shortcuts if the localised names contained a space character.
 * 83) Update the list of KUIDs used by the random map tool.
 * 84) Allow the ground paint tool to update its settings while in use.
 * 85) Fix a crash which could occur when clicking the "quickdrive" button in Surveyor while in alt-U mode.
 * 86) Added hot keys to manipulate the draw distance slider.
 * 87) Fix a case where deleting a consist using the QuickDrive rule could lock the camera.
 * 88) Improve the scaling of TestTrack graphs.
 * 89) Add more output options in TestTrack.
 * 90) Fix a case where Driver's save mechanism could be activated in TestTrack.
 * 91) Fix a case where TestTrack's driving controls would not show at the start if paused.
 * 92) Fix a case where TestTrack's driving controls did not work while unpaused.
 * 93) Fix the vanishing of TestTrack's driving controls while scrubbing.
 * 94) Fix a case where control input could be lost while scrubbing in TestTrack.
 * 95) Fix the handling of derailment in TestTrack.
 * 96) Fix a case where TestTrack's graph panel did not update after using the Train tab.
 * 97) Fix a case where tooltips could be obscured by the mouse cursor.
 * 98) Improve the handling of changing a vehicle to another track in Surveyor, so that it appears more consistent.
 * 99) Add TrainzUtil "add-keyword", "remove-keyword", "search-by-keyword" commands.
 * 100) Add TrainzUtil "list-package-asset" command.
 * 101) Add TrainzUtil "print" and "printerror" batch commands.
 * 102) Improve Windows-friendliness in EOL format of TrainzUtil output.
 * 103) Allow relative paths for the TrainzUtil "cd" command.
 * 104) Add support for the "generatekuid" TrainzUtil command.
 * 105) Improve the feedback from the "repairdatabase" TrainzUtil command.
 * 106) Improve the failure feedback from the "createcdp" TrainzUtil command.
 * 107) Change the TrainzUtil batch recursion depth limit from 5 to 20.
 * 108) Implement some missing TrainzUtil syntax error feedback.
 * 109) Cause batch commands to abort if the app has been instructed to exit.
 * 110) Fix a case where pressing the "4" key would unnecessarily adjust the camera zoom level.
 * 111) Fix a case where the roaming camera "down" key would cause jerky movement on MacOS.
 * 112) Always get A from material ambient color, even when using RGB from the material diffuse color.
 * 113) Add a warning when a mesh has more than 16 chunks.
 * 114) Add support for explicit named material sharing in IM files.
 * 115) Fix a bug where case differences in the startup path of the Windows executable could cause the game to lose track of its data path.
 * 116) Correct the "diff" tool to ignore *.texture files where a corresponding *.texture.txt file is present.
 * 117) Improve failure reporting when import a file tree fails.
 * 118) Improve KUID tagging of logs which relate to a specific asset.
 * 119) Improve the performance of random config file access in packaged content.
 * 120) Fix a case where validation that was interrupted by exiting the app could sometimes flag content as faulty.
 * 121) Fix the "scripted" asset filter option.
 * 122) Improve asset search performance when large numbers of assets require validation.
 * 123) Add "enable-shadows-in-cab" tag to explicitly allow shadows in cabs where it looks good.
 * 124) Fix the "reset default keyboard settings" command.
 * 125) Fix text alignment of Control Settings in Polish language.
 * 126) Fix some MacOS-specific layout issues on the Routes Menu.
 * 127) Fix a case where the sessions total/purchased numbers in the Routes Menu could be displayed incorrectly.
 * 128) Avoid displaying a blank clock in sessions with no timer.
 * 129) Fix the setting for auto-hiding the menu bar.
 * 130) Add the "enable-pfx-collisions" tag to track assets.
 * 131) Mark the "casts_shadows" and "shadows" track tags obsolete as of v4.1.
 * 132) Fix the behavior of interface sounds.
 * 133) Prevent surveyor spline circles from showing in screenshots.
 * 134) TestTrack now warns that Steam engines are unsupported.
 * 135) Fix a division by zero in the TestTrack stats generation.
 * 136) Some launcher performance options have been duplicated in the in-game settings, to make more common settings easier for users to locate.
 * 137) Fix an occasional crash in Procedural Junction generation.
 * 138) The on-disk shader cache is now cleared during post-patch and extended database repairs.
 * 139) The autopatch prompt is now centered on its parent window.
 * 140) The precaching prompt is now visible while the loading screen is up, to help users realise when precaching is delaying session startup.
 * 141) Avoid tracking industry contextual menu gestures when the contextual menu is not a valid option, providing better responsiveness of the roaming cursor motion gestures in some scenarios.
 * 142) Allow DNS lookups to be cached internally, improving performance and reducing the potential of intermittent DNS failures to affect the game.
 * 143) Add material name information to stitched mesh buffer debug tool.
 * 144) Notify the user when a game restart is required for in-game video settings changes to take effect.
 * 145) Fix an issue where couplers breakage measurements could be affected by lowered frame rates.
 * 146) Ensure that the "Offline Mode" checkbox takes immediate effect when the settings window is closed.

Hotfix 1
Changelist from release to Hotfix 1 build
 * 1) "Remove Column" and "Insert Column" are now localized in CM.
 * 2) Fixed a potential crash when opening the launcher window from in-game.
 * 3) Fixed some problems with the in-game "purchase route" and "purchase session" buttons.
 * 4) Minor performance improvements included for the in-game profiler
 * 5) Moving around the baseboard in roaming view no longer results in a visual stutter of the compass.
 * 6) Improved some cases which could lead to long "not responding" delays while installing content.
 * 7) Improved the robustness of database writes against unexpected failures, and improved logging of write failures.
 * 8) Launcher now occasionally reminds people that there is an uninstalled update.
 * 9) Fixed an issue where automatic delete/rename retry would never fail out regardless of the number of failed attempts.
 * 10) PCs which swap between an integrated Intel GPU and a discreet graphics card now offer less confusing options in the display selection menu.
 * 11) Improve the handling of alt-tab and print-screen in DirectX.
 * 12) Fix a case where a missing thumbnail graphic could cause the framerate to drop substantially.
 * 13) Fixed an issue where a spurious dependency was reported when attempting to start a multiplayer session.
 * 14) Fixed the minimum allowed window size to take into account the window frame size.
 * 15) Fixed a case where resizing the window rapidly could result in an incorrectly scaled render output.
 * 16) New EN/PL localised manual added (where appropriate.)
 * 17) Enabled language selection for the Simulator Central release.
 * 18) Added some minor performance improvement for routes with excessive numbers of objects in the scene.
 * 19) Improved the render synchronisation between smoke/exhaust pfx and train motion.
 * 20) Splines (v2.9+) now respond to the scenery detail slider.
 * 21) Added a mechanism whereby the Hinton route reduces speedtree density at low tree detail settings.
 * 22) Adjusted the settings sliders to make performance settings more intuitive.
 * 23) Made scenery culling more aggressive at responding to settings changes and camera movements.
 * 24) Assorted minor optimisations.
 * 25) Fixed an issue where the "starting trainz" status text could be clipped incorrectly.
 * 26) Fixed an issue where the "x" (cancel) button in the in-game settings did not work as expected.
 * 27) Fixed an issue where some detail settings could become saved into a session, overriding the user's desired settings.

Hotfix 2
Changelist from release to Hotfix 2 build (release date tbd - not released as at 20 Aug)


 * 1) Cause the environment settings to be saved into the session as well as the route, allowing them to be easily edited per-session and reconfigured even for payware routes.
 * 2) Fog should now display correctly in screenshots.
 * 3) Reduced the GPU impact of idle animations.
 * 4) Shadows should now display correctly in screenshots.
 * 5) Enable the train placement tab in Driver.
 * 6) Fixed a bug with the rendering profile data.
 * 7) Fix a case where texture replacement could prevent lm.txt style LOD from working.
 * 8) Fix some problems with the LM.txt poly count validation.
 * 9) Attempt to create a new userdata folder in the default location if the existing userdata folder is no longer writable for any reason at startup.
 * 10) Fix a crash caused by attempting to use too many font sets on a traincar asset.
 * 11) Fix the behaviour of the Y-Z rotate tool on scenery-with-track assets.
 * 12) Optimised worker thread behaviour for long-running tasks.
 * 13) Optimised various aspects of the file readers and database repair process.
 * 14) Removed "Texture Detail" setting from Launcher Performance Settings.
 * 15) Removed "Post-processing Quality" from Launcher Performance Settings.
 * 16) Updated the "Water Quality" setting option text.
 * 17) Removed the "Visit Store" button from the Launcher MyTrainz Settings.
 * 18) Changed the default setting for "Post-processing Quality" from "high" to "low" to improve the out-of-the-box experience on laptop GPUs.
 * 19) Fixed the update check button in the Launcher Settings.
 * 20) Removed the suggestion to restart the game when adjusting water quality.
 * 21) Fix the behaviour of Command-Tab when running full-screen on a Mac.
 * 22) Remove a premature attempt to display the update-available prompt on startup.
 * 23) Fix a bug which could cause Steam and Mac App Store builds to hang at startup.
 * 24) Added the "clean-package" TrainzUtil command.
 * 25) Fix a theoretical hang condition in TrainzUtil.
 * 26) Change how Superelevation and Ground Height Adjustment interact, based on a suggestion from Andi06.
 * 27) Add a workaround for alpha-to-coverage problems when using low anti-aliasing settings on locomotive cabs which actually have their exterior visible and obscuring the line of sight.
 * 28) Cause the environment settings to be saved into the session as well as the route, allowing them to be easily edited per-session and reconfigured even for payware routes.
 * 29) Change the Mac Launcher window title to match Mac App Store requirements.
 * 30) Added "use-named-track" tag to MOCrossing (>=4.3)
 * 31) Change the "both image and texture" error to a warning for older (<=3.5) content.
 * 32) Improved the performance of the download cache, and fix some edge-case bugs.
 * 33) Fix a crash that could occur if reading from a .tzarc file failed.
 * 34) Allow the CM asset downloader to start downloading files while still searching for additional files.
 * 35) Improve the process of requiring an App Store app reprovision.
 * 36) Fix a case where the sound system could attempt to play a sound on an attachment point which hadn't finished loading, potentially resulting in some sounds not playing.
 * 37) Improve CM sort performance in default cases.
 * 38) Fix some bugs which prevented proper precaching of some assets.
 * 39) Fix an issue where creating a directory could be retried too many times, resulting in long delays in some failure cases.
 * 40) Fix a case where opening the "purchase content" window could cause the game to hang.
 * 41) Improved the wording of a texture load failure log.
 * 42) Fixed a case where the routes menu could stop functioning correctly if too many routes and sessions were installed.
 * 43) Fix a crash which could occur when certain faulty content was installed.
 * 44) Add display of the "parent asset" in the CM asset details window.
 * 45) Prevent a potential hang in the asset search function if assets were parented recursively.
 * 46) Optimise searching for asset parents.
 * 47) Fixed a bug in the TFX particle effect loader which could result in garbage data entering the particle simulation.
 * 48) Added a warning when the "asset-filename" tag is included on an asset (>=3.7).
 * 49) Cause coronas to become hidden when their parent mesh is hidden.
 * 50) Fix a crash which could result from missing ground textures.
 * 51) Fix a minor bug in the validation of scientific notation in config.txt files.
 * 52) Don't trigger a parent asset validation in response to the warning flag changing.
 * 53) Suppress MyTrainz username lookups temporarily if a network failure occurs, to avoid long delays during network disruptions.
 * 54) Improve the handling of modifying the asset database during a database write, to reduce the amount of repair work necessary if a crash occurs before the next clean write.
 * 55) Optimise file caching during asset validation.
 * 56) Fix some status text in the DLC Product Details window.
 * 57) Improve logging of corona texture load failures.
 * 58) Avoid performing download station searches for content which is already fully installed.
 * 59) Fix a cross-platform issue where some windows were attempting to use text controls in a platform-specific manner.
 * 60) Fix an issue where coronas could not be adjusted by script if they were set as a null texture in their asset config.
 * 61) Fix a crash in the CM asset downloader.
 * 62) Implement the SetPFXEmitter* script APIs and mark the Get* accessors as unsupported.
 * 63) Add a log if Asset.GetConfigSoup is called on an unavailable asset.
 * 64) Add scope information to logs generated by the minibrowser.
 * 65) Add suppression of "GameObject::AddHandler> Could not find handler" error (<4.0).
 * 66) Fix a bug in the "Stitched Mesh Buffer" debug window's logging function.
 * 67) Fix a potential crash while changing languages in the launcher.
 * 68) Fix a bug reported by user Vulcan where animated attachment points could fail to reappear on schedule.
 * 69) Tweak the effect of the draw distance slider on some scenery types, to give a better scale.
 * 70) Fix a case where the "asset-filename" tag warning could be displayed when no "asset-filename" tag was present.
 * 71) Improve the handling of track-direction realignment to take a more minimal approach where multiple approaches are viable.
 * 72) Automatically merge redundant chunks, since TANE has better chunk compatibility than TS12.
 * 73) Reduce Mac draw distance to 2500m by default.
 * 74) Reduce Mac post-processing quality to "off" by default, and reset the default setting.
 * 75) Reduce Mac water quality to "low" by default,and reset the default setting.
 * 76) Allow superelevation values to extend over a larger range.
 * 77) Fix a minibrowser crash reported by Pierre.
 * 78) Improve ground performance in areas where ridiculous numbers of holes have been created.
 * 79) Tweak the LM.txt lod distance emulation.
 * 80) Fix the "View PDF Documentation" command on Mac.
 * 81) Improve the compatibility or coronas with older assets which supply images where textures are expected.
 * 82) Improve Surveyor performance during heavy asset database activity while the KUID overlay is enabled.
 * 83) Enable the "rate our app, unlock a loco" prompt.
 * 84) Cull product meshes at distance when lower scenery detail options are selected.
 * 85) Fix assorted buffer read overrun issues.
 * 86) Trigger a script exception when the scripts attempt to pass garbage values to the cabin controls.
 * 87) Fix a case where arrow key navigation did not work in the tutorials until the user click on the 3D view.
 * 88) Suppress animation and uniform updates where possible.
 * 89) Fix bogey orientation issues with certain very unusual bogeys.
 * 90) Improve the performance of the vehicle "load" editor while very large numbers of products are installed.
 * 91) Show the in-game package downloader dialog more promptly after the user requests content installation.
 * 92) Allow multiple animation effects to apply to a single mesh simultaneously.
 * 93) Add a developer option for disabling vsync (for testing only.)
 * 94) Add a stats panel to the CM asset preview window (work-in-progress - disabled until it is more complete)
 * 95) Preview window mouse-rotation speed is no longer affected by render frame rate.
 * 96) Prevent the asset download dialog from appearing in asset preview windows.
 * 97) Fixed the behaviour of the scroll-wheel zoom control in the Asset Preview window.
 * 98) Fix the revealing of files and folders in Windows Explorer.
 * 99) Fix some problem cases with Surveyor Save which could sometimes cause the save to fail due to the target files being in use.
 * 100) Resolve a SpeedTree issue where fronds would "disappear" when viewed from certain angles.
 * 101) Disabled the TrainzUtil command-line interface socket by default. It is now enabled only when the "advanced debug tools" option in the settings is enabled, or if the appropriate switch is specified on the TANE command-line.
 * 102) Setting various invalid train vehicle parameters which previously triggered a script exception will now be silently ignored on older assets.
 * 103) Fixed an issue introduced in an earlier test build where Ultra shadows mode did not correctly cast shadows from certain assets.
 * 104) Bridge splines should again cast shadows in "low" shadow mode (bridges were disabled along with many other object and spline types in an earlier test build.)
 * 105) Moved some debugging logs into the main game log for better user visibility of certain conditions.
 * 106) Improved game responsiveness in certain cases when the download cache is overly busy.
 * 107) The game window and preview window no longer share the same default window position.
 * 108) LM.txt transition distances have been adjusted.
 * 109) QuickDrive "train tab" placement mode (introduced in a previous test build) now functions more reliably.
 * 110) CM now has a command to download a specific obsolete asset version.
 * 111) Mac App Sandbox has been disabled for Steam builds, as Steam appears not to support it.
 * 112) Color of purchased DLC changed in the out-of-game payware list to match in-game standards.
 * 113) Fixed an issue where some CDP files would show as unreadable.
 * 114) Fixed an issue where texture streaming could attempt to reduce texture below the minimum allowed by Trainz, causing unnecessary CPU usage and disk access.
 * 115) Fixed some cut-off texture in Mac CM relating to automatic thumbnail generation.

Service Pack 1
This list of changes are for the upcoming "Service Pack 1" build (release date tbd - not released as at 20 Aug)
 * 1) Corrected a rare case where the 'message popup' rule could generate incorrect string-table entries.
 * 2) Enabled visibility control of route layers when editing a session for a payware route.
 * 3) Fixed a case where toggling the disclosure triangle in a CM task window could incorrectly horizontally resize the window.
 * 4) Improve the handling of Windows keyboard focus in the CM task results list.
 * 5) Fixed an issue where TestTrack terrain height smoothing would fail for an initial 2km 1% gradient track section.
 * 6) Allow the in-game performance statistics HUD to be toggled without reloading.
 * 7) Fixed a problem with custom sleeper generation on procedural junctions.
 * 8) Moved track condition editing from the properties dialog to a separate tool on the Track Advanced tab in Surveyor.
 * 9) Test Track now shows a custom Driver Command list which restricts display to appropriate driver commands.
 * 10) Fixed a text string in the Test Track contextual menu.
 * 11) Improved the inclusion of sub-task log output into parent task logs.
 * 12) Improved asset loading in the Surveyor Asset Previews to improve responsiveness and to show a loading indicator.
 * 13) Corrected the error text shown when an attempt was made to open an asset which is not available.
 * 14) Fixed a case where a render failure caused by a faulty asset could cascade, preventing other (good) assets from becoming visible.
 * 15) Added a "track bump" asset, which now shows in the Surveyor Trackmark / Trigger tab.
 * 16) Renamed the location bookmarks in Surveyor's Content Search Filter panel to avoid confusion.
 * 17) Fixed the window size of the Edit Session dialog.
 * 18) Fixed the clock rendering in the Schedule rule.
 * 19) Fixed the display of existing settings when editing the Schedule rule.
 * 20) Fixed the behaviour of the return/enter key when a list picker has keyboard focus.
 * 21) Fixed a case where rule editing buttons in the Edit Session dialog could become active when no rule was selected.
 * 22) Fixed a case where clicking of some dcc panel buttons would sometimes not work.
 * 23) Fixed a case where houses in the Healesville route could fail to render.
 * 24) Improve the performance of the Edit Session dialog.
 * 25) Fixed a case where a track-vertex circle would remain red after using Replace Assets.
 * 26) Fixed a minor leak in the in-game package downloader.
 * 27) Changed the car list ordering in the Test Track Graph Selection Menu to be more appropriate.
 * 28) Allow the loading screen to continue visually updating while the game is busy loading.
 * 29) Allowed for the addition of longer trains in Test Track.
 * 30) Fixed a bug with undo/redo of loco deletion.
 * 31) Prevent objects from showing the "Hold Ctrl + Right Click" mouse-over text when it would not achieve anything.
 * 32) Improve the appearance of the loading screen at smaller window sizes.
 * 33) Improve the in-game Asset Download window user interface to be more clear about which lines relate to which download.
 * 34) Fixed an issue with traincar name display in multiplayer.
 * 35) Allow the Driver Save Session dialog to list existing save game files with faulty or missing dependencies.
 * 36) Prevent the ground resolution from affecting the baseboard wall texture.
 * 37) Indicate the maximum text length when editing the Navigation Display rule.
 * 38) Added localisation support for "Remove Column" and "Insert Column" in CM.
 * 39) Added localisation support for the Render Buffer Debug window.
 * 40) Added missing localisation support for the DLC Content List window.
 * 41) Fixed the navigation points system so that "Require Stop" works with "Couple".
 * 42) Fixed an error which could occur when reconnecting to iTrainz after being disconnected while hosting a multiplayer session.
 * 43) Caused the View Asset Details window in CM to correctly remember its previous position on the screen.
 * 44) Prevent in-game windows from being moved off the screen.
 * 45) Implemented Steam leaderboard support.
 * 46) Implemented an equivalent to TS12 "user messages".
 * 47) Improved the readability of the asset-exported log.
 * 48) Improved the readability of the unit value display in Test Track.
 * 49) Reduced unnecessary updates to coronas.
 * 50) Cause the global light specular to mimic the intensity of the diffuse color.
 * 51) Fixed assorted issues with the "Edit in Explorer" command.
 * 52) Added "Visit Trainz Portal" button to the Internet Settings tab.
 * 53) Fixed the Draw Distance hotkeys to update the setting slider.
 * 54) Prevent a possible crash when a ground baseboard was deleted or when exiting the module.
 * 55) Fixed an issue where userdata paths ending in a slash ("/") were not accepted correctly by some functions.
 * 56) Fixed a crash which could occur when generating thumbnails.
 * 57) Hardened the precaching and asset loading processes against some rare crashes.
 * 58) Fixed a rare case where the ShowMesh recursion-detection code could trigger incorrectly.
 * 59) Moved a number of internal logs to the user-visible TANE log.
 * 60) Fixed a problem with ground wireframe rendering.
 * 61) Fixed the "show compass" setting.
 * 62) Improved the responsiveness of the out-of-game user interface when running some heavy tasks.
 * 63) Fixed some issues with bogeys which have unusual attachment point orientation.
 * 64) Fixed a memory leak in the particle-effects system.
 * 65) Added "Ultra" post-processing and adjusted "High" post-processing.
 * 66) Added a random scenery placement tool, accessible from the Surveyor main menu.
 * 67) Added more hardening against database corruption.
 * 68) Improved the responsiveness of water visual updates while mouse button is held down.
 * 69) Fixed the behaviour of the PgUp / PgDn / Home / End keys in Windows Content lists.
 * 70) Added Test Track "Set Cab Control" driver commands.
 * 71) Implemented a "compile" trainzutil command for better legacy support.
 * 72) Properly implemented the "edit" trainzutil command.
 * 73) Properly implemented the "printconfig" trainzutil command.
 * 74) Fixed the handling of backspace/delete key presses while text is selected in an in-game edit box.
 * 75) Prevent modifier key presses from deselecting text in Surveyor.
 * 76) Fixed a case where changing the carz traffic setting could make it impossible to save a session if the route was locked.
 * 77) Added an error message when attempting to use "Replace Assets" on a builtin route.
 * 78) Fixed the rendering of bridge assets in the Asset Preview window.
 * 79) Improved the line number display in script exceptions.
 * 80) Improve the handling of ultra-long text strings in CM filter text boxes in Windows.
 * 81) Added TrainzUtil support for importing and exporting the picklist.
 * 82) Added a mechanism to remind users when an update is available.
 * 83) Fixed a case where a missing thumbnail image could cause severe performance problems.
 * 84) Fixed the "carz view" tool in Surveyor.
 * 85) Prevent industries from taking control of the player's train in certain cases where it's clearly unwanted.
 * 86) Improve the handling of failures when attempting to drive a session.
 * 87) Fixed a case where traincars were not automatically marking their bogeys as a dependency.
 * 88) Fixed a crash in the thumbnail generation of consists.
 * 89) Added a "Performance Options" icon to the menu bar.
 * 90) Use the name of the more appropriate graphics adapter for laptops with switchable GPUs.
 * 91) Adjust the settings sliders to bias toward the most appropriate settings.
 * 92) Fix a rendering issue which could prevent the Code of Conduct displaying during in-game account creation.
 * 93) Remove options that require a game restart from the in-game settings.
 * 94) Slightly increase the range at which SpeedTree LOD transitions occur.
 * 95) Improve the default water settings.
 * 96) Fix an issue where settings changes were not reverted when using the "x" button.
 * 97) Fixed an issue where iTrainz private chat did not load reliably.
 * 98) Added a log filter text box to the CM Task windows.
 * 99) Fixed a bug in fog rendering on ground.
 * 100) Fixed a case where CM's "List Dependants" command would show an unfiltered asset list if the asset in question had no dependants.
 * 101) Fixed the mouse control behaviour in the Asset Preview window.
 * 102) Added "Content" menu to improve Mac user interface correctness and to ensure that both Windows and Mac have appropriate keyboard equivalents for popular commands.
 * 103) Fixed a number of cases where the "greater than 500 polygons" warning was flagged incorrectly.
 * 104) Fixed a case where Undo did not work correctly with Rulers.
 * 105) Fixed a crash which could occur if the computer had no display attached.
 * 106) Fixed "Delete Missing Assets" to properly flag ground baseboards as modified after stripping ground textures.
 * 107) Fixed a number of cases where multiple systems would attempt to use a file simultaneously, preventing certain commands from completing successfully.
 * 108) Fixed a number of issues with Surveyor Auto-Save.
 * 109) Changed "Missing 'icon-texture' tag" from an error to a warning.
 * 110) Improved the formatting of the trainzutil "list" command.
 * 111) Resolved a number of issues relating to the use of multiple audio contexts.
 * 112) Improved the robustness of command-line asset downloads.
 * 113) Reduced flickering in the Windows user interface.
 * 114) Improved the appearance of the progress spinner in the Windows user interface.
 * 115) Added validation for traincars with too many running-number fonts.
 * 116) Fixed an issue where changing languages repeatedly could leave the game in an intermediate state.
 * 117) Prevent corrupted product queue information from crashing the game.
 * 118) Changed "Replace Assets" to operate over time rather than appearing to hang the game. Users can now interrupt this process if it is taking too long.
 * 119) Improved the layout of the CM Task windows.
 * 120) Added a "search" overlay on Windows search controls.
 * 121) Modified the KUID generator to skip KUIDs which are not known to be in use, but which are known to have dependants.
 * 122) Replaced obsolete product assets in Base with newer versions.
 * 123) Pretend that empty trains don't exist, to avoid confusing poorly-behaved scripts.
 * 124) Fixed an issue with CM's "Copy Details" command.
 * 125) Added multithreaded precaching support to allow multiple items to be processed at once in certain cases where bulk throughput is deemed more important than responsiveness.
 * 126) Avoid confusing script by returning NaN values.
 * 127) Improved CPU performance when an ultra-dense route is running with maximum draw distance set.
 * 128) Added various additional stats to the in-game performance HUD.
 * 129) Avoid a case where the game could "hang" for an extended period when lowering SpeedTree detail settings in a very heavy scene.
 * 130) Ignore vertex tangent data from IM files because it's typically corrupt; this data is now rebuilt at load from the remaining data.
 * 131) Prevent asset pickers from unnecessarily querying the download systems, resulting in occasional pauses.
 * 132) Increase the grouping size for SpeedTree billboards, reducing the number of draw calls necessary.
 * 133) Added performance analysis tools to the Asset Preview window.
 * 134) Cache the system scripts folder in RAM to boost script compilation performance.
 * 135) Fixed a case where SpeedTree billboards could overflow their chunk limits.
 * 136) Correctly configure fog when taking screenshots.
 * 137) Added a number of improvements to the "Replace Assets" dialog.
 * 138) Provide SpeedTree billboard bounding box data to allow engine-side culling.
 * 139) Correctly configure shadows when taking screenshots.
 * 140) Changed a number of internal systems which inappropriately created attachment points to create simple renderables instead.
 * 141) Cached file size queries.
 * 142) Improved the speed at which certain file system operations fail by skipping unnecessary retries.
 * 143) Avoid unnecessary influence buffer updates.
 * 144) Increase the vertex and index buffer sizes available to the user interface rendering, to ensure that large text blocks (etc) do not cause unnecessary extra draw calls.
 * 145) Improve the performance of World.GetSurveyorSavedConsist by short-cutting certain operations.
 * 146) While validating assets, we now consider reading the whole tzarc into memory for faster file access.
 * 147) Fixed a case where copy/paste would not work on Mac OS X where invalid UTF8 characters are present in the source text.
 * 148) Fixed a case where procedural junctions could trigger a crash during shutdown.
 * 149) Optimised SpeedTree to avoid passing high-detail geometry data to the engine until the tree in question is getting close to its transition point.
 * 150) Updated the Content List window, Task window, and TANE Log window to use modern UI standards for multiselection.
 * 151) Prevent the ground from appearing transparent when the necessary texture asset is missing.
 * 152) Added "dependencies" and "dependents" filters for asset searching.
 * 153) Implemented full multithreaded script compilation.
 * 154) Removed validation of spline preview mesh, since this is no longer used in T:ANE.
 * 155) While the database repair is scanning folders, we now increment the counter per folder scanned rather than per change detected. Although less meaningful, this makes it more clear that the process is proceeding correctly.
 * 156) Added protection against material/chunk count mismatch.
 * 157) Reduce stalling of the user interface when attempting to open a game window while the database is busy.
 * 158) Removed validation of traincar shadow mesh on T:ANE assets, since this is no longer used in T:ANE.
 * 159) Fixed a case where AI commands could incorrectly prevent the user accessing the train driving controls.
 * 160) Fixed a crash in PhysX which could occur while under very heavy load.
 * 161) Added missing support for texture wrap/clamp controls in texture.txt files.
 * 162) Added support for LM.txt ":cull", "attachmentCutOff", "renderCutOff" mechanisms.
 * 163) Prevent validation complaining about missing texture files when the asset is open for editing.
 * 164) Allow validation to fully load meshes through a "mesh-asset" alias, enabling validation of certain forms of asset which were previously suppressed.
 * 165) Added a short summary of LOD level polygon counts when displaying a LOD level error/warning.
 * 166) Prevent a crash which could occur when scripts attempted to manipulate the menubar in cases where there was no menubar.
 * 167) We now prevent scripts from displaying gamebrowsers when there is no menu bar, because it tends to be annoying and unwanted.
 * 168) Improve client shutdown in cases where the render server failed to shut down, reducing the chance that the client process will remain in a zombie state.
 * 169) Fixed a case where colored text rendering could generate incorrect colors.
 * 170) Added a warning if the user attempts to open many Explorer windows simultaneously.
 * 171) Fixed the centering of traincars in the Asset Preview window.
 * 172) Added some new Stitched Mesh Debug window contextual menu commands.
 * 173) Disabled rendering of junction overlays and similar systems while no data is present, to avoid interfering with the Asset Preview stats.
 * 174) Don't consider meshes as contributing to LOD totals unless they are set as auto-create.
 * 175) Fixed a case where all track vertices were incorrectly considered junctions for the purposes of superelevation banking junction avoidance.
 * 176) Added a menu command to create a new route directly from the launcher.
 * 177) Disable background buffer loading on Mac, since it appears to massively hurt performance on some machines.
 * 178) Added "open-in-driver" and similar TrainzUtil commands.
 * 179) When exiting from Driver after launching from CM, the game window is now closed rather than loading into the routes menu.
 * 180) When exiting from Surveyor or Driver after launching from CM, we now close the game window rather than showing the routes menu.
 * 181) Texture streaming has been tweaked to produce improved visual results in some cases.
 * 182) Corrected some comments in gs.gs.
 * 183) Added shader sharing support for supported platforms.
 * 184) In cases where the launch window is shown while preparing to start the game window, the launch window is now hidden again once complete.
 * 185) Changed our selection of underlying file APIs on Windows, to work around some Windows API limitations.
 * 186) Optimised stitched mesh CPU usage when under heavy load.
 * 187) Fixed a potential hang when changing MyTrainz details.
 * 188) Fixed a case where ground data could be unloaded after a long pause, triggering an undesirable unload/reload.
 * 189) Rebalanced the roaming camera satellite-view angle restrictions.
 * 190) Fixed a bug where the script VM could return an incorrect result from the floating-point not operator after a native function call returning a floating-point value.
 * 191) Fixed an uninitialized variable in the asset validation system.
 * 192) Improved the roaming camera behavior to reduce oddities in complex terrain such as the camera moving backward when forward movement was intended.
 * 193) Fixed a bug in the roaming camera which could result in it flying up into the air undesirably.
 * 194) Prevent the spline tools from attempting to join a track and non-track asset together, which resulted in annoying error message instead of being silently ignored.
 * 195) Avoid triggering a DLC download if the missing asset is already available at a newer version on the client.
 * 196) Increased the rate at which the stitched mesh system will process small requests, helping to avoid it becoming lagged in some scenarios.
 * 197) Add a search placeholder icon to Windows search fields.

Notes, Footnotes & References
{{#if:||