Validation changes
From TrainzOnline
This is a quick non-exhaustive list of validation changes from TS2009 up to October 2014. It makes interesting reading for content creators to see the breadth and depth of changes made over time:
- CL35788 settings-table was marked obsolete (previously it was flagged as faulty)
- CL35984 added support for category-class YX: Region
- CL35984 allowed more than 16 cars to be defined in a route config.
- CL36041 added support for "double-blocking" tag in signal assets.
- CL36056 added support for "lod-level" tag in "mesh-table" container
- CL36056 added support for modern track format including "track-lod-tree"
- CL36056 added support for normal maps in ground textures
- CL36160 added support for modern track format endcaps
- CL36231 added support for "custom-category-list"
- CL36259 New bogie tag 'axle-offsets' to specify where the axles are in a bogie. Junction crossing sounds should be improved if this optional tag is used.
- CL36334 added "position" and "orientation" controls to the "mesh-table" elements
- CL36334 added "decal" support to map objects
- CL36354 "script-include-table" - Add the ability for script assets to cross-include files from other script assets;
- CL36395 "mesh-asset"
- CL36433 "scenerywithtrack-mutex" - Added ability to specify custom mutex controls for animated junction pieces, et al.
- CL36434 Asset validation now detects missing script files
- CL36439 support for non-existent "hybrid-reducing-track" removed
- CL36460 made "icon0" et al obsolete.
- CL36464 added "lod-random-bias" to permit random mesh variations.
- CL36548 add validation of the number of elements in vector types.
- CL36746 fixed validation of "junction-mutex" et al.
- CL36753 added "always-load-in-global-context" for script library
- CL36802 added "use-named-track" for fixedtrack
- CL36843 "max-fire-coal-mass" was marked obsolete (previously it was flagged as faulty)
- CL36882 added support for signal states 13 to 39 inclusive
- CL36887 added "mesh-detail-level-count" for "mesh-object"
- CL36996 added support for "subblend" and "subrotation" in 'tetxure'.
- CL36996 disabled validation of "paintshed-skin" assets.
- CL37055 added "track-attachment-threshold" to "FixedTrack"
- CL37092 added "switch" cabin control type
- CL37110 allowed additional asset types as a source for "clutter-mesh" on "ground texture"
- CL37387 added "min-distance" for "corona" effect
- CL37387 added "mul-distance" for "corona" effect
- CL37387 added "max-size-mul" for "corona" effect
- CL37423 moved "track-attachment-threshold" from "FixedTrack" to "scenerywithtrack"
- CL37795 added "legacy-piston-count" in "steam" container
- CL38018 added "coordinate-transformation" for track
- CL38026 made "backlength" and "backpivot" from "traincar" obsolete (these were never valid tags, but validation previously allowed them)
- CL38026 added "frontlength" and "frontpivot" to "traincar" as obsolete (previously these were flagged as faulty.)
- CL38103 removed "SnapModeZero" validation from "snapgrid" on map objects.
- CL38152 added "groundbrush" asset type to support "surveyor displacements" as a custom brush asset instead of a plain file.
- CL38371 added "servlet" asset type
- CL38533 added "gameplaymenu" asset type
- CL38547 added "consist" asset type
- CL38588 added "surveyor-only" tag for current track type
- CL38622 added "mesh-season" to "mesh-table" container elements
- CL38622 added "season-selector" to mesh object assets
- CL38750 changed "minimum-volume" from 'int' to 'float' validation
- CL38750 changed "maximum-volume" from 'int' to 'float' validation
- CL38750 changed "fusible-plug-volume" from 'int' to 'float' validation
- CL38750 added check that "texture" assets actually have a valid texture file
- CL38829 added "achievement-category" asset type
- CL38829 added "achievement-group" asset type
- CL38976 added support for hungarian locale
- CL39161 for obsolete tags, introduce a version check where the warning is suppressed for older assets
- CL39215 added "tni-library-name" for script library assets
- CL39515 added "autosave" tag to map assets
- CL39897 added "speedtree" asset type for testing
- CL39988 added "scale" tag to "speedtree" asset
- CL40008 added a warning if a traincar asset is missing its shadow
- CL40011 added a warning if no visible meshes are present in an object (speed board, signal, crossing, turntable, train car, mesh, industry, bogey, pantograph, scenery, trackside)
- CL40242 added seasonal support for ground textures (texture-variants and season-selector tags)
- CL40435 changed "accel" tag of "smoke" container to allow variable-length lists, rather than requiring three elements. changed the default to be 2 instead of 3 elements.
- CL40560 added "custom-render-plugin" to allow TNI rendering of mesh table elements.
- CL40566 added "tni-render-plugin" asset type which is a variant of the library asset.
- CL40571 added "visibility-radius" for mesh objects
- CL40572 fixed validation of "volume" container which was broken due to a typo
- CL40592 removed "speedtree" test asset type
- CL40596 added "mesh-scale" for mesh table elements.
- CL40624 added session "autosave" tag
- CL41592 added "help-label" to "gameplaymenu" asset
- CL42023 added "icon" to "achievements-element"
- CL42219 added validation that "compulsory" containers are actually present (previously not validated) on a version-specific basis. set most containers to be compulsory after 3.3 to avoid introducing too many new errors where compulsory containers were missing on existing assets.
- CL42229 removed support for "isfreeway" tag from map assets (no such tag exists)
- CL42313 made "carrate" obsolete as of v3.3 on map (no such tag exists)
- CL42313 made "isfreeway" obsolete as of v3.3 on map (no such tag exists; this previously flagged as faulty.)
- CL42714 added "rule-data" tag to session assets
- CL43712 added "IsNotTraincar" validation to "trackside" assets with "speedlimit" tag set.
- CL43785 added "YT Tutorial Session" category-class
- CL43794 fixed "drivercharacter" assets to derive from "mesh-object"
- CL44033 fixed "opacity" tag to be floating point value
- CL44048 check for the presence of files referenced from SoundScripts
- CL44715 disabled * CL44048
- CL44914 made "category-region" and "category-era" compulsory as of v3.3
- CL45135 added "optional-kuid-table"
- CL45272 added "autopilot-stop-distance" and "autopilot-caution-speed-multiplier" for roger cabo
- CL45417 changed the v3.3 obsoletes to v3.4
- CL45520 removed "origin" tag from "traincar" asset (no such tag)
- CL45520 fixed minor typo in "bogey" validation, "animdist" is now compulsory at v3.4
- CL45629 validate that ground texture assets actually have texture files
- CL45776 add "autopilot-crawl-distance" for roger cabo
- CL46099 "direct-drive" tag on bogey asset is no longer compulsory
- CL46274 change "trackoffsets" and "trackdirections" on various legacy track types to be variable-length lists (previously required exactly 2 elements)
- CL46278 make "origin" obsolete as v3.5 (previously obsolete in all versions)
- CL46285 make "bendy", "carrate", "casts_shadows", "endlength", "grounded", "isroad", "isfreeway", "numlanes", "repeats", "rob", "shadows", "upright", "visible-on-minimap" tags non-compulsory
- CL46319 added category class "YL Script Library"
- CL46353 add category class "BRSH Displacement Map"
- CL46353 add category class "CN Consist"
- CL46442 fix "instance-type" list in "product" asset
- CL46516 add "engine-sound-ramp-duration"
- CL46592 add "engine-sound-ramp-up-durations" and "engine-sound-ramp-down-durations"
- CL47108 add "lod-is-surveyor" and "lod-season-index" in "track-lod-tree"
- CL47116 make "number-slow-sounds", "number-cylinders", "number-power-strokes" non-compulsory in enginesound
- CL47117 add "none" and "car" validation for nightmode tag
- CL47147 add "asset-group" asset type
- CL47147 add "placeable-on-splines-of-group" tag for trackside
- CL47147 "member-of-groups" tag for all types
- CL47165 "visible-on-minimap" is no longer compulsory for "track" assets
- CL47165 added "attached-splines" to "track"
- CL47281 added hungarian, swedish, finish, danish, norwegian localisation support.
- CL47402 added "CS ControlSet" category-class
- CL47402 added "controlset" asset type
- CL47426 add control set support for "interior" and "library" assets
- CL47428 make interior "tooltip-text" tag obsolete as of v3.6, and provide replacement "tooltip-token"
- CL47480 fix "visibility-radius" tag in mesh objects
- CL47506 add "throttle-adjustment-rate" in "engine" for roger cabo
- CL47756 add "reassignable" tag to control element container
- CL47851 add "button" mesh kind
- CL48095 add "use-default-lighting" for attachment effects to resolve the "shell cab hack"
- CL48147 add smoke "mode" validation
- CL48280 make "full-throttle-speed" obsolete (at v3.6, * CL49667)
- CL49051 add validation of "track-sound" containers to avoid unwanted wildcard overrides
- CL49118 add support for japanese localisation
- CL49122 add support for korean localisation
- CL49759 added "name-ja" as an obsolete tag
- CL50069 added "is-payware-content" tag in the "privileges" container
- CL50100 added "must-have-product-rights" and "must-not-have-product-rights" base tags
- CL50179 added "gameplaymenu-mobile" asset type
- CL50492 added "season-selector" tag to "track"
- CL50696 added "soundscript" to "library" asset
- CL50738 improved "repeat-delay" option to allow 1- or 2- element vectors, instead of requiring a 2-element vector
- CL51209 added "prerequisites" tag to session asset
- CL51598 added "fade-time" to interior mesh-table elements
- CL51825 added "follows-spline-gradient" and "follows-ground-height-at-ends-of-mesh" to track assets
- CL51847 added support for the "constant" smoke mode
- CL52083 added "pt" localisation
- CL52357 added "horizontal" coordinate transformation mode for track.
- CL52967 added "soundset" asset type
- CL52967 added "TDRV" product right label
- CL53250 added "dont-scale-mesh-to-fit-length" to track part container
- CL53250 added "visual-only" to attached spline container
- CL53250 re-added "SoundIsValid" validation
- CL53552 made "product-category" compulsory for all versions (was previously 3.4+)
- CL53552 added "ValidateRunningNumberFonts" validation
- CL54111 added "tunnel-roof-height" for track assets
- CL54111 added support for South African localisation
- CL54415 added "horizontal-shear" coordinate transformation for track assets
- CL54698 added "behavior-template" asset type
- CL54830 made "alias" tag for mesh objects obsolete as of v3.0
- CL54860 made "mesh-table" compulsory for track as of v2.9 (was previously compulsory as of v3.4)
- CL54861 made "mesh-table" compulsory for mesh objects as of v3.0 (was previously compulsory as of v3.4)
- CL54964 change product asset validation to recognise that some products do not use mesh-tables
- CL55283 add "follows-spline-gradient" to attached-spline container
- CL55798 removed "behaviour template" asset type
- CL56001 added "maxspeed", "maxspeedmps", "maxspeedfps", "maxspeedmph" tags to smoke container, and changed "maxspeedkph" from int to float
- CL56430 re-added "behaviour template" asset type
- CL56464 fixed "defaultjunction" in region assets to be a KUID type rather than an integer, allowing third-party KUID values
- CL56482 changed "trainbrakepipe", "compressor", "trainbrakepipe_reservoir", "brakeratio", "max-accel", "initial-boiler-temperature", "max-coal-mass", "westinghouse-volume" in "flowsize" container to be float
- CL56498 changed "traffic-speed" in track asset to be float
- CL56498 changed "mass", "smoke_fastspeed" and "smoke_slowlife" in traincar to be float
- CL56498 changed "defaultjunction" in region from "scenery" filter to "mojunction" filter
- CL56498 changed "traffic-speed" in old track to float
- CL56498 changed "directional" in corona effect to bool (was int)
- CL56498 changed "frequency" in corona effect to float
- CL56498 changed "radius" in attached trigger container to float
- CL56498 changed "axle-count" in motor container to float (ugh, don't ask)
- CL56554 added support for "scale" in "flowsize" container
- CL56554 made "scale" non-compulsory in "volume" container
- CL56554 made "scale" non-compulsory in "pressure" container
- CL56554 made "scale" non-compulsory in "mass" container
- CL57084 made "passenger-height" and "consists" in "industry" and "buildable" assets obsolete as of v3.7
- CL57084 add "light" tag in map object obsolete in v3.8
- CL57209 add "WIN", "PCIA", "DBGA" product right labels
- CL57999 change recognised spelling of "overlap-track-circuit" to "overlap-track-circuited" in signal assets
- CL58304 add "gain" tag to corona effect
- CL58304 add "NoDuplicateStretches" validation to attached track container
- CL58304 made "kind bridge" obsolete as of v3.8
- CL58304 added "tail-lights", "interior-light-texture", "interior-light-color", "classification-signals", "vehicle-running-numbers" tags to traincar assets
- CL58304 added "AGRP Asset Group"
- CL59435 add "DBG" and "TWOR" product right enumerations
- CL59435 remove support for "paintshed-template" and "paintshed-skin" assets
- CL59435 make "paintshed-template-used" obsolete
- CL59435 make "paintshed-skin-used" obsolete
- CL59435 add "ui-texture-group" asset type
- CL59435 remove "ZY PaintShed Skin" category class
- CL59435 remove "ZX PaintShed-Template" category class
- CL59533 add "IsValidCategoryClass" validation on all types
- CL59533 re-add "ZX PaintShed-Template - OBSOLETE" category class
- CL59556 add "savegame" asset type
- CL59556 add "SG Saved Game" category class
- CL59676 add "tooltip-mesh" in interior mesh table element
- CL60208 add "should-respond-to-clicks" tag to mesh-table elements
- CL60235 add validation of "night-mesh-base" in mesh-table elements
- CL60235 add validation of "mesh" in mesh-table elements
- CL60741 add "ValidLOD" validation