<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.trainzsimulator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jbartus</id>
	<title>TrainzOnline - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.trainzsimulator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jbartus"/>
	<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/wiki/Special:Contributions/Jbartus"/>
	<updated>2026-11-05T04:54:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=User_talk:Pware&amp;diff=29183</id>
		<title>User talk:Pware</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=User_talk:Pware&amp;diff=29183"/>
		<updated>2021-04-07T21:28:25Z</updated>

		<summary type="html">&lt;p&gt;Jbartus: kudos, Take a Bow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Take a Bow==&lt;br /&gt;
You&#039;ve been doing a great job herein! &lt;br /&gt;
Frank&lt;/div&gt;</summary>
		<author><name>Jbartus</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=KIND_TrainzBaseSpec&amp;diff=23441</id>
		<title>KIND TrainzBaseSpec</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=KIND_TrainzBaseSpec&amp;diff=23441"/>
		<updated>2020-05-19T18:05:16Z</updated>

		<summary type="html">&lt;p&gt;Jbartus: /* custom-category-list */ cross-link to details pages: WHERE DO THE TAGS IN Category List go?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FUN-beg}}&lt;br /&gt;
{{ORP-top}}&lt;br /&gt;
==KIND Hierarchy==&lt;br /&gt;
[[KIND TrainzBaseSpec]] provides the basis for all Trainz asset types. It provides for a number of &amp;quot;Standard Tags&amp;quot; which are common to (or at least, can legally be defined) for any and all Trainz assets. Some of these are mandatory, most are optional and a defining line using the tag may be omitted in most sub-assets.&lt;br /&gt;
&lt;br /&gt;
===Parent Classes===&lt;br /&gt;
* None. TrainzBaseSpec is a root class from which other Trainz Asset classes are derived.&lt;br /&gt;
&lt;br /&gt;
===Child Classes===&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Achievement-category]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Achievement-group]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Activity]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Asset-group]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Behavior]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Bogey]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Buildable]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Controlset]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Consist]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Drivercharacter]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Drivercommand]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Engine]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Enginesound]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Environment]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Fixedtrack]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Gameplaymenu]]&lt;br /&gt;
|&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Groundbrush]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Groundtexture]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Hornsound]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND HTML-asset]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Industry]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Interior]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Library]]&lt;br /&gt;
* &amp;amp;nbsp;[[Class Library]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Map]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Mesh]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Module]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND MOCrossing]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND MOJunction]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND MOSignal]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND MOSpeedboard]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Pantograph]]&lt;br /&gt;
|&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Product]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Product-category]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Profile]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Region]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Scenariobehavior]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Scenery]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Scenery-trackside]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND SceneryWithTrack]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Servlet]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Steam-engine]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Texture]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Texture-group]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Track]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Tracksound]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Traincar]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Turntable]]&lt;br /&gt;
* &amp;amp;nbsp;[[KIND Water2]]&lt;br /&gt;
|}&amp;lt;!-- Careful, wikitable ends ---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supported Tags==&lt;br /&gt;
The [[KIND TrainzBaseSpec]] [[config.txt file]] supports the following tags. Each tag is show here with its &#039;&#039;default value&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 kind &amp;quot;&amp;quot;&lt;br /&gt;
 kuid &amp;lt;NULL&amp;gt;&lt;br /&gt;
 trainz-build ?&lt;br /&gt;
 script &amp;quot;&amp;quot;&lt;br /&gt;
 class &amp;quot;&amp;quot;&lt;br /&gt;
 script-include-table&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 username &amp;quot;&amp;quot;&lt;br /&gt;
 username-XX &amp;quot;&amp;quot;&lt;br /&gt;
 description &amp;quot;&amp;quot;&lt;br /&gt;
 description-XX &amp;quot;&amp;quot;&lt;br /&gt;
 kuid-table&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 obsolete-table&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 string-table&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 string-table-XX&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 category-region &amp;quot;&amp;quot;&lt;br /&gt;
 category-class &amp;quot;&amp;quot;&lt;br /&gt;
 category-era &amp;quot;&amp;quot;&lt;br /&gt;
 category-keyword &amp;quot;&amp;quot;&lt;br /&gt;
 custom-category-list &amp;quot;&amp;quot;&lt;br /&gt;
 must-have-product-rights &amp;quot;&amp;quot;&lt;br /&gt;
 must-not-have-product-rights &amp;quot;&amp;quot;&lt;br /&gt;
 privileges&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 thumbnails&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 extensions&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 license &amp;quot;&amp;quot;&lt;br /&gt;
 author &amp;quot;&amp;quot;&lt;br /&gt;
 organisation &amp;quot;&amp;quot;&lt;br /&gt;
 contact-email &amp;quot;&amp;quot;&lt;br /&gt;
 contact-website &amp;quot;&amp;quot;&lt;br /&gt;
 member-of-groups&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
