TARDIS - A Trainz Asset Repair Management Tool - Part 2

ianwoodmore

Active member
Parts 2 through 7 is the initial documentation for TARDIS. It is supplemented by extensive commenting in each script to assist in understanding; to whet the appetite of creators; and most important to remind me why I did it this way.

Edit: Under revision.

TARDIS – A Trainz Repair Management Tool


Purpose

TARDIS (Trainz Asset Repair,Development and Information System) is part of Project TARM (Trainz Asset Repair Management) as discussed in the Trainz Community Newsletter.

http://www.zatovisualworks.com/trainz/tcn/tcn_volume_1/

TARDIS automates much of the REPAIR, UPDATE, UP-VERSION, and FUTUREPROOFING of Trainz assets with an initial emphasis on REPAIR. TARDIS is a series of scripts written in the Asset X scripting language, along with links to vital information required in the Creation, Repair, Updating and Operation of Trainz.

TARDIS Manual
revision 4.0
Author - Ian Woodmore
Date - 1 Feb 2016
This is an update to the initial document to cover TS12 and TANE validation compliance. Subject to revision.

TARDIS is an extension of Asset X. Both are closely linked with TS12 and TANE Content Managers.

The focus of TARDIS is to provide Trainzers with an ability to transition from Legacy Trainz versions to those currently supported under the Trainz Life-Cycle Policy with its main target to future proof assets to TB 3.7 (TS12 SP1) and beyond. Many repairs will still be applicable to some legacy versions but are not guaranteed.
Provision has been made to incorporate Project TRAINZLAW capability via pre-defined keywords. These are available by script, and the Category-Keyword text editor which uses the Asset.INI entries.

Definitions

Repair - Is the process of repairing defective assets so that they are not reported as an error (Red Flag) by Content Manager (CM). This will usually enable the asset to be used in the game in native mode.

Update - In some circumstances REPAIR is insufficient and requires consequential actions to ensure proper functionality and visibility in the game. UPDATE is often the preferred method of REPAIR where content will require further action in future. These are usually reported as Warnings (yellow flags) by CM. This is dependent on the version of CM you are using. TARDIS complies with CM 2.9, CM 3.4, CM 3.6, CM 3.7 and TANE TB 4.3. TARDIS will be extended to later CMs as the validation change.

Up-version - is the process of changing the tag 'trainz-build' to a higher version consistent with clearing 'Errors' in Content Manager based on the latest validation, with the asset operating correctly and remaining visually acceptable in TS12 Railyard, TANE Preview, Surveyor, and Driver. It does not include ENHANCE.

Future-Proofing - Is the process of applying REPAIR, UPDATE and UP-VERSION in a manner that minimises future re-work as the provisions of Trainz Life-Cycle Policy become effective.

Enhance - Covers enhancements and techniques available in later Trainz versions. Generally these would be part of the creation process and not repair management.


Limitations

WARNING! Repair involves modification of assets that are DLS hosted and/or builtin. This is classified as Locally Modified by Trainz and TANE. Thus TARDIS locally repaired assets cannot be used in Multiplayer mode.

TARDIS is a 'Work in Progress' built on my experience as a Trainz Asset Repairer, Asset X Beta Tester and member of Trainzdev team.
My scripting experience prior to Asset X beta testing was non-existent. Many of the scripts were built in order to test the ability of a scripting tyro to use the powerful scripting language devised by Andi06 and PEV. From this beginning TARDIS was born. My scripts may not be elegant but they work. Further work is being done to extend TARDIS functionality. In some cases, while the scripts have been extensively tested they are not completely bulletproof. The eventual aim is to make the scripts as failsafe as possible. Some Trainz specifications, particularly later techniques used by TS2009, TS2010, TS12 and TANE, are not documented and this limits our ability to provide failsafe operation.
You should have no difficulties in applying the TARDIS superscripts to the majority of Trainz assets, but be aware that there are some kinds that have been limited to a maximum up-version due to either uncertainty of Asset X/TARDIS to currently deal with them, or technical issues where there is no direct upgrade path in the Trainz specification, and Content Manager will fail the asset effectively blocking its use in native mode.