===kind===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The asset type which this [[config.txt file]] represents. See the list: [[KIND_TrainzBaseSpec#Table_of_KIND_Child_Classes|here (above)]]&lt;br /&gt;
&lt;br /&gt;
===kuid===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; [[KUID]]&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The unique asset ID referencing this asset.&lt;br /&gt;
&lt;br /&gt;
===[[trainz-build]]===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; floating point number (must exactly match a released Trainz version number.)&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The file format version to which this asset is built. This number should generally be set to the trainz version number of the Trainz installation on which the asset is being created and tested. Some asset kinds are parsed significantly differently depending on their &#039;&#039;trainz-build&#039;&#039; version tag. NOTE: The &#039;&#039;trainz-build&#039;&#039; tag is compulsory. If not specified or if left blank, Trainz will make a primitive attempt to guess at a legacy Trainz version based on the contents of the [[config.txt file]].&lt;br /&gt;
&lt;br /&gt;
===script===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; Indicates the filepath of the primary script file for this asset, if any. This filepath should always end in a &amp;quot;.gs&amp;quot; extension - the runtime will attempt to add or substitute a &amp;quot;.gs&amp;quot; extension if the filepath has an alternative extension.&lt;br /&gt;
&lt;br /&gt;
===class===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; Indicates the script class name to load as the primary class for this asset, if any. This class is loaded from the primary script file for this asset.&lt;br /&gt;
&lt;br /&gt;
===script-include-table===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; The [[&amp;quot;script-include-table&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A key-value table of scripted assets which are searched for script includes when compiling this asset&#039;s script file(s). The key is currently unused but must be unique; the value indicates the KUID of the asset to include.&lt;br /&gt;
&lt;br /&gt;
===username===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string, [[&amp;quot;Username&amp;quot; tag]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The &#039;&#039;&#039;English&#039;&#039;&#039; human-visible name for this asset. This field should never contain non-English text, except where the asset name is a Proper Noun (eg. a place name) with no English localized variant.&lt;br /&gt;
&lt;br /&gt;
===username-XX===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string, [[&amp;quot;Username&amp;quot; tag]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; (Where &#039;&#039;XX&#039;&#039; is replaced with the appropriate [[localization code]] for the language being represented.) The localized human-visible name for this asset. This field is similar to the &#039;&#039;username&#039;&#039; field except representing a non-English locale. Multiple &#039;&#039;username-XX&#039;&#039; tags may be present in an asset, once for each supported locale. If the appropriate &#039;username-XX&#039; tag is not present to represent this asset on a given end-user system, the English &#039;&#039;username&#039;&#039; tag is used instead.&lt;br /&gt;
&lt;br /&gt;
===description===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 multi-line string, [[&amp;quot;Description&amp;quot; tag]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The &#039;&#039;&#039;English&#039;&#039;&#039; human-visible descriptive summary for this asset. This field should be kept to a short (1-2 paragraph) blurb describing the asset. Extended details should be provided via an &#039;&#039;info-url&#039;&#039; page. This field must be comprised of English descriptive text, although the text may reference non-English Proper Nouns as explained above.&lt;br /&gt;
&lt;br /&gt;
===description-XX===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 multi-line string, [[&amp;quot;Description&amp;quot; tag]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; (Where &#039;&#039;XX&#039;&#039; is replaced with the appropriate [[localization code]] for the language being represented.) The localized human-visible descriptive summary for this asset. This field is similar to the &#039;&#039;description&#039;&#039; field except representing a non-English locale. Multiple &#039;&#039;description-XX&#039;&#039; tags may be present in an asset, once for each supported locale. If the appropriate &#039;description-XX&#039; tag is not present to represent this asset on a given end-user system, the English &#039;&#039;description&#039;&#039; tag is used instead.&lt;br /&gt;
&lt;br /&gt;
===string-table===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string list container, the [[&amp;quot;String-table&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A key-value list of &#039;&#039;&#039;English&#039;&#039;&#039; strings. Each key is a meaningful script identifier. Each value is an &#039;&#039;&#039;English&#039;&#039;&#039; string. As described above, an English string may comprise of or reference a non-English Proper Noun.&lt;br /&gt;
&lt;br /&gt;
===string-table-XX===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string list container, the [[&amp;quot;String-table&amp;quot; container]]. &lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; (Where &#039;&#039;XX&#039;&#039; is replaced with the appropriate [[localization code]] for the language being represented.) This field is similar to the &#039;&#039;string-table&#039;&#039; field except representing a non-English locale. Multiple &#039;&#039;string-table-XX&#039;&#039; tags may be present in an asset, once for each supported locale. Each should contain a list of strings with the same Keys as in the &#039;&#039;string-table&#039;&#039; list, but with different Values. If the appropriate &#039;string-table-XX&#039; tag is not present to represent this asset on a given end-user system, or the appropriate string is missing from the that list, the English &#039;&#039;string-table&#039;&#039; container is referenced instead.&lt;br /&gt;
&lt;br /&gt;
===kuid-table===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; KUID list container, the [[&amp;quot;Kuid-table&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A key-value list of assets upon which this asset is dependent. The keys may be any unique value (typically, sequential integers if the keys are meaningless, or script identifiers if the asset is to be referenced from script.)   Entries in this table serve two purposes - firstly, to ensure that the game systems are aware of the dependency such that installing and loading this asset will successfully install and load any dependencies, and secondly to allow scripts to locate relevant child assets. Only first-level dependencies are included.  Circular dependencies are legal.  An asset cannot be listed as a dependency if it is also marked as an obsolete version of this asset.  An asset cannot be listed as its own dependency.&lt;br /&gt;
&lt;br /&gt;
===obsolete-table===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; KUID list container, the [[&amp;quot;Kuid-table&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A key-value list of assets which are made obsolete by this asset. Any attempt to load an asset referenced in this list will result in this asset being loaded instead. The assets referenced in this list must have the same creator as this asset. It is illegal for two assets to both mark a third asset obsolete, unless one of the two also marks the other as obsolete. Circular obsolete references are illegal. All lower-numbered KUID2 versions of this asset are implied as obsolete and need not be included in this list.  It is illegal to mark a higher-numbered KUID2 version of this asset as obsolete as that creates an implicit circular reference.&lt;br /&gt;
&lt;br /&gt;
===category-region===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of two-character [[Category Region]] codes, separated by semi-colons (&#039;;&#039;). No other characters (including whitespace, etc.) should be present in the string. This asset is considered relevant to each of the specified regions - this is most relevant for [[KIND Traincar]] and [[KIND MOSignal]] assets, but may be supplied for any asset.&lt;br /&gt;
&lt;br /&gt;
===category-class===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A single 2-3 character [[Category Class]] code which describes this content item. The &#039;&#039;category-class&#039;&#039; tag is used to provide additional human sub-categorization beyond what is implicit from the Asset Kind. Note that many category-class codes are only relevant to specific Asset Kinds - category-class codes must not be applied to assets of an inappropriate Kind.&lt;br /&gt;
&lt;br /&gt;
===category-era===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of five-character [[era code]]s, separated by semi-colons (&#039;;&#039;). Each era code token must be an exact match for one of the specified legal [[era code]]s. No other characters (including whitespace, etc.) should be present in the string. This asset is considered relevant to the specified era range.&lt;br /&gt;
&lt;br /&gt;
===category-keyword===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of natural-language keywords, separated by semi-colons (&#039;;&#039;). No other characters (including whitespace or irrelevant punctuation) should be present in the string. These keywords form the basis for asset keyword searching. The asset&#039;s name need not be repeated in the &#039;&#039;category-keyword&#039;&#039; list. Various [[default search keywords]] are supplied automatically based on the asset type.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;comments:&#039;&#039; The asset creator should consider how a Trainz user might search for an assets.  For example, a user looking for a narrow gauge steam locomotive used on a South African railway.   This is an example from one of EDH6&#039;s locos:&lt;br /&gt;
&lt;br /&gt;
:category-keywords &amp;quot;steam;SAS;2ft;NG24;24in;Narrow;Gauge;Beira;Railways;South;African;suid;afrikaanse;spoorwee&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:Alternatively a Viennese tram:&lt;br /&gt;
&lt;br /&gt;
:category-keywords: &amp;quot;electric;tram;tramcar;trolley;trolleycar;streetcar;vienna;viennese&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:Adding non-english equivalents can be useful.&lt;br /&gt;
&lt;br /&gt;
===custom-category-list===&lt;br /&gt;
:&#039;&#039;see also related details in: [[Category List]], and [[custom category identifier]]&#039;&#039;&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; ascii string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of custom category identifiers, separated by semi-colons (&#039;;&#039;). Each [[custom category identifier]] should be a short (eg. 3-6 character) alphanumeric token. No other characters (including whitespace) should be present in the string. These custom categories are used to enable scripts to rapidly locate certain classes of asset. It is strongly recommended that new custom category identifiers are introduced sparingly. The &#039;&#039;custom-category-list&#039;&#039; tag value may have no more than 64 characters total. This tag should be left blank unless there is an existing specific script requirement that can only be fulfilled via the custom-category-list approach.&lt;br /&gt;
&lt;br /&gt;
===must-have-product-rights===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; ascii string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of required product rights, separated by semi-colons (&#039;;&#039;). If the local installation does not have the required product rights then the asset may not be loaded by certain game systems.&lt;br /&gt;
&lt;br /&gt;
===must-not-have-product-rights===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; ascii string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of conflicting product rights, separated by semi-colons (&#039;;&#039;). If the local installation has one of the listed product rights then the asset may not be loaded by certain game systems.&lt;br /&gt;
&lt;br /&gt;
===privileges===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; The [[&amp;quot;privileges&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A set of privileges set by the asset creator to control how this asset can be used.&lt;br /&gt;
&lt;br /&gt;
===thumbnails===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; The [[&amp;quot;Thumbnails&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The thumbnail(s) which are used to represent this asset in 2D preview boxes, lists, and icon form throughout the game environment (including in-game, in [[Content Manager]], and on the [[Download Station]].)&lt;br /&gt;
&lt;br /&gt;
===extensions===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; The [[&amp;quot;Extensions&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A set of extended attributes which provide additional information to scripts beyond the [[Config.txt file]] specifications defined for this asset type. Care should be taken to abide by the extensions naming guidelines when creating a new extension, and to abide by the extension-creator&#039;s guidelines when providing data for an existing extension. Auran reserves the right to add validation for specific entries in the [[&amp;quot;Extensions&amp;quot; container]] at a later date, based on the extension-creator&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
===license===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 multi-line string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A license describing how the asset creator would like this asset to be used. The meaning of the &#039;&#039;license&#039;&#039; tag is ambiguous and its usage is not recommended. Content uploaded to the [[Download Station]] or provided for inclusion into the game may be under a specific redistribution contract or license agreement which supersedes any text in this field. The license field does not provide for localization support. The text of the license field is not validated or enforced by Auran and may or may not be legally binding to end users.&lt;br /&gt;
&lt;br /&gt;
===author===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The author&#039;s name or mark. The use of this field is not recommended as attribution can be determined programmatically. &lt;br /&gt;
&lt;br /&gt;
===organisation===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; UTF-8 string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The name or mark of the organization responsible for the creation of this asset. The use of this field is not recommended as attribution can be determined programmatically. &lt;br /&gt;
&lt;br /&gt;
===contact-email===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; email address string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The contact email address for the creator of this asset. The use of this field is not recommended as attribution can be determined programmatically and contact details can be registered against the creator&#039;s [[Planet Auran account]] where they can be limited or updated as necessary. &lt;br /&gt;
&lt;br /&gt;
===contact-website===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; URL string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; The contact website for the creator of this asset. The use of this field is not recommended as attribution can be determined programmatically and contact details can be registered against the creator&#039;s [[Planet Auran account]] where they can be limited or updated as necessary. &lt;br /&gt;
&lt;br /&gt;
===info-url===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; URL string.&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A link to an online description of this asset. The URL must resolve to a site within the [[Trainz Online Security Zone]]. The use of custom [[Trainz Short URL]] formats is recommended to future-proof the URL against possible future site layout changes. Where this tag is present, in-game buttons are provided to allow the user to view the asset description without leaving the game environment. It is recommended that generic group pages are used for entire classes of asset in any case where the assets provide similar functionality but minor differences in appearance. This reduces the time-expense of creating, maintaining and localizing such documentation.&lt;br /&gt;
&lt;br /&gt;
===member-of-groups===&lt;br /&gt;
:&#039;&#039;type:&#039;&#039; [[&amp;quot;Member-of-groups&amp;quot; container]].&lt;br /&gt;
:&#039;&#039;desc:&#039;&#039; A list of [[KIND Asset-group]] assets to which this asset belongs. See the [[KIND Asset-group]] documentation for details on how and when this is used.&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&#039;&#039;Attach sample files here&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
[[Category:Asset KIND|$BaseSpec]]&lt;br /&gt;
{{ORP-bot|$BaseSpec}}&lt;br /&gt;
&amp;lt;div&amp;gt;{{FUN-bot|$BaseSpec}}&lt;/div&gt;</summary>
		<author><name>Jbartus</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=KIND_Track&amp;diff=23405</id>
		<title>KIND Track</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=KIND_Track&amp;diff=23405"/>
		<updated>2020-05-18T18:26:40Z</updated>

		<summary type="html">&lt;p&gt;Jbartus: /* attached-splines */ +Earliest available validity is TS12, trainz-build 3.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ORP-top}}&lt;br /&gt;
=KIND Track=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KIND Track&#039;&#039;&#039; provides the sole asset kind for spline-based assets from [[Trainz-build]] version 2.9 and up. Contrary to the name, just as a Road type used to be defined as a Track asset, assets of this kind now include simple track, multitrack, bridges, tunnels, hedges, roads, walls, embankments, local power lines, high-voltage power lines, and so on. Assets of this kind use a rendering technique previously known as &amp;quot;stitched track&amp;quot;. Now that all other spline rendering is obsolete, it is simply known as &amp;quot;track&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This page describes [[trainz-build]] 4.5.&lt;br /&gt;
&lt;br /&gt;
=KIND Hierarchy=&lt;br /&gt;
==Parent Classes==&lt;br /&gt;
* [[KIND TrainzBaseSpec]]&lt;br /&gt;
&lt;br /&gt;
==Child Classes==&lt;br /&gt;
*[[KIND Procedural track]] is a rail-track-specific spline type introduced at trainz-build 4.2 which is procedurally built from components. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Supported Tags=&lt;br /&gt;
The [[KIND Track]] in a [[config.txt file]] supports the following tags when defined by the [[TrainzBaseSpec]] . Each tag is show here with its default value.&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 track&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 endcap-prev&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 endcap-next&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 [[attached-splines]]&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 season-selector&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 track-sound&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 is_silent              0&lt;br /&gt;
 istrack                0&lt;br /&gt;
 isroad                 0&lt;br /&gt;
 carrate                0&lt;br /&gt;
 traffic-speed          10&lt;br /&gt;
 isfreeway              0&lt;br /&gt;
 numlanes               0&lt;br /&gt;
 istunnel               0&lt;br /&gt;
 tunnel-roof-height     0&lt;br /&gt;
 enable-pfx-collisions  1&lt;br /&gt;
 surveyor-only          0&lt;br /&gt;
 visible-on-minimap     1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==mesh-table==&lt;br /&gt;
The [[&amp;quot;mesh-table&amp;quot; Container]] provides details about the track and end-cap meshes which comprise this asset. Most advanced mesh-table options are not available for use at the current time. The important thing is to specify the meshes. Specifically, the &#039;mesh&#039; tag should be used to specify an IM file, and the &#039;mesh-asset&#039; tag can be used to specify an alternative source asset for the mesh.&lt;br /&gt;
&lt;br /&gt;
==track==&lt;br /&gt;
The &amp;quot;track&amp;quot; tag is compulsory and determines how the spline geometry is formed from meshes. It is specified as a [[Track Part Container]].&lt;br /&gt;
&lt;br /&gt;
==endcap-prev &amp;amp; endcap-next==&lt;br /&gt;
The &amp;quot;endcap-prev&amp;quot; and &amp;quot;endcap-next&amp;quot; tags are specified in the same way as &amp;quot;track&amp;quot;, but are not compulsory. If present, these end caps are inserted past the ends of the spline in each direction unless the spline flows onto another spline segment of the same asset. This allows the content creator to &amp;quot;seal&amp;quot; the spline geometry without having to introduce inefficient sealing polygons at each subdivision. The endcaps obey the normal fit-to-spline behavior except that they continue straight in the instantaneous direction of the end of the spline. If present, the endcaps inherit their default settings from the asset&#039;s &amp;quot;track&amp;quot; tag but any individual values may be overridden as desired.&lt;br /&gt;
&lt;br /&gt;
==attached-splines==&lt;br /&gt;
: Earliest available validity is TS12, trainz-build 3.4&lt;br /&gt;
The [[&amp;quot;attached-splines&amp;quot; container]] provides a mechanism for having child splines attached which follow the shape of this parent spline at a slightly offset. Attached splines are used where a spline with one set of rendering or functional behaviour needs to be coupled with a spline with a different set of rendering or functional behaviours. For example, a bridge (scenery) with attached track (functional), or a set of pylons (no stretching or shearing) with some wires strung between them (shearing and stretching to fit.) The attached splines may be render-only splines which effectively don&#039;t exist beyond their rendering behaviour, or they may be fully functional splines whose only specialty is that they move and delete with their parent.&lt;br /&gt;
&lt;br /&gt;
==season-selector==&lt;br /&gt;
The [[&amp;quot;Season-selector&amp;quot; container]] allows for the selection of a season index, which may be used by the [[&amp;quot;track-lod-tree&amp;quot; container]].&lt;br /&gt;
&lt;br /&gt;
==track-sound==&lt;br /&gt;
(Only applicable to splines which have &#039;istrack&#039; set.)&lt;br /&gt;
&lt;br /&gt;
An optional [[&amp;quot;track-sound&amp;quot; container]] which assists in calculating which sound to play while a train vehicle is on this track.&lt;br /&gt;
&lt;br /&gt;
==is_silent==&lt;br /&gt;
(Only applicable to splines which have &#039;istrack&#039; set.)&lt;br /&gt;
&lt;br /&gt;
If set (1), this boolean tag disables the playing of per-axle sounds for vehicles on the spline.&lt;br /&gt;
&lt;br /&gt;
==istrack==&lt;br /&gt;
If set (1), this boolean tag causes the spline to be treated as a &amp;quot;track&amp;quot;, meaning that trains can be expected to run on the spline.&lt;br /&gt;
&lt;br /&gt;
This affects the visibility of the spline on the minimap, where the spline assets shows up in the surveyor pickers, which surveyor tools can operator on the asset, and whether automatic junction placement is enabled.&lt;br /&gt;
&lt;br /&gt;
Track splines can generally be joined, even if they are different assets.&lt;br /&gt;
&lt;br /&gt;
==isroad==&lt;br /&gt;
If set (1), splines of this type are considered roads. Roads support the generation of Carz. Roads are flagged as blocked by [[KIND MOCrossing]] while the crossing gate is closed. Road splines can generally be joined, even if they are different assets.&lt;br /&gt;
&lt;br /&gt;
If not otherwise specified, assets with the &#039;isroad&#039; tag set are members of the &amp;quot;Road Spline Group&amp;quot; [[KIND_Asset-group#Known Asset-groups|&amp;lt;kuid:30501:100045&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
==carrate==&lt;br /&gt;
(Only applicable to splines which have &#039;isroad&#039; set.)&lt;br /&gt;
&lt;br /&gt;
The game waits between 1 and 3 times this value (in seconds) between generating traffic on this road.&lt;br /&gt;
&lt;br /&gt;
==traffic-speed==&lt;br /&gt;
(Only applicable to splines which have &#039;isroad&#039; set.)&lt;br /&gt;
&lt;br /&gt;
Defines the carz speed limit of the road in meters per second. Carz currently travel at up to 80%-110% (depending on the car) of the speed limit, except when overtaking. This tag does not relate to trains in any way.&lt;br /&gt;
&lt;br /&gt;
==isfreeway==&lt;br /&gt;
(Only applicable to splines which have &#039;isroad&#039; set.)&lt;br /&gt;
&lt;br /&gt;
If set (1), this boolean tag causes a multilane road to act as a freeway. This allows carz to change lanes at will, and causes all traffic to flow in the spline&#039;s forward direction only. Overtaking is still allowed on non-freeway roads.&lt;br /&gt;
&lt;br /&gt;
==numlanes==&lt;br /&gt;
(Only applicable to splines which have &#039;isroad&#039; set.)&lt;br /&gt;
&lt;br /&gt;
Defines the number of carz lanes on a road. Each lane is considered to be 1.7 meters wide. If the road is a freeway, all traffic flows in the same direction.&lt;br /&gt;
TBD: What, if anything, does this mean for a non-freeway road?&lt;br /&gt;
&lt;br /&gt;
If not otherwise specified, assets with the &#039;istrack&#039; tag set are members of the &amp;quot;Track Spline Group&amp;quot; [[KIND_Asset-group#Known Asset-groups|&amp;lt;kuid:30501:100043&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
==istunnel==&lt;br /&gt;
If set (1), this boolean tag causes the spline to be treated &amp;quot;like a tunnel&amp;quot;. Despite the name, this does not directly relate to the true tunnel spline functionality (see the &#039;tunnel-roof-height&#039; tag for details.)&lt;br /&gt;
&lt;br /&gt;
Some types of derailment are disabled while in a tunnel because the resultant user experience would be poor due to inter-penentration of the tunnel and terrain by the train vehicles and the player&#039;s camera.&lt;br /&gt;
&lt;br /&gt;
The script function Vehicle.IsInTunnel() returns &#039;true&#039; while a vehicle&#039;s origin is on a tunnel spline.&lt;br /&gt;
&lt;br /&gt;
If the user is in &#039;external&#039; or &#039;auto tracking&#039; camera mode while the camera target is in a tunnel, the camera changes to &amp;quot;tunnel external&amp;quot; mode instead.&lt;br /&gt;
&lt;br /&gt;
While the camera target is in a tunnel, environmental sounds are reduced to 50% volume.&lt;br /&gt;
&lt;br /&gt;
Some types of vehicle particle emitter are disabled while the vehicle is in a tunnel.&lt;br /&gt;
&lt;br /&gt;
==tunnel-roof-height==&lt;br /&gt;
Used by tunnels to determine the roof height in meters allowed by the terrain hole. If less than or equal to zero, no terrain holes are generated. If greater than zero, this spline is considered a true tunnel- it will generate holes in the terrain mesh, its approach angle to the terrain mesh will be locked to 45° increments, and the endpoints will snap to the 10m grid size.&lt;br /&gt;
&lt;br /&gt;
Tunnels are intended for running a spline underneath the terrain mesh.&lt;br /&gt;
&lt;br /&gt;
Tunnel splines attempt to curve such that the spline terminates at a 45° angle increment. This helps ensure that entrance holes can be successfully created through the terrain mesh.&lt;br /&gt;
&lt;br /&gt;
Tunnel splines have slightly modified editing semantics in Surveyor. Vertex markers are visible in different conditions. Smoothing the ground around a tunnel is not permitted. The tunnel spline always follows the spline gradient rather than reacting to the ground height.&lt;br /&gt;
&lt;br /&gt;
If not otherwise specified, assets with the &#039;istunnel&#039; tag set are members of the &amp;quot;Tunnel Spline Group&amp;quot; [[KIND_Asset-group#Known Asset-groups|&amp;lt;kuid:30501:100044&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
==enable-pfx-collisions==&lt;br /&gt;
Bool value, defaults to 1 and is not compulsory. Defines whether or not this track object should be used for collision detection against particles (e.g. smoke, steam). Disabling it for objects that are unlikely to interact with particles is a good idea.&lt;br /&gt;
&lt;br /&gt;
==surveyor-only==&lt;br /&gt;
If set (1), this boolean value causes the asset to only be visible Surveyor. Where applicable, traincars placed on such splines will operate as normal in Driver etc.&lt;br /&gt;
&lt;br /&gt;
==visible-on-minimap==&lt;br /&gt;
If clear (0), hides this spline from the minimap. Splines with non-render-only children are never shown on the minimap. Note that this tag does not have a fixed default value, but rather defaults to the opposite of the &#039;surveyor-only&#039; tag.&lt;br /&gt;
&lt;br /&gt;
=Meshes=&lt;br /&gt;
&lt;br /&gt;
A track asset is usually comprised of several meshes. Each mesh represents a piece of the spline, which is repeated end-of-end with various transformations in order to create the whole spline. Multiple meshes allow for LOD, detail randomisation, and so on - the selection of which mesh to use at various places on the spline is defined by the [[&amp;quot;track-lod-tree&amp;quot; container]]s.&lt;br /&gt;
&lt;br /&gt;
Meshes should make use of a normal map and a single high resolution diffuse texture. For performance reasons, a single material (ie. single texture; see the notes on material sharing between meshes) should be used for all meshes, as opposed to using a separate material for each. The material may use either alpha masking (1-bit alpha) or alpha blending, however any alpha blends will not be sorted (not against other polygons in the track itself, nor against other alpha-blended polygons in the scene.) For this reason, alpha blending should only be used low to the ground such that a line from the camera to the mesh will pass through no other alpha-blended object before reaching the ground. Normal z-buffer behavior will apply to both alpha-blended and alpha-masked meshes.&lt;br /&gt;
&lt;br /&gt;
The various mesh pieces that comprise a track are modelled in such that any type may fit to any other without an obvious seam. Pieces are not strictly required to be symmetrical, as they will never be rotated with respect to the previous piece, however it should be noted that splines which support multi-way joins can result in a construct where a spline loops back and connects to itself coming in the opposite direction.&lt;br /&gt;
&lt;br /&gt;
Some approximate polygon guidelines follow. Creators should avoid using more polygons that they require to accurately depict the object in question.&lt;br /&gt;
&lt;br /&gt;
* Extreme detail mesh - used for close-ups. 1000 polys per 2m segment.&lt;br /&gt;
&lt;br /&gt;
* High detail mesh - used at close range. 200 polys per 2m segment.&lt;br /&gt;
&lt;br /&gt;
* Mid detail mesh - used at mid range. 100 polys per 10m segment.&lt;br /&gt;
&lt;br /&gt;
* Low detail mesh - used at far range. 6 polys per 10m segment. Tracks are textured onto the ballast, rather than polygon-modelled.&lt;br /&gt;
&lt;br /&gt;
* Initial end-cap - used at the start of the spline. 100 polys.&lt;br /&gt;
&lt;br /&gt;
* Final end-cap - used at the end of the spline. 100 polys.&lt;br /&gt;
&lt;br /&gt;
The end-caps provide any polygons necessary to &amp;quot;close&amp;quot; the spline so that it does not appear hollow when seen from end-on. The other meshes do not include any such polygons. The end-caps are automatically applied by the game wherever a transition is made from one track type to another, or where the track begins or ends abruptly.&lt;br /&gt;
&lt;br /&gt;
The length of each mesh is specified independantly. It is recommended that each is made as long as reasonably possible within the alloted polygon budget.&lt;br /&gt;
&lt;br /&gt;
When modelling a track spline, care should be taken to ensure that the top of the rail is exactly 0.3m above the origin. This ensures that it meets the train vehicle&#039;s wheels with no overlap and no gap.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spline Placement=&lt;br /&gt;
&lt;br /&gt;
Meshes may be specified to follow their placement spline as closely as possible (previously: bendy) or to stay straight but shear to prevent seams. This is discussed in detail in the [[Track_Part_Container|track part container]].&lt;br /&gt;
&lt;br /&gt;
Vertices on the mesh may fall into one of two height categories:&lt;br /&gt;
* Grounded - The vertex positioning is based on the ground height.&lt;br /&gt;
* Spline - The vertex positioning is based on the placement spline.&lt;br /&gt;
The height category of a vertex is determined from it&#039;s relative height within the mesh - if it is less than or equal to the per-mesh-specified grounding height, it is considered grounded.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Actual performance will vary based on the following factors:&lt;br /&gt;
* Distance at which the High-detail LODs drop out. Generally this should be extremely close.&lt;br /&gt;
* Number of polygons in the lower LODs. Generally this should be very low.&lt;br /&gt;
* Number of materials used. Ideally, a single material is used for all meshes, rather than one or more per mesh.&lt;br /&gt;
* Length of each mesh (longer is better).&lt;br /&gt;
* Efficiency of the [[&amp;quot;track-lod-tree&amp;quot; container]].&lt;br /&gt;
* User-customisable detail settings.&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
=Category Class=&lt;br /&gt;
The category-class for [[KIND Track]] may be any of the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SF     Fences&lt;br /&gt;
SR     Roads&lt;br /&gt;
SP     Platforms&lt;br /&gt;
SS     Structure&lt;br /&gt;
SV     Vegetation&lt;br /&gt;
TB     Bridge&lt;br /&gt;
TR     Rails&lt;br /&gt;
TT     Tunnel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Downloads=&lt;br /&gt;
* [[Media:TS2009-track.zip]] - The MAX source for the [[Auran]] [[TS2009]] example track. Distributed from the TrainzDev site for education purposes only. No license for the reproduction or redistribution of the included model or textures is granted.&lt;br /&gt;
* [[Media:TS2012-tunnel.rar]] - The MAX source for asset: Tunnel Double Track  &amp;lt;KUID:523:19721248&amp;gt;. Distributed from the TrainzDev site for education purposes only. No license for the reproduction or redistribution of the included model or textures is granted. &lt;br /&gt;
* [[Media:TS2012-bridge.rar]] - The MAX source for asset: Bridge Plate Girder &amp;lt;KUID:523:19721136&amp;gt;. Distributed from the TrainzDev site for education purposes only. No license for the reproduction or redistribution of the included model or textures is granted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Related Links=&lt;br /&gt;
* [[&amp;quot;track-lod-tree&amp;quot; container]]&lt;br /&gt;
* [[Modeling Splines]]&lt;br /&gt;
* [[Track Part Container]]&lt;br /&gt;
* For background and insights, read the Track entries of the TC3 [[Content Creator&#039;s Guide]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Categories=&lt;br /&gt;
[[Category:Asset KIND|Track]]&lt;br /&gt;
{{ORP-bot}}&lt;/div&gt;</summary>
		<author><name>Jbartus</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Effects&amp;diff=23152</id>
		<title>CCG/Effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Effects&amp;diff=23152"/>
		<updated>2020-04-08T22:47:21Z</updated>

		<summary type="html">&lt;p&gt;Jbartus: /* Breakdown of KIND NAME */ clarify&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==EFFECTS (optional mesh-table variables)==&lt;br /&gt;
&lt;br /&gt;
==EFFECT: KIND NAME==&lt;br /&gt;
Some assets may have editable signs. When you set an asset&#039;s name in surveyor through the Edit Properties icon (&#039;?&#039; icon) the signage can be set-up to automatically update. The variables can be set for each sign.&lt;br /&gt;
&lt;br /&gt;
Typical Kind Name mesh table set-up You do not have to use the 0,1,2... block naming convention.&lt;br /&gt;
&lt;br /&gt;
For the name effects described in the example, 0 could easily be mainsign or something more relevant to your model.&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh industry.lm&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       0&lt;br /&gt;
       {&lt;br /&gt;
         kind name&lt;br /&gt;
         fontsize 0.15&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name0&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
       1&lt;br /&gt;
       {&lt;br /&gt;
         kind name&lt;br /&gt;
         fontsize 0.3&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name1&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Setting unique names may be useful for script purposes, so you can easily recognise a script reference for instance.&lt;br /&gt;
&lt;br /&gt;
===Breakdown of KIND NAME===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;kind name&#039;&#039;&#039;&lt;br /&gt;
The effect kind&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fontsize&#039;&#039;&#039;&lt;br /&gt;
The size of the sign text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;fontcolor&#039;&#039;&#039;&lt;br /&gt;
The colour of the sign text in r.g.b.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;att&#039;&#039;&#039;&lt;br /&gt;
The sign text insertion point (part of the mesh). The attachment point must be orientated correctly in Blender, 3dsmax and gmax and the attachment points aligned with the correct axis used by the generating software. The diagram shows the correct orientation of the axis.&lt;br /&gt;
[[Image:CCG_text_orientation.jpg|left|330px|Correct viewing axis alignment to match Trainz rendering.]]&lt;br /&gt;
&amp;lt;table bgColor=&amp;quot;lightyellow&amp;quot; style=&amp;quot;width:80%; margin-top:10px; margin-left:40px margin-right:40px margin-bottom:10px; border:2px solid navy; padding:15px; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr bgColor=&amp;quot;lightyellow&amp;quot;&amp;gt;&amp;lt;td&amp;gt;&amp;lt;span border=&amp;quot;1&amp;quot; padding=&amp;quot;15px&amp;quot;&amp;gt;Note that there is a axes/orientation &#039;&#039;usages discontinuity&#039;&#039; between Blender, and 3dsMax or GMAX. &lt;br /&gt;
* In Blender, the Z axis represents up, while in GMAX, the Y axis represents up. &lt;br /&gt;
* This needs to be taken to account in determining the proper orientation of your object,and the names given to &#039;&#039;parts be attached later&#039;&#039; correctly.&lt;br /&gt;
* Take time to think things through... to make a sketch on paper before playing &#039;Creator&#039; on any software package&#039;s screens... where it is easy to forget alignment associations in the midst of other thoughts and important considerations.&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Points are placed in top view in 3dsmax/gmax.&lt;br /&gt;
** When aligning the point in 3DSMax or GMax, click on the &#039;&#039;Hierarchy - Affect Pivot Only&#039;&#039; option to examine the axis direction,&lt;br /&gt;
** turn off the Affect Pivot Only selection, and rotate the point itself to the correct orientation.&lt;br /&gt;
** Click on the Affect Pivot Only option again to check the new alignment. Make sure you rotate the point, not the axis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039;&lt;br /&gt;
The default text when placed&lt;br /&gt;
&lt;br /&gt;
When the label name is specified, the software system uses the asset&#039;s changeable name option, (reserved word allocating memory for the label to be added when brought into Surveyors world under construction) and so can changed through the Edit Properties icon (the `?&#039; icon) in Surveyor.&lt;br /&gt;
&lt;br /&gt;
If name &#039;&#039;Graceland&#039;&#039; (for example) were used, the sign would never be able to be changed, even though the user may have changed the asset&#039;s name in Surveyor. When you use the name tag, this name will appear in the minimap. In some instances the names will be hard to distinguish in a crowded map. For this reason, it may be advisable to limit the use of the name tag to objects that have a use for the attribute.&lt;br /&gt;
&lt;br /&gt;
==EFFECT: KIND CORONA==&lt;br /&gt;
&lt;br /&gt;
A corona is a `glow&#039; light effect. It is a simple texture that is inserted at an attachment point within the mesh. Coronas can be added to any asset that uses a mesh-table.&lt;br /&gt;
&lt;br /&gt;
Examples of coronas used in-game can be seen on the Cessna and the Airport tower all use flashing coronas.&lt;br /&gt;
&lt;br /&gt;
===Breakdown of KIND CORONA:===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;kind corona&#039;&#039;&#039; (required)&lt;br /&gt;
The effect kind&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;att&#039;&#039;&#039; (required)&lt;br /&gt;
The corona insertion point in the main mesh.(an attachment point)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;texture-kuid&#039;&#039;&#039; (optional)&lt;br /&gt;
Add this tag only when you want to specify your own texture for the corona. It specifies the KUID of a kind texture asset. See KIND TEXTURE.&lt;br /&gt;
&lt;br /&gt;
Typical Kind Corona mesh-table set-up&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh asset.lm&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       0&lt;br /&gt;
       {&lt;br /&gt;
         kind corona&lt;br /&gt;
         att a.corona0&lt;br /&gt;
         texture-kuid &amp;lt;KUID:-3:10110&amp;gt;&lt;br /&gt;
         frequency 2&lt;br /&gt;
         directional 0&lt;br /&gt;
         object-size 0.20&lt;br /&gt;
       }&lt;br /&gt;
       1&lt;br /&gt;
       {&lt;br /&gt;
         kind corona&lt;br /&gt;
         att a.corona1&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
If the texture-kuid tag is not present the corona will use the default yellow/orange texture in TRS. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;frequency&#039;&#039;&#039; 2 (optional)&lt;br /&gt;
This variable specifies the frequency in Hz (or `flashes&#039; per second). e.g. 1 for once per second, 0.5 for once every 2 seconds, 2 for twice per second.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;directional&#039;&#039;&#039; 0 (optional)&lt;br /&gt;
The default for coronas is to be aligned to the attachment point to face the NEGATIVE Z direction. This is especially useful for Traincars.&lt;br /&gt;
&lt;br /&gt;
Adding this tag over-rides this behavior, to make the corona always face the screen ­ useful for scenery objects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;object-size&#039;&#039;&#039; 0.15 (optional)&lt;br /&gt;
Size of the corona on the object when viewed up close,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Trainz released corona textures:&lt;br /&gt;
    · Yellow/orange corona     Default (if no texture-kuid)&lt;br /&gt;
    · Green corona             &amp;lt;KUID:-3:10110&amp;gt;&lt;br /&gt;
    · Red corona               &amp;lt;KUID:-3:10112&amp;gt;&lt;br /&gt;
    · White corona             &amp;lt;KUID:-3:10111&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==EFFECT: KIND TEXTURE-REPLACEMENT==&lt;br /&gt;
This effect was created for rolling stock items to swap the visible texture of bulk loads (such as coal or woodchips). If a coal car is set up to take any bulk load (which includes woodchips) the `coal&#039; texture on the load mesh will update to a `woodchips&#039; texture when it loads woodchips.&lt;br /&gt;
&lt;br /&gt;
For detailed information on the setup of rolling stock load, see Page 375 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==EFFECT: KIND ATTACHMENT==&lt;br /&gt;
&lt;br /&gt;
In Trainz we have the ability to attach a mesh into another mesh by referencing it&#039;s KUID through a mesh-table.&lt;br /&gt;
An example is the red display arrows for the fixed-track assets.&lt;br /&gt;
&lt;br /&gt;
Rather than having an arrow in each fixed-track asset directory, we saved a lot of memory space by making the config.txt file reference a KUID of that mesh. Therefore,it only needed to be cached once. The mesh to be used should only be of kind scenery or kind mesh.&lt;br /&gt;
&lt;br /&gt;
Kind Attachment example (fixed-track)&lt;br /&gt;
&lt;br /&gt;
 username FT 10 Deg 700m Rad&lt;br /&gt;
 kind fixedtrack&lt;br /&gt;
 kuid &amp;lt;KUID2:####:#######:1&amp;gt;&lt;br /&gt;
 region Fixed track&lt;br /&gt;
 preview-mesh-kuid &amp;lt;KUID:-3:10099&amp;gt;&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh 10-700.im&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       arrow0&lt;br /&gt;
       {&lt;br /&gt;
         kind attachment&lt;br /&gt;
         att a.track0a&lt;br /&gt;
         default-mesh &amp;lt;KUID:-3:10092&amp;gt;&lt;br /&gt;
         surveyor-only 1&lt;br /&gt;
       }&lt;br /&gt;
       arrow1&lt;br /&gt;
       {&lt;br /&gt;
         kind attachment&lt;br /&gt;
         att a.track0e&lt;br /&gt;
         default-mesh &amp;lt;KUID:-3:10092&amp;gt;&lt;br /&gt;
         surveyor-only 1&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 attached-track&lt;br /&gt;
 {&lt;br /&gt;
   track0&lt;br /&gt;
   {&lt;br /&gt;
     track &amp;lt;KUID:-1:15&amp;gt;&lt;br /&gt;
     vertices&lt;br /&gt;
     {&lt;br /&gt;
       0 a.track0a&lt;br /&gt;
       1 a.track0c&lt;br /&gt;
       2 a.track0e&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: Never cross-reference a kind attachment KUID with the assets own KUID, unless of course you want to see an instant fatal error!&lt;br /&gt;
&lt;br /&gt;
Fixed Track configuration used in this example&lt;br /&gt;
&lt;br /&gt;
[[Image:CCG_Arrow_on_Fixed_track.jpg]]&lt;br /&gt;
&lt;br /&gt;
Arrow mesh config.txt (for reference)&lt;br /&gt;
&lt;br /&gt;
  kuid &amp;lt;KUID:-3:10092&amp;gt;&lt;br /&gt;
  kind mesh&lt;br /&gt;
  mesh-table&lt;br /&gt;
  {&lt;br /&gt;
    default&lt;br /&gt;
    {&lt;br /&gt;
      mesh arrow.im&lt;br /&gt;
      auto-create 1&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Breakdown of KIND ATTACHMENT:===&lt;br /&gt;
&lt;br /&gt;
Note that the example covers the information relating to the attachment. Additional entries for category region, era, trainz-build, etc. are necessary to make a complete config.txt file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;kind attachment&#039;&#039;&#039; (required)&lt;br /&gt;
The effect kind&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;att&#039;&#039;&#039; (required)&lt;br /&gt;
The insertion point of the attached mesh. In the example left, it is the origin of the `default&#039; mesh.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;default-mesh&#039;&#039;&#039; &amp;lt;KUID2:####:#######:1&amp;gt; (required)&lt;br /&gt;
The KUID of the attached mesh.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;surveyor-only&#039;&#039;&#039; 1 (optional)&lt;br /&gt;
Adding this means the attached mesh will only be visible in Surveyor and not Driver. For tracks, this is especially handy so you know when it starts and ends, but it won&#039;t be there when driving around.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;attached-track&#039;&#039;&#039;&lt;br /&gt;
Information on the track to be attached to the model by Trainz. This includes a name for the track (track0), the track KUID to be used, and attachment points placed in the 3dsmax/gmax model to define the curve for the attached track to follow.&lt;br /&gt;
&lt;br /&gt;
The points use the a.name naming convention, any names may be used, but using the &amp;quot;track&amp;quot; name (a.track0a) for rails, and the &amp;quot;road&amp;quot; name (a.road0a) is convenient. A specified road spline connection will generate road traffic.&lt;br /&gt;
&lt;br /&gt;
See Page 91 for more details on using the attachment points and the special orientation of the axis at the ends of the track.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==EFFECT: KIND ANIMATION==&lt;br /&gt;
&lt;br /&gt;
This effect is used when a mesh has a variety of animations. Usually the animations will be controlled by a script related to the asset.&lt;br /&gt;
An example of the kind animation effect is the PB15 interior coalman. The script for this ties in the animations with the coal requirements of the steam locomotive.&lt;br /&gt;
&lt;br /&gt;
 coalman&lt;br /&gt;
   {&lt;br /&gt;
     mesh coalman/coalman.im&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     att-parent default&lt;br /&gt;
     att a.coalman&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       shovel&lt;br /&gt;
       {&lt;br /&gt;
          kind animation&lt;br /&gt;
          anim coalman/coalman_shovel.kin&lt;br /&gt;
       }&lt;br /&gt;
       wave&lt;br /&gt;
       {&lt;br /&gt;
          kind animation&lt;br /&gt;
          anim coalman/Coalman_wave.kin&lt;br /&gt;
       }&lt;br /&gt;
   Etc...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Breakdown of KIND ANIMATION:===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;kind animation&#039;&#039;&#039; (required)&lt;br /&gt;
The effect kind&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;anim&#039;&#039;&#039; (required)&lt;br /&gt;
Reference to the animation file (.kin)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;looped&#039;&#039;&#039; 1 (optional) &lt;br /&gt;
Use only if the animation is looping (repeating). &#039;&#039;Default 0 (i.e. not looped).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;speed&#039;&#039;&#039; 1 (optional)&lt;br /&gt;
Speed factor of the animation. &#039;&#039;Default 1, 2 = Double speed and 0.5 = Half speed&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The PB15 config.txt can be viewed on:&lt;br /&gt;
&lt;br /&gt;
The PB15 interior script can be viewed on:&lt;br /&gt;
&lt;br /&gt;
==Return to CCG Index==&lt;br /&gt;
[[Content Creator&#039;s Guide]]&lt;/div&gt;</summary>
		<author><name>Jbartus</name></author>
	</entry>
</feed>