These are:

activity - TB 2.4 (scenarios are not available from TS2010 MP upwards and considerable errors and/or warnings apply at higher Trainz versions.

Track - TB 2.8 This refers to legacy track such as Chunky_Mesh, and not the new stitched track techniques available in TS2009/TS2010/TS12 and TANE.

Alias – TB 2.9 Many aliased assets, generally in locomotive and rolling stock categories, are invisible in Surveyor, Driver and Railyard if the asset trainz-build is greater than 2.9.

Paintshed - TB 2.9 Many paintshed assets are also aliased.

Kind Bridge - TB 3.7 Obsolete at TB 3.8.

Speedtrees - Mk5 are limited to TB 3.7 or less and will error at TB 3.8. Mk6 can only be used at TB 3.8 or higher. There is no update path other than by replacement via Surveyor.

Polygon - There are further limitations imposed by TANE but these have not been fully explored as yet. In meantime assets that are non-compliant to TANE requirements should be limited to TB 3.7.

As more experience is gained these limitations may be revised. Trials are being undertaken to determine if LOD techniques can be used to overcome the current limitations. Ultimately it is desireable that this process is automated.


Bugs

During the course of beta testing and script development some corruptions were noticed. Often these can be attributed to existing corruptions in config files, missing textures and meshes, or non-ANSI characters found in some non-English languages. Examples are:

Bracket Missing

Double quotes in strings

kuid-table corruption

localisation corruptions due to non-ANSI characters

obsolete-table corruption

personal details corruptions due to non-ANSI characters

tag 'night'

missing mesh-table

missing textures

textures in unsupported slots


Features or functionality in this version

Alias - Updated Alias source list. Keyword appended to Category-keyword to aid in processing mesh-table generation and filepaths. WIP. To be issued separately.

Bogeys - extended processing to meet bogey requirements including changes to config for animation.

Clear|Invalid protection - Protection of container not coded in Asset X in relation to Clear|Invalid garbage collection. This covers:

a. dynamic-brake
b. throttle-power
c. track-sound
d. season-selector

Distance - Now covered.

Effects - templates

Espec - Extensive revamp covering Engine and Steam-Engine requirements with updating to CM 3.7 validation. See TANE Test Engine function.

Fonts - templates

Localisations - Ability to delete non-English localisations of description, string-table and username. Optional.

Mini - Tag deletion.

Nightmode - Correcting invalid values, and keywording.

Personal Details - Ability to delete personal details excluding license. Optional.
Note N3V preference is that this information should be provided via Planet Auran profile. Please ensure your details are up-to date.

PM - Keyword identification of residual PM meshes that need conversion to IM. Also tags PMs that cannot be converted because of INFL anomalies.

Region - Provision of spreadsheet showing data to generate kind 'Region' assets. Provides an extensive list of Countries, their capital's name and lat/long/alt, official languages and the Trainz localisations most appropriate. Work in Progress to provide a means of automatically generating kind ‘region’ asset config file. This will be distributed separately.

Repeat-Delay - Expanded coverage.

Smoke - Automating repairs.

Stitched Track/LOD format - Legacy updates for:

a. Bridges.
b. Roads.
c. Splines.
d. Track.
e. Tunnels.
f. Turntables.
g. Includes specialised usage of kind track to produce SirGibby's cliffs, ledges and rocks.
h. Tree Splines.

Thumbnails - Correction to faulty script where a dummy thumbnail was substituted for valid thumbnails instead of only for missing legacy cases. Now available in batch mode and extended to cover ART_icon and ART_512 files to TANE requirements.

Part 3 - http://forums.auran.com/trainz/entr...-A-Trainz-Asset-Repair-Management-Tool-Part-3
 
Back
Top