<?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=Andi06</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=Andi06"/>
	<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/wiki/Special:Contributions/Andi06"/>
	<updated>2026-11-05T04:42:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE39&amp;diff=8544</id>
		<title>Help:VE39</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE39&amp;diff=8544"/>
		<updated>2015-10-12T21:58:44Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;The texture &amp;#039;&amp;#039;texture-filename&amp;#039;&amp;#039; is a uniform colour. Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The texture &#039;&#039;texture-filename&#039;&#039; is a uniform colour.&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE166&amp;diff=8543</id>
		<title>Help:VE166</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE166&amp;diff=8543"/>
		<updated>2015-10-12T21:57:42Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;#&#039;&#039; combined chunks (of &#039;&#039;#&#039;&#039; source) in .im file.&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE166&amp;diff=8542</id>
		<title>Help:VE166</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE166&amp;diff=8542"/>
		<updated>2015-10-12T21:56:58Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;# combined chunks (of # source) in .im file. Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# combined chunks (of # source) in .im file.&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE62&amp;diff=8541</id>
		<title>Help:VE62</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE62&amp;diff=8541"/>
		<updated>2015-10-12T21:55:42Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Required container &amp;#039;&amp;#039;container-name&amp;#039;&amp;#039; is missing.  Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Required container &#039;&#039;container-name&#039;&#039; is missing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE144&amp;diff=8540</id>
		<title>Help:VE144</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE144&amp;diff=8540"/>
		<updated>2015-10-12T21:54:52Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Catgeory code &amp;#039;&amp;#039;category&amp;#039;&amp;#039; is obsolete. Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Catgeory code &#039;&#039;category&#039;&#039; is obsolete.&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE61&amp;diff=8539</id>
		<title>Help:VE61</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE61&amp;diff=8539"/>
		<updated>2015-10-12T21:53:25Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Required tag &amp;#039;&amp;#039;tagname&amp;#039;&amp;#039; was missing and has been set to default.    Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Required tag &#039;&#039;tagname&#039;&#039; was missing and has been set to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE109&amp;diff=8538</id>
		<title>Help:VE109</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE109&amp;diff=8538"/>
		<updated>2015-10-12T12:47:30Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;The low-detail meshes total more than 500 polygons. This may have a negative impact on performance: 0:### 1:### 2:###     Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The low-detail meshes total more than 500 polygons. This may have a negative impact on performance: 0:### 1:### 2:###&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE82&amp;diff=8537</id>
		<title>Help:VE82</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE82&amp;diff=8537"/>
		<updated>2015-10-12T12:46:13Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;High-detail .im files are not supported for traincar assets, as they are likely to perform poorly. It is recommended that you upgrade &#039;&#039;meshname.im&#039;&#039; to a .lm file.&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE34&amp;diff=8536</id>
		<title>Help:VE34</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE34&amp;diff=8536"/>
		<updated>2015-10-12T12:43:56Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Alias mesh &amp;#039;&amp;#039;meshname.im&amp;#039;&amp;#039; not found in latest version &amp;#039;&amp;#039;(&amp;lt;kuid2:##:##:#&amp;gt;)&amp;#039;&amp;#039; of dependency &amp;#039;&amp;#039;&amp;lt;kuid:##:##&amp;gt;&amp;#039;&amp;#039;  This signifies that a mesh container specification which includes ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alias mesh &#039;&#039;meshname.im&#039;&#039; not found in latest version &#039;&#039;(&amp;lt;kuid2:##:##:#&amp;gt;)&#039;&#039; of dependency &#039;&#039;&amp;lt;kuid:##:##&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This signifies that a mesh container specification which includes a mesh-asset reference to a mesh which does not exist in the relevant mesh library.&lt;br /&gt;
&lt;br /&gt;
Given this container:&lt;br /&gt;
&lt;br /&gt;
 coupler { &lt;br /&gt;
    mesh-asset &amp;lt;kuid:1234:5678&amp;gt;&lt;br /&gt;
    mesh       screwlink.im&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
the message would signify that &#039;&#039;screwlink.im&#039;&#039; is not present in the &#039;&#039;&#039;latest installed version&#039;&#039;&#039; of &amp;lt;kuid:1234:5678&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE48&amp;diff=8535</id>
		<title>Help:VE48</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE48&amp;diff=8535"/>
		<updated>2015-10-12T12:34:55Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This asset uses an obsolete trainz-build number. Trainz-build numbers below &#039;&#039;#.#&#039;&#039; are no longer supported.&lt;br /&gt;
&lt;br /&gt;
Signifies that this is an asset which is no longer covered by the Trainz and cannot be uploaded to the DLS.&lt;br /&gt;
&lt;br /&gt;
The error can be cleared by incrementing the &#039;&#039;trainz-build&#039;&#039; tag but this will automatically entail additional requirements.&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE44&amp;diff=8534</id>
		<title>Help:VE44</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE44&amp;diff=8534"/>
		<updated>2015-10-12T12:34:36Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tag &#039;&#039;tagname&#039;&#039; in the container &#039;&#039;container&#039;&#039; is obsolete.&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE82&amp;diff=8533</id>
		<title>Help:VE82</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE82&amp;diff=8533"/>
		<updated>2015-10-12T12:33:41Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;High-detail .im files are not supported for traincar assets, as they are likely to perform poorly. It is recommended that you upgrade &amp;#039;&amp;#039;meshname.im&amp;#039;&amp;#039; to a .lm file.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;High-detail .im files are not supported for traincar assets, as they are likely to perform poorly. It is recommended that you upgrade &#039;&#039;meshname.im&#039;&#039; to a .lm file.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE44&amp;diff=8532</id>
		<title>Help:VE44</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE44&amp;diff=8532"/>
		<updated>2015-10-12T12:32:52Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Tag &amp;#039;&amp;#039;tagname&amp;#039;&amp;#039; in the container &amp;#039;&amp;#039;container&amp;#039;&amp;#039; is obsolete.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tag &#039;&#039;tagname&#039;&#039; in the container &#039;&#039;container&#039;&#039; is obsolete.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE48&amp;diff=8531</id>
		<title>Help:VE48</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE48&amp;diff=8531"/>
		<updated>2015-10-12T12:31:08Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;This asset uses an obsolete trainz-build number. Trainz-build numbers below &amp;#039;&amp;#039;#.#&amp;#039;&amp;#039; are no longer supported.  Signifies that this is an asset which is no longer covered by the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This asset uses an obsolete trainz-build number. Trainz-build numbers below &#039;&#039;#.#&#039;&#039; are no longer supported.&lt;br /&gt;
&lt;br /&gt;
Signifies that this is an asset which is no longer covered by the Trainz and cannot be uploaded to the DLS.&lt;br /&gt;
&lt;br /&gt;
The error can be cleared by incrementing the &#039;&#039;trainz-build&#039;&#039; tag but this will automatically entail additional requirements.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE95&amp;diff=8530</id>
		<title>Help:VE95</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE95&amp;diff=8530"/>
		<updated>2015-10-11T15:05:10Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This asset does not have a mesh which is visible by default&lt;br /&gt;
&lt;br /&gt;
At least one mesh in each asset should include the tag &#039;&#039;&#039;auto-create 1&#039;&#039;&#039;, ordinarily this will be the default mesh.  This ensures that some part of the asset will be visible when it is placed in Surveyor.&lt;br /&gt;
&lt;br /&gt;
If VE95 is a warning and the asset is non-placeable, a mesh library for instance, the warning may be ignored.&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE18&amp;diff=8528</id>
		<title>Help:VE18</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE18&amp;diff=8528"/>
		<updated>2015-10-11T11:10:51Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Attachment point attachment (a.attachment) in &amp;#039;container&amp;#039; was not found.    Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Attachment point attachment (a.attachment) in &#039;container&#039; was not found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE95&amp;diff=8527</id>
		<title>Help:VE95</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE95&amp;diff=8527"/>
		<updated>2015-10-11T11:05:35Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This asset does not have a mesh which is visible by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Help:VE95&amp;diff=8526</id>
		<title>Help:VE95</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Help:VE95&amp;diff=8526"/>
		<updated>2015-10-11T11:02:35Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Empty page  =Categories= Category:Validation Errors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Empty page&lt;br /&gt;
&lt;br /&gt;
=Categories=&lt;br /&gt;
[[Category:Validation Errors]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TrainzScript_Keywords&amp;diff=8525</id>
		<title>TrainzScript Keywords</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TrainzScript_Keywords&amp;diff=8525"/>
		<updated>2015-10-04T14:45:33Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Keywords==&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;break&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Exits from current code block (&#039;&#039;[[#for|for]], [[#wait|wait]], [[#switch|switch]], [[#while|while]]&#039;&#039;)&lt;br /&gt;
*Execution will continue with the first statement after the loop.&lt;br /&gt;
 // This loop will complete when n is greater than 5 or when n == list.size(), whichever occurs first&lt;br /&gt;
 &lt;br /&gt;
 for (n = 0; n &amp;lt; list.size(); n++) {&lt;br /&gt;
   if (n &amp;gt; 5) break;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;case&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Individual &#039;&#039;case&#039;&#039; statements are labels that the code will jump to dependent on the value of the integer expression following the keyword.&lt;br /&gt;
*The case statement is used in the switch control flow statement to declare an integer option and the action to be taken when execution is transferred to this label.&lt;br /&gt;
*This code will print the days of the week from Sunday to Saturday:&lt;br /&gt;
 int i;&lt;br /&gt;
 string dayOfWeek;&lt;br /&gt;
 for(i = 0; i &amp;lt; 6; i++) {&lt;br /&gt;
    switch(i) {&lt;br /&gt;
       case 0 :  dayOfWeek = &amp;quot;Sunday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       case 1 :  dayOfWeek = &amp;quot;Monday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       case 2 :  dayOfWeek = &amp;quot;Tuesday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       case 3 :  dayOfWeek = &amp;quot;Wednesday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       case 4 :  dayOfWeek = &amp;quot;Thursday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       case 5 :  dayOfWeek = &amp;quot;Friday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       case 6 :  dayOfWeek = &amp;quot;Saturday&amp;quot;;&lt;br /&gt;
                 break;&lt;br /&gt;
       default : dayOfWeek = &amp;quot;ERROR&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    Interface.Print(dayOfWeek);&lt;br /&gt;
 }&lt;br /&gt;
*&#039;&#039;[[#Switch|switch]]&#039;&#039; transfers execution to the statement immedaitely following the appropriate &#039;&#039;case&#039;&#039; label.&lt;br /&gt;
*If there is no match execution continues after the &#039;&#039;[[#default|default]]&#039;&#039; label.&lt;br /&gt;
*Note that the list of statements following the &#039;&#039;case&#039;&#039; selector should normally terminate with &#039;&#039;[[#break|break]];&#039;&#039; (which exits from the &#039;&#039;[[#switch|switch]]&#039;&#039; statement) or &#039;&#039;[[#return|return]]&#039;&#039; (which exits from the entire method) to prevent the code from running on into the next section.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;class&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Class defines a new class declaration and the identity of the immediate parent:&lt;br /&gt;
 class ChildClass isclass ParentClass {&lt;br /&gt;
 &lt;br /&gt;
  class members...&lt;br /&gt;
  class methods...&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
*More than one class declaration may be included in the same file.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;continue&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Jumps to the next iteration of a &#039;&#039;[[#for|for]], [[#while|while]]&#039;&#039; or &#039;&#039;[[#wait|wait]]&#039;&#039; loop For example:&lt;br /&gt;
 int i;&lt;br /&gt;
 for(i = 0; i &amp;lt; 10; ++i) {&lt;br /&gt;
    if(i == 5) &lt;br /&gt;
    continue;&lt;br /&gt;
    Interface.Print(i);&lt;br /&gt;
 }&lt;br /&gt;
*The above code will print 0 to 4, skip 5 and then print 6 to 9.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;default&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*See &#039;&#039;[[#case|case]]&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;define&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*&#039;&#039;define&#039;&#039; is used to declare a constant&lt;br /&gt;
*Constants must be initialised on declaration and cannot be changed in code.&lt;br /&gt;
 define string firstDay = &amp;quot;Monday&amp;quot;;  // declares a string variable available anywhere within the containing class&lt;br /&gt;
 define public int daysInWeek = 7;   // declares an integer variable which will also be available from outside the class.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;else&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*see &#039;&#039;[[#if|if]]&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;false&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Boolean constant&lt;br /&gt;
 !true = false&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;final&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*A class or method specifier that prevents users from overriding the declaration&lt;br /&gt;
 final class Info {&lt;br /&gt;
   string name;&lt;br /&gt;
   string address;&lt;br /&gt;
 }&lt;br /&gt;
*Given the above the declaration the following declaration would not be possible&lt;br /&gt;
 class DetailedInfo isclass Info {&lt;br /&gt;
   string telephone;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;for&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*&#039;&#039;for&#039;&#039; is a control flow loop statement.&lt;br /&gt;
*A &#039;&#039;for&#039;&#039; loop has four parts and takes the form: &#039;&#039;for(A; B; C) D&#039;&#039; where:&lt;br /&gt;
**A initialises a counter variable, and is executed before the looping begins&lt;br /&gt;
**B is the test condition, looping will continue while B is true&lt;br /&gt;
**C is the loop expression, and will be executed at the end of every loop&lt;br /&gt;
**D is the code body statement, usually a compound statement, and is executed on every loop.&lt;br /&gt;
 int i;&lt;br /&gt;
 Junction[] junctions = World.GetJunctionList();&lt;br /&gt;
 for (i = 0; i &amp;lt; junctions.size(); i++) {&lt;br /&gt;
    string name = junctions[i].GetName();&lt;br /&gt;
    Interface.Print(&amp;quot;Junction &amp;quot; + i + &amp;quot; is called &amp;quot; + name);&lt;br /&gt;
 }&lt;br /&gt;
*Depending on the values of Parts A and B the loop may not execute at all.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;game&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Class specifier reserved for built-in predefined classes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;goto&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*The &#039;&#039;goto&#039;&#039; statement will branch to a label statement. For example:&lt;br /&gt;
 int i = 5&lt;br /&gt;
 &lt;br /&gt;
 A: // label statement&lt;br /&gt;
 Interface.Print(&amp;quot;hello&amp;quot;);&lt;br /&gt;
 if(i--) goto A;&lt;br /&gt;
&lt;br /&gt;
*The above code will print hello 5 times. (zero evaluates as boolean false)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;if&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*&#039;&#039;if&#039;&#039; and &#039;&#039;else&#039;&#039; are keywords for the construction of &#039;&#039;if / then / else&#039;&#039; constructs used to control program flow&lt;br /&gt;
*Code following an &#039;&#039;if(condition)&#039;&#039; statement is executed only when the condition evaluates to true.&lt;br /&gt;
*In any other case execution branches to any immediately following &#039;&#039;else&#039;&#039; statement.&lt;br /&gt;
*&#039;&#039;else&#039;&#039; and &#039;&#039;else if&#039;&#039; clauses are optional.&lt;br /&gt;
 int i = Math.Rand(0, 3);&lt;br /&gt;
 &lt;br /&gt;
 if (i == 0) {&lt;br /&gt;
    Interface.Print(&amp;quot;i is 0&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 else if (i == 1) {&lt;br /&gt;
    Interface.Print(&amp;quot;i is 1&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 else {&lt;br /&gt;
    Interface.Print(&amp;quot;i is 2&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;include&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Syntax: &#039;&#039;include &amp;quot;filename.gs&amp;quot;&#039;&#039;&lt;br /&gt;
*This statement must appear before any class declarations and will include the contents of the specified script file.&lt;br /&gt;
*It is generally sufficient to include the *.gs filename related to the immediate parent of your script.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;inherited&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*an inherited() statement is made within a method definition to call the corresponding method in the immediate parent of the class.&lt;br /&gt;
*inherited() returns the same type, and takes the same parameters as the parent method.&lt;br /&gt;
*Inheritance is central to Object Oriented Programming, you should not omit these calls.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;mandatory&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*mandatory is a method specifier which indicates that, if the method is over-ridden the over-ridden method &#039;&#039;&#039;must&#039;&#039;&#039; call &#039;&#039;inherited&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;me&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*me refers to the current object, similar to &#039;&#039;self&#039;&#039; or &#039;&#039;this&#039;&#039; keywords in other languages.&lt;br /&gt;
*me is often understood if not stated, these statements would have the same effect:&lt;br /&gt;
 me.SetMeshAnimationState();&lt;br /&gt;
 SetMeshAnimationState()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;native&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*A method specifier which indicates that the method is implemented by the game rather than in script code.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;null&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*null is an uninitialised expression.&lt;br /&gt;
*Every reference that is not assigned to an object has the value null.&lt;br /&gt;
*Assigning null to an existing object will delete the reference to that object.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;on&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*see [[#wait|wait]]()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;public&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*A specifier indicating that the member or method is accessible from outside the current class.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;return&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Exits immediately from the current method, used when the method return type is void.&lt;br /&gt;
*or exit from the current method returning &#039;&#039;value&#039;&#039; to the calling routine.&lt;br /&gt;
*Value must match the method return type.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;static&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*&#039;&#039;static&#039;&#039; is a class specifier denoting that only one instance of the class may exist.&lt;br /&gt;
*Static classes cannot be created using the new operator.&lt;br /&gt;
*To access a static class refer to its members or methods using the class name as follows:&lt;br /&gt;
 static class owner {&lt;br /&gt;
 &lt;br /&gt;
    public string forename;              // public member&lt;br /&gt;
    public string surname;               // public member&lt;br /&gt;
    public string GetName(void) {        // public method&lt;br /&gt;
       return forename + &amp;quot; &amp;quot; + surname;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 class postbox isclass MapObject {&lt;br /&gt;
 &lt;br /&gt;
    public void Init(void) {&lt;br /&gt;
       if (!owner.forename) owner.forename = &amp;quot;Fred&amp;quot;;&lt;br /&gt;
       if (!owner.surname) owner.surname = &amp;quot;Bloggs&amp;quot;;&lt;br /&gt;
       Interface.Print(owner.GetName());&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
*Since only one instance of owner may exist it will be created along with the first instance of the postbox obect&lt;br /&gt;
*Any future postboxes will find the members of the owner class already initialised and ready for use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;switch&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*See &#039;&#039;[[#case|case]]&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;thread&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*A &#039;&#039;thread&#039;&#039; is a method which runs independently of the main script code.&lt;br /&gt;
*&#039;&#039;threads&#039;&#039; can be started and synchronised by standard methods or other threads but are allowed to wait for events or to carry out tasks requiring periods of inactivity without interrupting the main program flow.&lt;br /&gt;
*Threaded methods may only be declared in classes extending the GameObject class or its children.&lt;br /&gt;
*Many threads (up to 64) may be running on the same game object instance at a time.&lt;br /&gt;
 class Tutorial isclass Buildable {&lt;br /&gt;
 &lt;br /&gt;
   bool doorsOpen = false;&lt;br /&gt;
 &lt;br /&gt;
   public void Init(void) {&lt;br /&gt;
      inherited();&lt;br /&gt;
      AddHandler(me,&amp;quot;Object&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;ObjectHandler&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   thread void RingTheBell(void) {&lt;br /&gt;
      while (doorsOpen) {&lt;br /&gt;
         Sleep(0.35 + World.Play2DSound(GetAsset(),&amp;quot;bell.wav&amp;quot;));&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   void ObjectHandler(Message msg) {&lt;br /&gt;
      if (msg.minor == &amp;quot;Enter&amp;quot;) {&lt;br /&gt;
         doorsOpen = true;&lt;br /&gt;
         RingTheBell();&lt;br /&gt;
      }&lt;br /&gt;
      else doorsOpen = false;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
*In the above the &#039;&#039;thread RingTheBell&#039;&#039; is started on an &#039;&#039;Object,Enter&#039;&#039; message and will terminate on any other &#039;&#039;Object&#039;&#039; message, irrespective of other code within the class.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;true&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*Boolean constant&lt;br /&gt;
 !false = true&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;void&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*&#039;&#039;void&#039;&#039; is a null type used in two situations:&lt;br /&gt;
*to indicate that a method requires no parameters&lt;br /&gt;
*to indicate that a method does not return a value&lt;br /&gt;
 public void DoTheDo(void);&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;wait&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*&#039;&#039;wait&#039;&#039; is a control flow statement that suspends execution of a thread pending receipt of a message of a given type.&lt;br /&gt;
*It can listen for multiple message types using the on statement.&lt;br /&gt;
*When a wait statement is executed, execution stops on the thread until one of the on conditions is met.&lt;br /&gt;
 wait() {&lt;br /&gt;
    on &amp;quot;hello&amp;quot;, &amp;quot;world&amp;quot; : {&lt;br /&gt;
       // code here will execute for any &#039;&#039;hello,world&#039;&#039; message and then continue to wait for other messages.&lt;br /&gt;
       continue;&lt;br /&gt;
    }&lt;br /&gt;
    on &amp;quot;hi&amp;quot;, &amp;quot;there&amp;quot; : {&lt;br /&gt;
       // code here will execute for any &#039;&#039;hi,there&#039;&#039; message and then exit the loop.&lt;br /&gt;
       break;&lt;br /&gt;
    }&lt;br /&gt;
    on &amp;quot;hey&amp;quot;, &amp;quot;&amp;quot; :&lt;br /&gt;
    {&lt;br /&gt;
       // code here will execute for any message with a major type of&lt;br /&gt;
       // &amp;quot;hey&amp;quot; this will break by default, terminating the wait() loop.&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MethodHeader|&amp;lt;h4&amp;gt;while&amp;lt;/h4&amp;gt;}}&lt;br /&gt;
*A &#039;&#039;while(condition)&#039;&#039; is a loop control method that will continue as long as its condition evaluates to true.&lt;br /&gt;
*Note that if the condition is initially false the loop will not run at all&lt;br /&gt;
 int i = 5;&lt;br /&gt;
 while (i &amp;gt; 0) {&lt;br /&gt;
   Interface.Print(&amp;quot;i is greater than zero&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Command_Line_Guidelines&amp;diff=8457</id>
		<title>Command Line Guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Command_Line_Guidelines&amp;diff=8457"/>
		<updated>2015-08-14T20:52:07Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this document is to provide guidelines for developing Trainz-related command-line utilities with the intention of creating a standardised, easy-to-use command set and reliable machine-parsing of tool output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Invoking the Tool ==&lt;br /&gt;
&lt;br /&gt;
==== Paths and the working directory ====&lt;br /&gt;
&lt;br /&gt;
Trainz executables generally require access to the Trainz Asset Database. On start-up, the tool will attempt to open the TAD relative to the executable’s binary location. This means that the tool is intrinsically linked to a single Trainz installation, and that the tool cannot be moved relative to the Trainz installation location. The Trainz installation can be safely moved as a whole without breaking the relative mapping.&lt;br /&gt;
&lt;br /&gt;
The working directory in which the tool is executed should be within the Trainz installation. If no specific working directory is required, the tool should be started with the main Trainz program directory as its working directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Command syntax ====&lt;br /&gt;
&lt;br /&gt;
Where a tool is capable of performing multiple functions, the first parameter to the tool determines which function the tool shall perform. This ‘command’ parameter is case insensitive, and is formed from English alphabet characters and the hyphen (‘-‘) character only. No other parameters (eg. options) may be present prior to the command parameter.&lt;br /&gt;
&lt;br /&gt;
If the command parameter is not recognised, the tool shall report an error and no command will be performed. Additionally, if a syntax error is detected while parsing parameters, the tool shall report an error and no command will be performed.&lt;br /&gt;
&lt;br /&gt;
If a tool which accepts parameters is executed with no parameters, a help screen will be output to stdout detailing the usage of the tool. The help screen is not expected to comply with the guidelines for machine-parseable output described in this document.&lt;br /&gt;
&lt;br /&gt;
Where a tool accepts a command parameter, the following commands shall be implemented:&lt;br /&gt;
&lt;br /&gt;
*&amp;quot;help&amp;quot; – The tool shall respond by displaying the help screen as described above.&lt;br /&gt;
*&amp;quot;version&amp;quot; – The tool shall respond by display the tool name and build version in a machine-parseable fashion.&lt;br /&gt;
*&amp;quot;echo&amp;quot; – The tool shall respond by outputting a diagnostic line echoing any further command parameters. This is intended for use in synchronising batch command output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Shell quoting ====&lt;br /&gt;
&lt;br /&gt;
Command shells (and some system functions which execute shell commands) reserve certain symbols for special interpretation prior to passing the text as parameters to the tool. Because this is performed by the shell itself, the exact functionality of this is not possible in a generic manner, however some common functionality exists between many popular shells and some common pitfalls are described here.&lt;br /&gt;
&lt;br /&gt;
Information given elsewhere in this document and within the tool-specific documentation and inline help refers to the format that the tool expects after any command-shell text processing occurs. Where example usages are given, the examples will be quoted in a way that is easily readable and relevant to the more popular shells.&lt;br /&gt;
&lt;br /&gt;
Where a single parameter contains whitespace or any unusual characters, that parameter will generally require quoting so that the shell does not break it into multiple parameters, or perform text processing. Quoting rules vary between shells, but for many strings, simply wrapping the literal text within double quotes (&amp;quot;) is sufficient. It is good practice to quote every filepath parameter.&lt;br /&gt;
&lt;br /&gt;
KUID parameters also contain several unusual characters. Many shells will treat angle brackets (‘&amp;lt;’ and ‘&amp;gt;’) as pipe commands. It is advisable to properly quote all KUID parameters.&lt;br /&gt;
&lt;br /&gt;
Where a parameter includes a quote symbol in its literal text, some shell-specific escaping may be necessary when quoting the parameter. Techniques for this are beyond the scope of this document to describe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== KUID parameters ====&lt;br /&gt;
&lt;br /&gt;
In order to support legacy content, a number of invalid KUID encodings are accepted by the Trainz config.txt parser. These encodings should not be used, as they are not supported and may not work as expected. The valid encodings for KUID values are:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;KUID:123:456&amp;gt; for standard KUIDs.&lt;br /&gt;
:&amp;lt;KUID2:123:456:7&amp;gt; for versioned KUIDs.&lt;br /&gt;
&lt;br /&gt;
Items of note:&lt;br /&gt;
*The surrounding angle braces form a mandatory part of the KUID encoding.&lt;br /&gt;
*The ‘2’ in ‘KUID2’ is mandatory if a version field is to be included. &lt;br /&gt;
*Colons are required between each field of the KUID.&lt;br /&gt;
*Spaces and other extra characters are not permitted within a KUID.&lt;br /&gt;
&lt;br /&gt;
Versions between 0 and 127 inclusive are valid. Version 0 of a KUID2 represents an identical value to the same KUID without version encoding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Path parameters ====&lt;br /&gt;
&lt;br /&gt;
Parameters representing file or folder paths may be specified as either fully qualified (absolute) paths, or as relative paths. Relative paths are parsed relative to the working directory in which the tool started execution. (Internally, the tools will generally change the working directory to the Trainz program directory, however this shall not affect the way in which relative paths are parsed.)&lt;br /&gt;
&lt;br /&gt;
Paths should be valid for the operating system in use. In general, it is safest to use forward slashes ‘/’ for path separators except where the operating system mandates a backwards slash ‘\’ (eg. for windows network names or drive names.)&lt;br /&gt;
&lt;br /&gt;
Paths shall be encoded in the native text codepage of the host OS, not UTF-8 (unless that is what the OS uses natively.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Batch mode ====&lt;br /&gt;
&lt;br /&gt;
As the TAD connection process currently requires one or more seconds of CPU time, it is expected that Trainz tools will launch too slowly for large numbers of repeated calls to be viable. With this in mind, tools which can reasonably expect to be called repeatedly should implement &amp;quot;batch mode&amp;quot;. Where implemented, batch mode should follow the implementation described here.&lt;br /&gt;
&lt;br /&gt;
When the caller wishes to use batch mode, the tool is launched without a command, but instead will have as its only parameter a filepath prefixed by the ‘@’ character. The tool will consider this an instruction to load from the specified filepath as a UTF-8 encoded text file containing a series of instruction lines.&lt;br /&gt;
&lt;br /&gt;
The tool will execute each line from the batch file in sequence as a new command. The first word of each line should be the command for the tool to run, subsequent words form the parameter. The tool will implement basic quoting support to allow for the specification of filepaths containing with spaces, etc.&lt;br /&gt;
&lt;br /&gt;
Empty lines will be silently ignored and will not cause the display of the help text. Syntax or execution errors will cause the line in question to fail as per normal, however the batch file as a whole will continue to be executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Return value ====&lt;br /&gt;
&lt;br /&gt;
Tools shall return a zero exit code if all operations were performed successfully. Tools shall return a non-zero exit code if one or more operations failed for any reason.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Logging ====&lt;br /&gt;
&lt;br /&gt;
Success, error, warning, and diagnostic messages will be logged to stdout as detailed below. No additional logging will be performed, and no logfiles will be generated by the tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Standard Output ==&lt;br /&gt;
&lt;br /&gt;
All output from the program will be provided in a minimal machine-parseable format. It is intended that both users and programs may execute tools and parse the results, thus the results must be meaningful but not overly verbose.&lt;br /&gt;
&lt;br /&gt;
All output messages from a tool will be written to stdout. The stderr mechanism does not provide significant benefits to this implementation and may make synchronisation more difficult.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Line prompts ====&lt;br /&gt;
&lt;br /&gt;
Each line of output shall begin with a prompt character. The prompt determines the meaning of the line from the perspective of an automated parser. If an unknown prompt is output, the line should be ignored by automated parsers. Valid prompts are as follows:&lt;br /&gt;
&lt;br /&gt;
*‘+’ Lines starting with the plus symbol are the result of a successful command execution. There may be more than one success line per command execution.&lt;br /&gt;
*‘-’ Lines starting with the minus symbol are the result of a failed command execution. There may be more than one failure line per command execution.&lt;br /&gt;
*‘!’ Lines starting with the exclamation symbol are warnings related to a command execution (whether the execution is successful or failed.)&lt;br /&gt;
*‘;’ Lines starting with the semi-colon symbol are diagnostic or comment lines, and should not be machine parsed.&lt;br /&gt;
&lt;br /&gt;
==== String data ====&lt;br /&gt;
&lt;br /&gt;
Since string quoting may be awkward to parse (both for humans and programmers) it is considered preferable to avoid the need where possible. To this end, literal string output shall be returned at the end of an output line after all other relevant information. Where possible, quoting and escaping of the string text will be avoided. The location of the first character of the string within the output line shall be clearly defined.&lt;br /&gt;
&lt;br /&gt;
Literal string data shall be parsed as UTF-8 encoded text, regardless of the OS conventions for strings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Consistency ====&lt;br /&gt;
&lt;br /&gt;
All output messages should follow a consistent format, as detailed in the tool-specific documentation or inline help. When new versions of tools are released, existing fields may be upgraded to contain new values, however new fields shall not be added within existing command output.&lt;br /&gt;
&lt;br /&gt;
It is feasible that new fields could be safely added to the end of existing command output, as long as the command output did not contain string data (as that must be at the end of the line.) Addition of new fields to the end of an existing data line is acceptable given that the format and order of existing fields is maintained. Fields are separated by one or more space characters, unless otherwise specified.&lt;br /&gt;
&lt;br /&gt;
Where further output is required that can not be fit into an existing design, a new command should be added to the tool and the old command left untouched. Generally, commands should perform very specific function such that significant extension is not necessary.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[[Content Manager Tools]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8401</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8401"/>
		<updated>2015-06-16T23:08:48Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Sub-Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80034&amp;gt; Protrack sleepers-concrete-dark-timber (concrete main lines, timber sleepers in junctions)&amp;lt;br&amp;gt; &lt;br /&gt;
: &amp;lt;kuid:122285:80035&amp;gt; Protrack sleepers-concrete-light-timber (concrete main lines, timber sleepers in junctions)&amp;lt;br&amp;gt; &lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
* Source files are layered, saved in Photoshop *.psd format and should be usable in Photoshop, Paint Shop Pro and Gimp.&lt;br /&gt;
* Download Source Files: [[media:Protrack Textures.zip]]&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;br /&gt;
&lt;br /&gt;
Andi06&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8400</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8400"/>
		<updated>2015-06-16T23:08:27Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Sub-Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80034&amp;gt; Protrack sleepers-concrete-dark-timber (concrete main lines, timber sleepers in junctions)&amp;lt;br&amp;gt; &lt;br /&gt;
: &amp;lt;kuid:122285:80035&amp;gt; Protrack sleepers-concrete-dark-timber (concrete main lines, timber sleepers in junctions)&amp;lt;br&amp;gt; &lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
* Source files are layered, saved in Photoshop *.psd format and should be usable in Photoshop, Paint Shop Pro and Gimp.&lt;br /&gt;
* Download Source Files: [[media:Protrack Textures.zip]]&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;br /&gt;
&lt;br /&gt;
Andi06&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=User:Andi06&amp;diff=8399</id>
		<title>User:Andi06</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=User:Andi06&amp;diff=8399"/>
		<updated>2015-06-15T22:59:45Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just a link to [http://www.ajsmith.org.uk/trs my web site]&lt;br /&gt;
&lt;br /&gt;
Junction Kit Preview: [http://ajsmith.org.uk/trs/binary/Junction_Kit_Preview_2.zip]&lt;br /&gt;
&lt;br /&gt;
[[Junction Kit|Junction Kit Documentation]]&lt;br /&gt;
&lt;br /&gt;
[[Media:asx01.jpg|Asset·X]]&lt;br /&gt;
AssetX Interim TANE Update: [http://ajsmith.org.uk/trs/assetx/TANEUpdate.zip]&lt;br /&gt;
&lt;br /&gt;
[[Protrack|Protrack Procedural Track Assets]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Creators]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Train Creators]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Track Creators]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery Creators]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8397</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8397"/>
		<updated>2015-06-13T10:30:25Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Reskinning the Meshes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
* Source files are layered, saved in Photoshop *.psd format and should be usable in Photoshop, Paint Shop Pro and Gimp.&lt;br /&gt;
* Download Source Files: [[media:Protrack Textures.zip]]&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;br /&gt;
&lt;br /&gt;
Andi06&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8396</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8396"/>
		<updated>2015-06-13T10:30:02Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Reskinning the Meshes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Source files are layered, saved in Photoshop *.psd format and should be usable in Photoshop, Paint Shop Pro and Gimp.&lt;br /&gt;
* Download Source Files: [[media:Protrack Textures.zip]]&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;br /&gt;
&lt;br /&gt;
Andi06&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=File:Protrack_Textures.zip&amp;diff=8395</id>
		<title>File:Protrack Textures.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=File:Protrack_Textures.zip&amp;diff=8395"/>
		<updated>2015-06-13T10:24:44Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Andi06 uploaded a new version of &amp;amp;quot;File:Protrack Textures.zip&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=File:Protrack_Textures.zip&amp;diff=8394</id>
		<title>File:Protrack Textures.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=File:Protrack_Textures.zip&amp;diff=8394"/>
		<updated>2015-06-13T10:18:38Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8393</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8393"/>
		<updated>2015-06-13T10:15:16Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Reskinning the Meshes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
[[media:Protrack Textures.zip]]&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;br /&gt;
&lt;br /&gt;
Andi06&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8392</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8392"/>
		<updated>2015-06-12T16:57:06Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* License */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;br /&gt;
&lt;br /&gt;
Andi06&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8391</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8391"/>
		<updated>2015-06-12T16:56:15Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Defining Additional Tracks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8390</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8390"/>
		<updated>2015-06-12T16:55:47Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Defining Additional Tracks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; (which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8389</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8389"/>
		<updated>2015-06-12T16:54:56Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Defining Additional Tracks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* The same principle applies to any other attached-splines entry.&lt;br /&gt;
* If you add third or fourth conductors you must make sure that the entries are at the end of the attached-splines table.  For current UK tracks the correct entries are these:&lt;br /&gt;
  third_rail {&lt;br /&gt;
    lateral-offset                        -1.16&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80050&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
  fourth_rail {&lt;br /&gt;
    lateral-offset                        0&lt;br /&gt;
    use-same-direction                    1&lt;br /&gt;
    spline-kuid                           &amp;lt;kuid:122285:80051&amp;gt;&lt;br /&gt;
    visual-only                           1&lt;br /&gt;
  }&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; (which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8388</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8388"/>
		<updated>2015-06-12T16:50:13Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Sub-Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below) define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; (which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8387</id>
		<title>Protrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Protrack&amp;diff=8387"/>
		<updated>2015-06-12T16:49:44Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue P...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Protrack describes a set of procedural-track assets.  This page provides details of how you can create and configure additional assets using the system. At the time of issue Protrack comprised a mesh-library, 12 sub-component assets and 13 placeable tracks.&lt;br /&gt;
&lt;br /&gt;
=Mesh Library=&lt;br /&gt;
* &amp;lt;kuid:122285:80001&amp;gt; This contains all of the meshes and textures used by all of the placeable assets.&lt;br /&gt;
* The meshes and textures have been set up so that they are as easy as possible to re-skin.&lt;br /&gt;
&lt;br /&gt;
=Sub-Components=&lt;br /&gt;
* &amp;lt;kuid:122285:80010&amp;gt; to &amp;lt;kuid:122285:80051&amp;gt;  These assets (listed below)define the various component splines which go to make up the actual tracks.  These are hidden from the surveyor listings so you will never see them in game and, unless you want to change the LOD settings, there is nothing meaningful that can be altered in these objects.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;kuid:122285:80010&amp;gt; Protrack rail-flat-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80011&amp;gt; Protrack rail-flat-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80012&amp;gt; Protrack rail-flat-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80013&amp;gt; Protrack rail-flat-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80014&amp;gt; Protrack rail-bullhead-bright-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80015&amp;gt; Protrack rail-bullhead-bright-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80016&amp;gt; Protrack rail-bullhead-rusty-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80017&amp;gt; Protrack rail-bullhead-rusty-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80020&amp;gt; Protrack chairs-pandrol-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80021&amp;gt; Protrack chairs-pandrol-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80022&amp;gt; Protrack chairs-bullhead-left&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80023&amp;gt; Protrack chairs-bullhead-right&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80030&amp;gt; Protrack sleepers-timber-light&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80031&amp;gt; Protrack sleepers-timber-dark&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80033&amp;gt; Protrack sleepers-concrete&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80050&amp;gt; Protrack conductor-third&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;kuid:122285:80051&amp;gt; Protrack conductor-fourth&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tracks=&lt;br /&gt;
* &amp;lt;kuid:122285:80100&amp;gt; to &amp;lt;kuid:122285:80112&amp;gt; These are the actual placeable tracks and it is only these objects that will be seen in the Surveyor listings.  The published assets cover a range of variations but not all combinations are included (there are 180 possible variants, excluding some combinations that don&#039;t make sense)&lt;br /&gt;
&lt;br /&gt;
=Naming Conventions=&lt;br /&gt;
Protrack tracks are named as below, it will help everybody if you use the same convention for any tracks you create.&lt;br /&gt;
* Protrack B means bullhead rail and chairs.&lt;br /&gt;
* Protrack F means flat bottomed rail with Pandrol track clips.&lt;br /&gt;
* These prefices are followed by &#039;ballast/sleeper&#039; names with any other descriptors at the end.&lt;br /&gt;
&lt;br /&gt;
=Defining Additional Tracks=&lt;br /&gt;
This is the recommended procedure:&lt;br /&gt;
* The ballast texture is defined in the main placeable asset so your starting point is to find an asset with the ballast that you want to use.  &lt;br /&gt;
* Let&#039;s say that you want to produce a variant of &amp;lt;kuid:122285:80106&amp;gt; Protrack F Sandstone/Concrete with light timber sleepers.&lt;br /&gt;
* Clone this asset and give it your own kuid and username.&lt;br /&gt;
* Open config.txt and go to the attached-splines table.&lt;br /&gt;
* The entries for chairs_left, chairs_right, rail_left and rail_right are already correct so you simply need to amend the sleeper entry which should be altered by changing the spline-kuid from &amp;lt;kuid:122285:80033&amp;gt; to &amp;lt;kuid:122285:80030&amp;gt;, which is &#039;&#039;Protrack sleepers-timber-light&#039;&#039;.&lt;br /&gt;
* Subject to matching geometry you could also use a kuid from a different procedural-track (such as &amp;lt;kuid:523:19723344&amp;gt; (which is the sleeper component from Auran&#039;s built-in Oak sample track)&lt;br /&gt;
&lt;br /&gt;
=Reskinning the Meshes=&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
License conditions are in the assets themselves.  You are free to create variations by cloning and amending tracks or by cloning and reskinning the mesh library.  You do not need to seek my consent to upload any such assets to the DLS provided that they are free for everyone to use.&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=KIND_Track&amp;diff=8386</id>
		<title>KIND Track</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=KIND_Track&amp;diff=8386"/>
		<updated>2015-06-12T15:47:09Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Spline Placement */&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.1.&lt;br /&gt;
&lt;br /&gt;
Update: With the release of T:ANE ([[trainz-build]] 4.2) we officially support [[KIND Procedural track]]. There is a page under construction at [[How_To/Build_Procedural_Track_for_T:ANE]] providing reference and this, along with source assets, will be made available in the near future.&lt;br /&gt;
&lt;br /&gt;
=KIND Hierarchy=&lt;br /&gt;
==Parent Classes==&lt;br /&gt;
* [[KIND TrainzBaseSpec]] ,  [[Category-class]]  tag definitions of the sets &lt;br /&gt;
{[[Category-class#S ... SPLINES|S ... SPLINES]] and [[Category-class#T ... TRACK|T ... TRACK]]}, which is to say the Category-class list of spline types: &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;
TF     Fixed Track&lt;br /&gt;
TR     Rails&lt;br /&gt;
TT     Tunnel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Child Classes==&lt;br /&gt;
*[[Attached-track]] is an asset embedded in an industry asset which inherits track characteristics from an track which is attached to it&#039;s end vertices.&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;
 carrate 0&lt;br /&gt;
 isroad 0&lt;br /&gt;
 isfreeway 0&lt;br /&gt;
 is_silent 0&lt;br /&gt;
 numlanes 0&lt;br /&gt;
 istrack 0&lt;br /&gt;
 istunnel 0&lt;br /&gt;
 surveyor-only 0&lt;br /&gt;
 visible-on-minimap (opposite of surveyor-only)&lt;br /&gt;
 track-sound&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 traffic-speed 10.0&lt;br /&gt;
 tunnel-roof-height 0.0&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;
&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;
&lt;br /&gt;
==attached-splines==&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;
&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, 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 of the same type. 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. 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;
&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;
&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 1x to 3x this decimal value between generating carz on this road.&lt;br /&gt;
&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;
&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;
&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;
&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;
&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;
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;
&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;
&lt;br /&gt;
==surveyor-only==&lt;br /&gt;
If set (1), this boolean value causes the asset to be invisible and non-functional in Driver. This is typically used for splines which provide editing assistance, such as templates, markers or rulers.&lt;br /&gt;
&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;
&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;
&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;
&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;
&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;
&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;
&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>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=KIND_Procedural_track&amp;diff=8371</id>
		<title>KIND Procedural track</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=KIND_Procedural_track&amp;diff=8371"/>
		<updated>2015-06-03T09:42:39Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At this stage, information regarding procedural track can be found at: [[How_To/Build_Procedural_Track_for_T:ANE]]&lt;br /&gt;
&lt;br /&gt;
This page will be updated asap.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
[[Category:Asset KIND|Procedural-Track]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=HowTo/Build_Procedural_Track_for_T:ANE&amp;diff=8277</id>
		<title>HowTo/Build Procedural Track for T:ANE</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=HowTo/Build_Procedural_Track_for_T:ANE&amp;diff=8277"/>
		<updated>2015-05-11T10:21:52Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Blades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;b&amp;gt;Track Asset Requirements for Procedural Junction Support &amp;lt;/b&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This page is currently under construction in preparation for the release of T:ANE - it includes information  on assets that are not yet available other than to beta testers and some pre-order customers.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
T:ANE introduces a new track component structure that can be configured to support automatic procedural modification wherever junctions are encountered. To enable this feature a track asset of KIND Procedural-track is required.  Unlike KIND Track, the individual components are exported as separate assets, ideally derived from a single mesh library.&lt;br /&gt;
&lt;br /&gt;
==Ballast==&lt;br /&gt;
&lt;br /&gt;
The ballast spline is the parent or base asset to which the other components are attached using the attached-splines container. Endcaps for the other components can be combined into a single mesh in the parent asset. When converting from a KIND Track asset the existing track-lod-tree can be retained for the ballast spline. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The correct position of the mesh relative to the origin in the 3D modeling environment. Spline rendering starts at the origin and proceeds along the -Y axis:&amp;lt;/i&amp;gt;&lt;br /&gt;
[[File:PT_img1.png|300px|left]]{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Ballast asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	1&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;ballast&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;The attached splines container is configured as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
attached-splines&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  sleepers&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	0&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723515&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  chairs_left&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	-0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723516&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  chairs_right&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723517&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 rails_left&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	-0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723518&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  rails_right&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723519&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;lateral-offset:&amp;lt;/b&amp;gt; defines the number of metres that the child spline is offset sideways from its parent&#039;s origin. Positive values offset to the right, and negative values offset to the left.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;use-same-direction:&amp;lt;/b&amp;gt; causes the child spline to face in the same direction as the parent.&lt;br /&gt;
(see on the wiki)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;spline-kuid:&amp;lt;/b&amp;gt; unique identifier for the attached spline asset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;visual-only:&amp;lt;/b&amp;gt; Removes the functional aspects of the child spline, preventing for example, the ballast and the rail splines being treated as separate stretches of track. Also prevents undesired manual editing of the individual components in Surveyor.&lt;br /&gt;
&lt;br /&gt;
==Sleepers (Ties)==&lt;br /&gt;
&lt;br /&gt;
The sleeper spline is a child of the ballast spline, attached using the attached-splines container in the ballast spline. The spline consists only of 3D sleepers. Meshes can be culled as desired at lower lods simply by specifying no mesh at the low-detail node of the track-lod-tree. To preserve the correct spacing at the desired mesh length some additional tags are available.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Sleeper asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;sleepers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The mesh-table for the sleeper asset includes a single sleeper instance which is used by the procedural junction system. The sleeper_single mesh is not referenced through the track-lod-tree. The term &amp;lt;b&amp;gt;sleeper_single&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired. The sleeper_single mesh is always used under junctions, the track-lod-tree is always used when not inside a junction. For this reason, we recommend you provide different lengths of spline section in the track-lod-tree, including down to a single sleeper length.&lt;br /&gt;
&lt;br /&gt;
We do not currently support LOD on the sleeper_single mesh. This is planned in future. Do not use a .lm.txt file - this will stop the track from stitching, and make it slower. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  sleepers-lod0&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;sleepers_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  sleepers-lod1&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;sleepers_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  sleeper_single&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;sleeper_single.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Some extra tags in the track container are used to set the desired position of the sleeper mesh...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;fig.b&amp;lt;/b&amp;gt; - the correct position of the mesh relative to the origin in the 3D modeling environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;fig.c &amp;lt;/b&amp;gt;- the position as adjusted in the spline’s track container for correct sleeper spacing.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note the use of the tags &amp;lt;b&amp;gt;spacing-length-before&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;spacing-length-after&amp;lt;/b&amp;gt; in the track container below. Note also that no mesh has been specified at the lowest detail node in the track-lod-tree. This can be used to transition from 3D sleepers to 2D sleepers that are simply textured on to the ballast spline.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                       	                3&lt;br /&gt;
  spacing-length-before             	0.2&lt;br /&gt;
  spacing-length-after              	0.2&lt;br /&gt;
 &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
     lod-distance                    	              200&lt;br /&gt;
	&lt;br /&gt;
     high-detail&lt;br /&gt;
     {&lt;br /&gt;
         lod-distance                                 50&lt;br /&gt;
  	&lt;br /&gt;
         high-detail&lt;br /&gt;
         {&lt;br /&gt;
            mesh                                        &amp;quot;track-lod0&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
  	&lt;br /&gt;
         low-detail&lt;br /&gt;
         {&lt;br /&gt;
         mesh                        	               &amp;quot;track-lod1&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
	&lt;br /&gt;
     low-detail&lt;br /&gt;
     {&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
[[File:PT img3a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tag &amp;lt;b&amp;gt;sleeper-pitch&amp;lt;/b&amp;gt; determines the spacing of single sleepers at junctions. It is measured from the centre of a sleeper to the centre of the next sleeper.&lt;br /&gt;
The sleeper-pitch is only used for the junctions. It is not relevant for plain line tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The privileges container is used to prevent the asset from being displayed in the Surveyor asset picker:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                    	0&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Chairs-left / Chairs-right (Plates)==&lt;br /&gt;
&lt;br /&gt;
Separate left and right splines for rail chairs or baseplates are children of the ballast spline, attached and laterally offset using the attached-splines container in the ballast spline. These splines consist only of 3D chairs. Configuration is similar to the sleepers spline above in that meshes can be culled as desired at lower lods; and the correct spacing between repeats is achieved using the tags &amp;lt;b&amp;gt;spacing-length-before&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;spacing-length-after&amp;lt;/b&amp;gt; in the asset’s track container. This will also ensure that chairs and sleepers are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;fig.e &amp;lt;/b&amp;gt;- the correct position of the mesh relative to the origin in the 3D modeling environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;fig.f &amp;lt;/b&amp;gt; - the position as adjusted in the spline’s track container for correct chair spacing.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img3.png]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Chairs-left asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;chairs-left&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Chairs-right asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;chairs-right&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The mesh-tables for the chair assets include a single chair instance which is used by the procedural junction system where multiple rails are in close proximity to allow for precise control over angle and position. The single chair mesh is not referenced in the track-lod-tree. &lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;b&amp;gt;chair_single&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired. The chair_single is always and only used with the single_sleeper.&lt;br /&gt;
&lt;br /&gt;
A slide-chair for supporting the turnout blade is also included in the mesh-table for each chair asset. This must have the same height as a regular chair. &lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;b&amp;gt;blade_slidechair&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired.&lt;br /&gt;
The blade_slidechair will be used in the future, but it can be provided now so the assets won’t need to be updated. The blade_slidechair is provided in the same format as the chair_single, and will attach to the stock rail.&lt;br /&gt;
&lt;br /&gt;
[[File:PT img4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  chairs-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;chairs_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
   chairs-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;chairs_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 chair_single&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;chair_left_single.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 blade_slidechair&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;slidechair_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The privileges container is used to prevent the assets from being displayed in the Surveyor asset picker:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                    	0&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Rail-left / Rail-right==&lt;br /&gt;
&lt;br /&gt;
Separate left and right splines for rails are children of the ballast spline, attached and laterally offset using the attached-splines container in the ballast spline. At the top LOD the geometry should be segmented at approximately 5cm intervals in the modeler to facilitate precise procedural truncation and bending where rails cross each other at junctions. Note that unlike sleepers and chairs, the same rail mesh is used both on plain line and in junctions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Rail-left asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;rail-left&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Rail-right asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;rail-right&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The mesh-tables for the rail assets include the remaining components required to form the turnouts...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;We adhere to the following naming convention for the meshes:&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GlobalNamingDiagram.png|800px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Check Rails==&lt;br /&gt;
&lt;br /&gt;
The body of the check rail should be segmented at approximately 10cm intervals to allow for precise procedural bending. The term &amp;lt;b&amp;gt;checkrail&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired.&lt;br /&gt;
&lt;br /&gt;
The correct position of the meshes relative to the origin in the 3D modeling environment:&lt;br /&gt;
[[File:PT img7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wing Rails==&lt;br /&gt;
As these are procedurally attached to the closure rails, the cross section should therefore be identical to that of the stock / running rails. The body of the wing rail should be segmented at approximately 10cm intervals to allow for precise procedural bending. The term &amp;lt;b&amp;gt;wingrail&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the file itself can be named as desired.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The correct position of the meshes relative to the origin in the 3D modeling environment:&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:PT img6.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blades==&lt;br /&gt;
As these are procedurally bent to the required curvature the blades should be modeled straight and segmented at least every 25cm. The length of the tapered section should be roughly 50% of the total blade length. The contour of the tapered edge should be free of any chamfer such that it will mate seamlessly with the stock rail. Note that custom stock rails are not currently supported.&lt;br /&gt;
&lt;br /&gt;
Animation must be a simple rotation with a single bone positioned at the origin. In order to be adaptable to a range of junction angles, a rotation of 5° should be employed, clockwise for the right blade, anti-clockwise for the left. Other arrangements are not currently supported. A length of 150 frames is recommended. The animation will be partially played through in game according to the required angle.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;b&amp;gt;blade&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh and animation files can be named as desired.&lt;br /&gt;
&lt;br /&gt;
[[File:PT img8.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stretcher:  Also known as a ‘tie bar’. Animation is required to be a simple translation of 0.5 metres along the positive X axis with a single bone positioned at the origin. Other arrangements are not currently supported.  A length of 150 frames is recommended to match that of the blade animation. The animation will be partially played through in game according to the required distance.&lt;br /&gt;
&lt;br /&gt;
The term blade_stretcher is specifically required in the mesh-table, the mesh and animation files can be named as desired.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The correct position of the mesh relative to the origin in the 3D modeling environment:&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img9.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  rail-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;rail_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  rail-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;rail_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  rail-left-lod2&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;rail_left_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  wingrail&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;wingrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  checkrail&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;checkrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  blade&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;blade_left.im&amp;quot;&lt;br /&gt;
	anim                            	&amp;quot;blade_left.kin&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
	anim                            	&amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The privileges container is used to prevent the assets from being displayed in the Surveyor asset picker:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                    	0&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional tags are available for specifying some critical dimensions of rail-left and rail-right components:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;check-gauge &amp;lt;/b&amp;gt;- (TOP LEVEL SPLINE) This is the distance between the inside face of one running rail, and the outside face of the check rail positioned next to the other running rail.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;sleepers-orientation&amp;lt;/b&amp;gt; - (TOP LEVEL SPLINE) the way the unified sleepers at the junction are oriented by default (later, it will be possible to override this setting per junction in the interface). The possible values for this tag are “average” (average direction of the two tracks) or “straightest” (follow the direction of the straightest track).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;rail-width &amp;lt;/b&amp;gt;- (RAIL SPLINE) Width over the head of the rail. see fig.n below&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;checkrail-body-length&amp;lt;/b&amp;gt; - (RAIL SPLINE) Length of the ‘body’ section of the check rail. This is the straight part, not including the flared ends.  see fig.g  above&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;wingrail-body-length &amp;lt;/b&amp;gt;- (RAIL SPLINE) Length of the ‘body’ section of the wing rail. This is the straight part, not including the flared end.  see fig.i  above&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;blade-smallest-width &amp;lt;/b&amp;gt;- (RAIL SPLINE) Minimum width of the head of the blade rail.  see fig.k  above&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;blade-taper-length &amp;lt;/b&amp;gt;- (RAIL SPLINE) the length of the taper of the blade. see fig.k&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;sleeper-pitch &amp;lt;/b&amp;gt;- (SLEEPERS SPLINE) Distance from the center of a sleeper to the next sleeper, see fig in the sleepers section. Note : this value is just used for the custom sleepers positioning as an indication, it may be scaled according to the tracks configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;track-gauge &amp;lt;/b&amp;gt;- (TOP LEVEL SPLINE) Distance between the inner faces of the running rails. see fig.o below&lt;br /&gt;
It&#039;s the &#039;real railway&#039; way of measuring this - and is done this way because the actual track gauge can, and does, vary, but this distance must not expand with a widened track gauge.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consequently, people will find this number published and discussed, but the actual dimension you want is not generally published.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img10.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
[[File:PT img11.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Future improvements==&lt;br /&gt;
&lt;br /&gt;
This document provides the format for the first version of the procedural assets.&lt;br /&gt;
The next version will bring, amongst others, these main improvements :&lt;br /&gt;
&lt;br /&gt;
* Less restrictions on the blades animations and meshes&lt;br /&gt;
&lt;br /&gt;
* The slide chairs are required in the asset but they are currently not displayed : this feature will be enabled by a future patch. However, you can already include the slide chairs meshes in your assets so they won’t require any update when this feature will be enabled.&lt;br /&gt;
&lt;br /&gt;
* Non-uniform spacing of sleepers is currently not supported. We will be looking at this issue in more detail.&lt;br /&gt;
&lt;br /&gt;
* Additional junction types including diamond crossings etc.&lt;br /&gt;
&lt;br /&gt;
=Example Config Files=&lt;br /&gt;
Following are the config files for each of the track components:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:30501:1001:10&amp;gt; TANE Trk Oak&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:30501:1001:10&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 1&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;ballast&amp;quot;&lt;br /&gt;
track-gauge                             1.436&lt;br /&gt;
check-gauge                             1.395&lt;br /&gt;
sleepers-orientation                    &amp;quot;average&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  track-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           18&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      3&lt;br /&gt;
      lod-distance                      45&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        subdivisions                    2&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;track-lod0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;track-lod1&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;track-lod2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      mesh                              &amp;quot;track-lod3&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
endcap-prev&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           0.82&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      100&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_prev&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_prev_lo&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
endcap-next&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           0.82&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      100&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_next&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_next_lo&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
attached-splines&lt;br /&gt;
{&lt;br /&gt;
  rail_left&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      -0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723342&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723343&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      0&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723344&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs_left&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      -0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723345&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs_right&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723346&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
username-pl                             &amp;quot;TANE tor dąb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid:523:19723342&amp;gt;&lt;br /&gt;
  2                                     &amp;lt;kuid:523:19723343&amp;gt;&lt;br /&gt;
  3                                     &amp;lt;kuid:523:19723344&amp;gt;&lt;br /&gt;
  4                                     &amp;lt;kuid:523:19723345&amp;gt;&lt;br /&gt;
  5                                     &amp;lt;kuid:523:19723346&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;kuid2:523:19723345:7&amp;gt; TANE Trk Oak Chairs-Left&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723345:7&amp;gt;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Chairs-Left&amp;quot;&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;chairs-left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  chairs-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chair_single_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;slidechair_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           3&lt;br /&gt;
  padding-length                        0.706&lt;br /&gt;
  spacing-length-before                 0.277&lt;br /&gt;
  spacing-length-after                  0.277&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  dont-scale-mesh-to-fit-length         0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-length                          2&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      4&lt;br /&gt;
      mesh                              &amp;quot;chair_single&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      200&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        subdivisions                    1&lt;br /&gt;
        lod-distance                    45&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          lod-distance                  10&lt;br /&gt;
          subdivisions                  1&lt;br /&gt;
          &lt;br /&gt;
          high-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-left-lod0&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          low-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-left-lod1&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723346:7&amp;gt; TANE Trk Oak Chairs-Right&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723346:7&amp;gt;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Chairs-Right&amp;quot;&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;chairs-right&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  chairs-right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chair_single_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;slidechair_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           3&lt;br /&gt;
  padding-length                        0.706&lt;br /&gt;
  spacing-length-before                 0.277&lt;br /&gt;
  spacing-length-after                  0.277&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  dont-scale-mesh-to-fit-length         0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-length                          2&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      1&lt;br /&gt;
      mesh                              &amp;quot;chair_single&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      200&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        subdivisions                    1&lt;br /&gt;
        lod-distance                    45&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          lod-distance                  10&lt;br /&gt;
          subdivisions                  1&lt;br /&gt;
          &lt;br /&gt;
          high-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-right-lod0&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          low-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-right-lod1&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723341:7&amp;gt; TANE Trk Oak Mesh&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723341:7&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Mesh&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;mesh&amp;quot;&lt;br /&gt;
trainz-build                            3.7&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;HM&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  track-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod0.im&amp;quot;&lt;br /&gt;
    auto-create                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleeper_single-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleeper_single_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleeper_single-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleeper_single_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;wingrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;wingrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;checkrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;checkrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;blade_left.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_left.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;blade_right.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_right.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;slidechair_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;slidechair_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
username-de                             &amp;quot;TANE Trk Oak Mesh&amp;quot;&lt;br /&gt;
username-fr                             &amp;quot;TANE Voie Chêne Maille&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723342:8&amp;gt; TANE Trk Oak Rail-Left&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723342:8&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Rail-Left&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;rail-left&amp;quot;&lt;br /&gt;
rail-width                              0.066&lt;br /&gt;
checkrail-body-length                   2.533&lt;br /&gt;
wingrail-body-length                    1.53&lt;br /&gt;
blade-smallest-width                    0.003&lt;br /&gt;
blade-taper-length                      1.982&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  rail_left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;wingrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;checkrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;blade_left.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_left.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           6&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      2&lt;br /&gt;
      lod-distance                      65&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        subdivisions                    2&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_left-lod0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_left-lod1&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;rail_left-lod2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723343:8&amp;gt; TANE Trk Oak Rail-Right&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723343:8&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Rail-Right&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;rail-right&amp;quot;&lt;br /&gt;
rail-width                              0.066&lt;br /&gt;
checkrail-body-length                   2.533&lt;br /&gt;
wingrail-body-length                    1.53&lt;br /&gt;
blade-smallest-width                    0.003&lt;br /&gt;
blade-taper-length                      1.982&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  rail_right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;wingrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;checkrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;blade_right.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_right.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           6&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      2&lt;br /&gt;
      lod-distance                      65&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        subdivisions                    2&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_right-lod0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_right-lod1&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;rail_right-lod2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723344:6&amp;gt; TANE Trk Oak Sleepers&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723344:6&amp;gt;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Sleepers&amp;quot;&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;sleepers&amp;quot;&lt;br /&gt;
sleeper-pitch                           0.707&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  sleepers-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleeper_single&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleeper_single_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           3&lt;br /&gt;
  padding-length                        0.706&lt;br /&gt;
  spacing-length-before                 0.2&lt;br /&gt;
  spacing-length-after                  0.2&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  dont-scale-mesh-to-fit-length         0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-length                          2&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      4&lt;br /&gt;
      mesh                              &amp;quot;sleeper_single&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      200&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        subdivisions                    1&lt;br /&gt;
        lod-distance                    45&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          lod-distance                  10&lt;br /&gt;
          subdivisions                  1&lt;br /&gt;
          &lt;br /&gt;
          high-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;sleepers-lod0&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          low-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;sleepers-lod1&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;sleepers-lod2&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;sleepers-lod3&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
username-de                             &amp;quot;TANE Trk Oak Sleepers&amp;quot;&lt;br /&gt;
username-fr                             &amp;quot;TANE Voie Chêne Traverses&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
[[TrainzOnline:HowToGuides]]&lt;br /&gt;
[[Category:Help]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=HowTo/Build_Procedural_Track_for_T:ANE&amp;diff=8276</id>
		<title>HowTo/Build Procedural Track for T:ANE</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=HowTo/Build_Procedural_Track_for_T:ANE&amp;diff=8276"/>
		<updated>2015-05-10T09:52:02Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Blades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;b&amp;gt;Track Asset Requirements for Procedural Junction Support &amp;lt;/b&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;This page is currently under construction in preparation for the release of T:ANE - it includes information  on assets that are not yet available other than to beta testers and some pre-order customers.&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
T:ANE introduces a new track component structure that can be configured to support automatic procedural modification wherever junctions are encountered. To enable this feature a track asset of KIND Procedural-track is required.  Unlike KIND Track, the individual components are exported as separate assets, ideally derived from a single mesh library.&lt;br /&gt;
&lt;br /&gt;
==Ballast==&lt;br /&gt;
&lt;br /&gt;
The ballast spline is the parent or base asset to which the other components are attached using the attached-splines container. Endcaps for the other components can be combined into a single mesh in the parent asset. When converting from a KIND Track asset the existing track-lod-tree can be retained for the ballast spline. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The correct position of the mesh relative to the origin in the 3D modeling environment. Spline rendering starts at the origin and proceeds along the -Y axis:&amp;lt;/i&amp;gt;&lt;br /&gt;
[[File:PT_img1.png|300px|left]]{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Ballast asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	1&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;ballast&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;The attached splines container is configured as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
attached-splines&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  sleepers&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	0&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723515&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  chairs_left&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	-0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723516&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  chairs_right&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723517&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 rails_left&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	-0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723518&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  rails_right&lt;br /&gt;
  {&lt;br /&gt;
	lateral-offset                  	0.751&lt;br /&gt;
	use-same-direction              	1&lt;br /&gt;
	spline-kuid                     	&amp;lt;kuid:523:19723519&amp;gt;&lt;br /&gt;
	visual-only                     	1&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;lateral-offset:&amp;lt;/b&amp;gt; defines the number of metres that the child spline is offset sideways from its parent&#039;s origin. Positive values offset to the right, and negative values offset to the left.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;use-same-direction:&amp;lt;/b&amp;gt; causes the child spline to face in the same direction as the parent.&lt;br /&gt;
(see on the wiki)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;spline-kuid:&amp;lt;/b&amp;gt; unique identifier for the attached spline asset.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;visual-only:&amp;lt;/b&amp;gt; Removes the functional aspects of the child spline, preventing for example, the ballast and the rail splines being treated as separate stretches of track. Also prevents undesired manual editing of the individual components in Surveyor.&lt;br /&gt;
&lt;br /&gt;
==Sleepers (Ties)==&lt;br /&gt;
&lt;br /&gt;
The sleeper spline is a child of the ballast spline, attached using the attached-splines container in the ballast spline. The spline consists only of 3D sleepers. Meshes can be culled as desired at lower lods simply by specifying no mesh at the low-detail node of the track-lod-tree. To preserve the correct spacing at the desired mesh length some additional tags are available.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Sleeper asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;sleepers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The mesh-table for the sleeper asset includes a single sleeper instance which is used by the procedural junction system. The sleeper_single mesh is not referenced through the track-lod-tree. The term &amp;lt;b&amp;gt;sleeper_single&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired. The sleeper_single mesh is always used under junctions, the track-lod-tree is always used when not inside a junction. For this reason, we recommend you provide different lengths of spline section in the track-lod-tree, including down to a single sleeper length.&lt;br /&gt;
&lt;br /&gt;
We do not currently support LOD on the sleeper_single mesh. This is planned in future. Do not use a .lm.txt file - this will stop the track from stitching, and make it slower. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  sleepers-lod0&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;sleepers_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  sleepers-lod1&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;sleepers_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  sleeper_single&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;sleeper_single.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Some extra tags in the track container are used to set the desired position of the sleeper mesh...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;fig.b&amp;lt;/b&amp;gt; - the correct position of the mesh relative to the origin in the 3D modeling environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;fig.c &amp;lt;/b&amp;gt;- the position as adjusted in the spline’s track container for correct sleeper spacing.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note the use of the tags &amp;lt;b&amp;gt;spacing-length-before&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;spacing-length-after&amp;lt;/b&amp;gt; in the track container below. Note also that no mesh has been specified at the lowest detail node in the track-lod-tree. This can be used to transition from 3D sleepers to 2D sleepers that are simply textured on to the ballast spline.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                       	                3&lt;br /&gt;
  spacing-length-before             	0.2&lt;br /&gt;
  spacing-length-after              	0.2&lt;br /&gt;
 &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
     lod-distance                    	              200&lt;br /&gt;
	&lt;br /&gt;
     high-detail&lt;br /&gt;
     {&lt;br /&gt;
         lod-distance                                 50&lt;br /&gt;
  	&lt;br /&gt;
         high-detail&lt;br /&gt;
         {&lt;br /&gt;
            mesh                                        &amp;quot;track-lod0&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
  	&lt;br /&gt;
         low-detail&lt;br /&gt;
         {&lt;br /&gt;
         mesh                        	               &amp;quot;track-lod1&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
	&lt;br /&gt;
     low-detail&lt;br /&gt;
     {&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
[[File:PT img3a.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tag &amp;lt;b&amp;gt;sleeper-pitch&amp;lt;/b&amp;gt; determines the spacing of single sleepers at junctions. It is measured from the centre of a sleeper to the centre of the next sleeper.&lt;br /&gt;
The sleeper-pitch is only used for the junctions. It is not relevant for plain line tracks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The privileges container is used to prevent the asset from being displayed in the Surveyor asset picker:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                    	0&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Chairs-left / Chairs-right (Plates)==&lt;br /&gt;
&lt;br /&gt;
Separate left and right splines for rail chairs or baseplates are children of the ballast spline, attached and laterally offset using the attached-splines container in the ballast spline. These splines consist only of 3D chairs. Configuration is similar to the sleepers spline above in that meshes can be culled as desired at lower lods; and the correct spacing between repeats is achieved using the tags &amp;lt;b&amp;gt;spacing-length-before&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;spacing-length-after&amp;lt;/b&amp;gt; in the asset’s track container. This will also ensure that chairs and sleepers are correctly aligned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;fig.e &amp;lt;/b&amp;gt;- the correct position of the mesh relative to the origin in the 3D modeling environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;fig.f &amp;lt;/b&amp;gt; - the position as adjusted in the spline’s track container for correct chair spacing.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img3.png]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Chairs-left asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;chairs-left&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Chairs-right asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;chairs-right&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The mesh-tables for the chair assets include a single chair instance which is used by the procedural junction system where multiple rails are in close proximity to allow for precise control over angle and position. The single chair mesh is not referenced in the track-lod-tree. &lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;b&amp;gt;chair_single&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired. The chair_single is always and only used with the single_sleeper.&lt;br /&gt;
&lt;br /&gt;
A slide-chair for supporting the turnout blade is also included in the mesh-table for each chair asset. This must have the same height as a regular chair. &lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;b&amp;gt;blade_slidechair&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired.&lt;br /&gt;
The blade_slidechair will be used in the future, but it can be provided now so the assets won’t need to be updated. The blade_slidechair is provided in the same format as the chair_single, and will attach to the stock rail.&lt;br /&gt;
&lt;br /&gt;
[[File:PT img4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  chairs-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;chairs_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
   chairs-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;chairs_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 chair_single&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;chair_left_single.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 blade_slidechair&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;slidechair_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The privileges container is used to prevent the assets from being displayed in the Surveyor asset picker:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                    	0&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Rail-left / Rail-right==&lt;br /&gt;
&lt;br /&gt;
Separate left and right splines for rails are children of the ballast spline, attached and laterally offset using the attached-splines container in the ballast spline. At the top LOD the geometry should be segmented at approximately 5cm intervals in the modeler to facilitate precise procedural truncation and bending where rails cross each other at junctions. Note that unlike sleepers and chairs, the same rail mesh is used both on plain line and in junctions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Rail-left asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;rail-left&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;Basic configuration of the Rail-right asset is as follows:&amp;lt;/i&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kind                                	&amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                             	0&lt;br /&gt;
trainz-build                        	3.9&lt;br /&gt;
track-type                          	&amp;quot;rail-right&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The mesh-tables for the rail assets include the remaining components required to form the turnouts...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;We adhere to the following naming convention for the meshes:&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:GlobalNamingDiagram.png|800px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Check Rails==&lt;br /&gt;
&lt;br /&gt;
The body of the check rail should be segmented at approximately 10cm intervals to allow for precise procedural bending. The term &amp;lt;b&amp;gt;checkrail&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh file itself can be named as desired.&lt;br /&gt;
&lt;br /&gt;
The correct position of the meshes relative to the origin in the 3D modeling environment:&lt;br /&gt;
[[File:PT img7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wing Rails==&lt;br /&gt;
As these are procedurally attached to the closure rails, the cross section should therefore be identical to that of the stock / running rails. The body of the wing rail should be segmented at approximately 10cm intervals to allow for precise procedural bending. The term &amp;lt;b&amp;gt;wingrail&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the file itself can be named as desired.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The correct position of the meshes relative to the origin in the 3D modeling environment:&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:PT img6.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blades==&lt;br /&gt;
As these are procedurally bent to the required curvature the blades should be modeled straight and segmented at least every 25cm. The length of the tapered section should be roughly 50% of the total blade length. The contour of the tapered edge should be free of any chamfer such that it will mate seamlessly with the stock rail. Note that custom stock rails are not currently supported.&lt;br /&gt;
&lt;br /&gt;
Animation must be a simple rotation with a single bone positioned at the origin. In order to be adaptable to a range of junction angles, a rotation of 5° should be employed, clockwise for the right blade, anti-clockwise for the left. Other arrangements are not currently supported. A length of 150 frames is recommended. The animation will be partially played through in game according to the required angle.&lt;br /&gt;
&lt;br /&gt;
The term &amp;lt;b&amp;gt;blade&amp;lt;/b&amp;gt; is specifically required in the mesh-table, the mesh and animation files can be named as desired.&lt;br /&gt;
&lt;br /&gt;
[[File:PT img8.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stretcher:  Also known as a ‘tie bar’. Animation is required to be a simple translation of 0.5 metres along the positive X axis with a single bone positioned at the origin. Other arrangements are not currently supported.  A length of 150 frames is recommended to match that of the blade animation. The animation will be partially played through in game according to the required distance.&lt;br /&gt;
&lt;br /&gt;
The term blade_stretcher is specifically required in the mesh-table, the mesh and animation files can be named as desired.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;The correct position of the mesh relative to the origin in the 3D modeling environment:&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img9.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  rail-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;rail_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  rail-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;rail_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  rail-left-lod2&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;rail_left_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  wingrail&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;wingrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  checkrail&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;checkrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  blade&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;blade_left.im&amp;quot;&lt;br /&gt;
	anim                            	&amp;quot;blade_left.kin&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
	mesh-asset                      	&amp;lt;kuid:523:19723520&amp;gt;&lt;br /&gt;
	mesh                            	&amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
	anim                            	&amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The privileges container is used to prevent the assets from being displayed in the Surveyor asset picker:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                    	0&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional tags are available for specifying some critical dimensions of rail-left and rail-right components:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;check-gauge &amp;lt;/b&amp;gt;- (TOP LEVEL SPLINE) This is the distance between the inside face of one running rail, and the outside face of the check rail positioned next to the other running rail.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;sleepers-orientation&amp;lt;/b&amp;gt; - (TOP LEVEL SPLINE) the way the unified sleepers at the junction are oriented by default (later, it will be possible to override this setting per junction in the interface). The possible values for this tag are “average” (average direction of the two tracks) or “straightest” (follow the direction of the straightest track).&lt;br /&gt;
&amp;lt;b&amp;gt;rail-width &amp;lt;/b&amp;gt;- (RAIL SPLINE) Width over the head of the rail. see fig.n below&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;checkrail-body-length&amp;lt;/b&amp;gt; - (RAIL SPLINE) Length of the ‘body’ section of the check rail. This is the straight part, not including the flared ends.  see fig.g  above&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;wingrail-body-length &amp;lt;/b&amp;gt;- (RAIL SPLINE) Length of the ‘body’ section of the wing rail. This is the straight part, not including the flared end.  see fig.i  above&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;blade-smallest-width &amp;lt;/b&amp;gt;- (RAIL SPLINE) Minimum width of the head of the blade rail.  see fig.k  above&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;blade-taper-length &amp;lt;/b&amp;gt;- (RAIL SPLINE) the length of the taper of the blade. see fig.k&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;sleeper-pitch &amp;lt;/b&amp;gt;- (SLEEPERS SPLINE) Distance from the center of a sleeper to the next sleeper, see fig in the sleepers section. Note : this value is just used for the custom sleepers positioning as an indication, it may be scaled according to the tracks configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;track-gauge &amp;lt;/b&amp;gt;- (TOP LEVEL SPLINE) Distance between the inner faces of the running rails. see fig.o below&lt;br /&gt;
It&#039;s the &#039;real railway&#039; way of measuring this - and is done this way because the actual track gauge can, and does, vary, but this distance must not expand with a widened track gauge.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consequently, people will find this number published and discussed, but the actual dimension you want is not generally published.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:PT img10.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
[[File:PT img11.png]]&amp;lt;Br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Future improvements==&lt;br /&gt;
&lt;br /&gt;
This document provides the format for the first version of the procedural assets.&lt;br /&gt;
The next version will bring, amongst others, these main improvements :&lt;br /&gt;
&lt;br /&gt;
* Less restrictions on the blades animations and meshes&lt;br /&gt;
&lt;br /&gt;
* The slide chairs are required in the asset but they are currently not displayed : this feature will be enabled by a future patch. However, you can already include the slide chairs meshes in your assets so they won’t require any update when this feature will be enabled.&lt;br /&gt;
&lt;br /&gt;
* Non-uniform spacing of sleepers is currently not supported. We will be looking at this issue in more detail.&lt;br /&gt;
&lt;br /&gt;
* Additional junction types including diamond crossings etc.&lt;br /&gt;
&lt;br /&gt;
=Example Config Files=&lt;br /&gt;
Following are the config files for each of the track components:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:30501:1001:10&amp;gt; TANE Trk Oak&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:30501:1001:10&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 1&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;ballast&amp;quot;&lt;br /&gt;
track-gauge                             1.436&lt;br /&gt;
check-gauge                             1.395&lt;br /&gt;
sleepers-orientation                    &amp;quot;average&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  track-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;track_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           18&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      3&lt;br /&gt;
      lod-distance                      45&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        subdivisions                    2&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;track-lod0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;track-lod1&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;track-lod2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      mesh                              &amp;quot;track-lod3&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
endcap-prev&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           0.82&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      100&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_prev&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_prev_lo&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
endcap-next&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           0.82&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      100&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_next&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;endcap_next_lo&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
attached-splines&lt;br /&gt;
{&lt;br /&gt;
  rail_left&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      -0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723342&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723343&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      0&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723344&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs_left&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      -0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723345&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs_right&lt;br /&gt;
  {&lt;br /&gt;
    lateral-offset                      0.751&lt;br /&gt;
    use-same-direction                  1&lt;br /&gt;
    spline-kuid                         &amp;lt;kuid:523:19723346&amp;gt;&lt;br /&gt;
    visual-only                         1&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
username-pl                             &amp;quot;TANE tor dąb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid:523:19723342&amp;gt;&lt;br /&gt;
  2                                     &amp;lt;kuid:523:19723343&amp;gt;&lt;br /&gt;
  3                                     &amp;lt;kuid:523:19723344&amp;gt;&lt;br /&gt;
  4                                     &amp;lt;kuid:523:19723345&amp;gt;&lt;br /&gt;
  5                                     &amp;lt;kuid:523:19723346&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;kuid2:523:19723345:7&amp;gt; TANE Trk Oak Chairs-Left&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723345:7&amp;gt;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Chairs-Left&amp;quot;&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;chairs-left&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  chairs-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chair_single_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;slidechair_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           3&lt;br /&gt;
  padding-length                        0.706&lt;br /&gt;
  spacing-length-before                 0.277&lt;br /&gt;
  spacing-length-after                  0.277&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  dont-scale-mesh-to-fit-length         0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-length                          2&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      4&lt;br /&gt;
      mesh                              &amp;quot;chair_single&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      200&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        subdivisions                    1&lt;br /&gt;
        lod-distance                    45&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          lod-distance                  10&lt;br /&gt;
          subdivisions                  1&lt;br /&gt;
          &lt;br /&gt;
          high-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-left-lod0&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          low-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-left-lod1&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723346:7&amp;gt; TANE Trk Oak Chairs-Right&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723346:7&amp;gt;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Chairs-Right&amp;quot;&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;chairs-right&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  chairs-right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;chair_single_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;slidechair_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           3&lt;br /&gt;
  padding-length                        0.706&lt;br /&gt;
  spacing-length-before                 0.277&lt;br /&gt;
  spacing-length-after                  0.277&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  dont-scale-mesh-to-fit-length         0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-length                          2&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      1&lt;br /&gt;
      mesh                              &amp;quot;chair_single&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      200&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        subdivisions                    1&lt;br /&gt;
        lod-distance                    45&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          lod-distance                  10&lt;br /&gt;
          subdivisions                  1&lt;br /&gt;
          &lt;br /&gt;
          high-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-right-lod0&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          low-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;chairs-right-lod1&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723341:7&amp;gt; TANE Trk Oak Mesh&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723341:7&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Mesh&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;mesh&amp;quot;&lt;br /&gt;
trainz-build                            3.7&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;HM&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  track-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod0.im&amp;quot;&lt;br /&gt;
    auto-create                         1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  track-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;track_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleeper_single-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleeper_single_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleeper_single-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;sleeper_single_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chairs-right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chairs_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  chair_single_right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;chair_single_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_prev_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  endcap_next_lo&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;endcap1_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;wingrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;wingrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;checkrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;checkrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;blade_left.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_left.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;blade_right.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_right.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair_left&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;slidechair_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_slidechair_right&lt;br /&gt;
  {&lt;br /&gt;
    mesh                                &amp;quot;slidechair_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
username-de                             &amp;quot;TANE Trk Oak Mesh&amp;quot;&lt;br /&gt;
username-fr                             &amp;quot;TANE Voie Chêne Maille&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723342:8&amp;gt; TANE Trk Oak Rail-Left&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723342:8&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Rail-Left&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;rail-left&amp;quot;&lt;br /&gt;
rail-width                              0.066&lt;br /&gt;
checkrail-body-length                   2.533&lt;br /&gt;
wingrail-body-length                    1.53&lt;br /&gt;
blade-smallest-width                    0.003&lt;br /&gt;
blade-taper-length                      1.982&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  rail_left-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_left-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_left_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;wingrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;checkrail_left.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;blade_left.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_left.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           6&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      2&lt;br /&gt;
      lod-distance                      65&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        subdivisions                    2&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_left-lod0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_left-lod1&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;rail_left-lod2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723343:8&amp;gt; TANE Trk Oak Rail-Right&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723343:8&amp;gt;&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Rail-Right&amp;quot;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;rail-right&amp;quot;&lt;br /&gt;
rail-width                              0.066&lt;br /&gt;
checkrail-body-length                   2.533&lt;br /&gt;
wingrail-body-length                    1.53&lt;br /&gt;
blade-smallest-width                    0.003&lt;br /&gt;
blade-taper-length                      1.982&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  rail_right-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  rail_right-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;rail_right_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  wingrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;wingrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  checkrail&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;checkrail_right.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;blade_right.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;blade_right.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  blade_stretcher&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;stretcher.im&amp;quot;&lt;br /&gt;
    anim                                &amp;quot;stretcher.kin&amp;quot;&lt;br /&gt;
    animation-loop-speed                0.25&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           6&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-distance                        400&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      2&lt;br /&gt;
      lod-distance                      65&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        lod-distance                    10&lt;br /&gt;
        subdivisions                    2&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_right-lod0&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;rail_right-lod1&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;rail_right-lod2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid2:523:19723341:2&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;kuid2:523:19723344:6&amp;gt; TANE Trk Oak Sleepers&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kuid                                    &amp;lt;kuid2:523:19723344:6&amp;gt;&lt;br /&gt;
kind                                    &amp;quot;procedural-track&amp;quot;&lt;br /&gt;
istrack                                 0&lt;br /&gt;
username                                &amp;quot;TANE Trk Oak Sleepers&amp;quot;&lt;br /&gt;
trainz-build                            3.9&lt;br /&gt;
category-era                            &amp;quot;1920s&amp;quot;&lt;br /&gt;
category-class                          &amp;quot;TR&amp;quot;&lt;br /&gt;
category-region                         &amp;quot;00&amp;quot;&lt;br /&gt;
track-type                              &amp;quot;sleepers&amp;quot;&lt;br /&gt;
sleeper-pitch                           0.707&lt;br /&gt;
&lt;br /&gt;
mesh-table&lt;br /&gt;
{&lt;br /&gt;
  sleepers-lod0&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod1&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod1.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod2&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod2.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleepers-lod3&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleepers_lod3.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  sleeper_single&lt;br /&gt;
  {&lt;br /&gt;
    mesh-asset                          &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
    mesh                                &amp;quot;sleeper_single_lod0.im&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
track&lt;br /&gt;
{&lt;br /&gt;
  mesh-length                           3&lt;br /&gt;
  padding-length                        0.706&lt;br /&gt;
  spacing-length-before                 0.2&lt;br /&gt;
  spacing-length-after                  0.2&lt;br /&gt;
  adjust-cross-section-to-ground        0&lt;br /&gt;
  dont-scale-mesh-to-fit-length         0&lt;br /&gt;
  &lt;br /&gt;
  track-lod-tree&lt;br /&gt;
  {&lt;br /&gt;
    lod-length                          2&lt;br /&gt;
    &lt;br /&gt;
    high-detail&lt;br /&gt;
    {&lt;br /&gt;
      subdivisions                      4&lt;br /&gt;
      mesh                              &amp;quot;sleeper_single&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    low-detail&lt;br /&gt;
    {&lt;br /&gt;
      lod-distance                      200&lt;br /&gt;
      &lt;br /&gt;
      high-detail&lt;br /&gt;
      {&lt;br /&gt;
        subdivisions                    1&lt;br /&gt;
        lod-distance                    45&lt;br /&gt;
        &lt;br /&gt;
        high-detail&lt;br /&gt;
        {&lt;br /&gt;
          lod-distance                  10&lt;br /&gt;
          subdivisions                  1&lt;br /&gt;
          &lt;br /&gt;
          high-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;sleepers-lod0&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          low-detail&lt;br /&gt;
          {&lt;br /&gt;
            mesh                        &amp;quot;sleepers-lod1&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        low-detail&lt;br /&gt;
        {&lt;br /&gt;
          mesh                          &amp;quot;sleepers-lod2&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      low-detail&lt;br /&gt;
      {&lt;br /&gt;
        mesh                            &amp;quot;sleepers-lod3&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
thumbnails&lt;br /&gt;
{&lt;br /&gt;
  default&lt;br /&gt;
  {&lt;br /&gt;
    width                               240&lt;br /&gt;
    height                              180&lt;br /&gt;
    image                               &amp;quot;thumbnail.jpg&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
privileges&lt;br /&gt;
{&lt;br /&gt;
  permit-listing                        0&lt;br /&gt;
}&lt;br /&gt;
username-de                             &amp;quot;TANE Trk Oak Sleepers&amp;quot;&lt;br /&gt;
username-fr                             &amp;quot;TANE Voie Chêne Traverses&amp;quot;&lt;br /&gt;
&lt;br /&gt;
kuid-table&lt;br /&gt;
{&lt;br /&gt;
  0                                     &amp;lt;kuid2:523:19723341:1&amp;gt;&lt;br /&gt;
  1                                     &amp;lt;kuid:523:19723341&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
[[TrainzOnline:HowToGuides]]&lt;br /&gt;
[[Category:Help]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=7108</id>
		<title>Junction Kit Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=7108"/>
		<updated>2014-05-11T09:55:59Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* config.txt: Tags &amp;amp; Containers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes on the Assets==&lt;br /&gt;
==Default Control==&lt;br /&gt;
By default clicking on a fixed track junction asset will only toggle the first referenced switch, usually item 0 in the junction-vertices table.  There is no way that the other nodes can be manually switched without script.  However the AI will be able to successfully negotiate the object no matter how many junction-vertices are defined.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The assets do not respond to the junction-direction button on the track tab in Surveyor and they cannot be switched on the minimap.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These drawbacks can only be addressed by Auran.&lt;br /&gt;
&lt;br /&gt;
==Script Library Control==&lt;br /&gt;
There is a button in the Properties dialogue which allows you to toggle through all of the possible settings for each asset.  This sets a new default for the session which is remembered across session saves.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Driver the AI is left to its own devices and should be able to switch the junctions properly without interference from the script.  Compound objects such as slips, crossovers and diamonds include mutexes which prevent the game from granting simultaneous permits for conflicting routes across the assets.  The script will monitor trains crossing these objects and will derail both trains if a collision is detected.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pressing J or ^J from a train will toggle the node nearest to the train and will set up any other junction nodes to suit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clicking on the mesh will toggle to the next available state.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is not possible to detect the difference between a mouse click on the mesh and a keypress from a train approaching the first node with 100% accuracy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Levers==&lt;br /&gt;
Levers are entirely decorative, the junctions are activated by a click on the main mesh. See [[Junction Lever Configuration]] for notes on creating these objects.&lt;br /&gt;
&lt;br /&gt;
==Junction Linking==&lt;br /&gt;
Links are ignored by the AI - they only operate when the junctions are manually switched.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asset Configuration==&lt;br /&gt;
&lt;br /&gt;
==config.txt: Tags &amp;amp; Containers==&lt;br /&gt;
* This is a list of tags and containers which relate to fixed track junctions.&lt;br /&gt;
* Tags in bold type are essential for correct operation of the Library.&lt;br /&gt;
* You will also need a mesh-table, junction-vertices and attached -track containers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Tag&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kind&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;fixedtrack&#039;&#039;&#039;&lt;br /&gt;
|This is mandatory, fixed junctions will not work as any other asset kind.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;use-named-track&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|This tag enables messages to be generated for scenery triggers attached to the junctions&lt;br /&gt;
|-&lt;br /&gt;
|use-gradient-track&lt;br /&gt;
|1&lt;br /&gt;
|This affects the way that TRS handles height adjustments.&lt;br /&gt;
|-&lt;br /&gt;
|rotate-yz-range&lt;br /&gt;
| -10,10&lt;br /&gt;
|Allows junctions to be rolled to align with a grade. This is optional but if you wish to implement it you will need to align your models along the X axis in GMax, horizontally on the &#039;page&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rollstep&lt;br /&gt;
|0.1&lt;br /&gt;
|Defines the minimum angular increment when junctions are rolled.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script-include-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|This is a pointer to the asset containing the script referenced by JKObject.gs.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The script file which you should drop into your asset folder&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;class&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The name of the script class within this file&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kuid-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;codelib&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|codelib is the script library.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;extensions {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;jk2-122285 {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;junction-type&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;default-state&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;reverse-animation&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;}&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
boolean&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;junction-type&#039;&#039;&#039; (see below) defines the layout and behaviour of the junction.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;default-state&#039;&#039;&#039; (see below) defines the initial state of the junction when first placed in Surveyor, this defaults to 0 and can be altered in Surveyor.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-0&#039;&#039;&#039; defines the straight ahead direction for the first node in a single crossover. (0=left, 1=straight, 2=right) Defaults to 0 and applies to Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-1&#039;&#039;&#039; defines the straight ahead direction for the second node. Defaults to 0. Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;reverse-animation&#039;&#039;&#039; reverses animation direction. Defaults to 0. Applies to 2 way junctions only.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==junction-type codes==&lt;br /&gt;
* A correct entry for this tag in the extensions table is essential for the script to recognise what actions need to be taken in response to conditions encountered.&lt;br /&gt;
* The sub-table should remain as jk2-122285, do not alter it to your own kuid.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
| -3&lt;br /&gt;
|Placeholder used by the script to reference 3 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -2&lt;br /&gt;
|Placeholder used by the script to reference 2 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -1&lt;br /&gt;
|Generic clickable object such as Signal Box Asset&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
|Fixed track object with no animations, typically this would be a spacer which has no animations but which which needs scripted ability (such as ballast hiding) to match other assets.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|Diamond crossing&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|Catch point (Derail)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
|Two way point&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
|Three way point&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
|Single slip&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
|Double slip&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
|Double crossover&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
|Single Crossover (UK Trailing)&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
|Single Crossover (UK Leading)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|Other types may be defined and added to this list as the project progresses.&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==default-state codes==&lt;br /&gt;
* These are not always the same as the junction direction constants defined in TRS.&lt;br /&gt;
* For multi junction objects, to allow the script to understand which node is which they must be defined in config.txt in the same order as set out in the diagrams below.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|junction-type&lt;br /&gt;
|Legal Values&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Not relevant&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0 = derail traffic (default state)&amp;lt;br&amp;gt;1 = permit traffic&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = centre&amp;lt;br&amp;gt;2 = right&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[Image:SingleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[Image:DoubleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[Image:DoubleCrossover.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0 = straight ahead&amp;lt;br&amp;gt;1 = crossover position&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==mesh table containers==&lt;br /&gt;
* The library deals with animations and hiding of meshes based on the mesh names.&lt;br /&gt;
* The actual content of the mesh containers is of no relevance to the script except where noted below.&lt;br /&gt;
* The following special names are recognised.&lt;br /&gt;
* Additional special mesh names will be added as the project develops.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Mesh Name&lt;br /&gt;
|Script Action&lt;br /&gt;
|-&lt;br /&gt;
|template#&lt;br /&gt;
|These are marker meshes which can be used for alignment or simply to indicate the location of node 1. You can provide any number of thesem starting with template1, template2,...,templaten. As long as there are no breaks in the numeric sequence each mesh will be displayed or hidden as appropriate.  These meshes are only ever visible in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|blade#&lt;br /&gt;
|These should contain mesh and animation references. Use blade1 for meshes attached to the first node and so on. The library supports both *.im and *.lm meshes.&lt;br /&gt;
|-&lt;br /&gt;
|ballast#&lt;br /&gt;
|If meshes named ballast are supplied they can be hidden via a property object option. Again you can serialise the containers to have the script act on more than one mesh.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=AssetX_Wiki&amp;diff=7067</id>
		<title>AssetX Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=AssetX_Wiki&amp;diff=7067"/>
		<updated>2014-05-01T16:38:11Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the AssetX WIKI page.&lt;br /&gt;
Latest news will usually be found in the [http://forums.auran.com/trainz/showthread.php?t=63264 AssetX FAQ]&lt;br /&gt;
&lt;br /&gt;
AssetX is now up to Version 3.0.  Get it from [http://www.ajsmith.org.uk/trs/assetx HERE]&lt;br /&gt;
&lt;br /&gt;
AssetX uses PEV&#039;s Images2TGA, PM2IM and QuickShadows as part of its toolbox.  Download these from &lt;br /&gt;
[http://www.members.optusnet.com.au/~villaump/pevsoft.htm here]&lt;br /&gt;
&lt;br /&gt;
Links to pages providing support and access to additional materials:&lt;br /&gt;
&lt;br /&gt;
==[[AssetX Scripts]]==&lt;br /&gt;
&lt;br /&gt;
==[[Tutorials for AssetX and PEV Tools]]==&lt;br /&gt;
&lt;br /&gt;
==[[Articles]]==&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=AssetX_Scripts&amp;diff=6882</id>
		<title>AssetX Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=AssetX_Scripts&amp;diff=6882"/>
		<updated>2014-03-22T00:24:39Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Undo revision 6880 by Lwvrr (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=AssetX Script Libraries=&lt;br /&gt;
&lt;br /&gt;
As well as being a Help Page, this page is intended to be a source for scripts written for AssetX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please Note: Any installers on this page must be executed separately, and AssetX opened immediately afterwards.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Ian Woodmore&#039;s TARDIS 2.0 Scripts==&lt;br /&gt;
 &lt;br /&gt;
During the development of AssetX, Ian Woodmore wrote an extensive set of repair and update upgrade scripts to test the scripting language.&lt;br /&gt;
 &lt;br /&gt;
These TARDIS scripts, in conjunction with Asset X, can perform automated repair. upgrade and up-version of legacy assets to any asset trainz-build TB 2.7 or greater.&lt;br /&gt;
 &lt;br /&gt;
The scripts cover a wide range of common config.txt tags and containers. They work fine for the bulk of early version assets. Any remaining errors must be fixed manually using CM2 or CM3 as a guide.&lt;br /&gt;
 &lt;br /&gt;
The script installer is available from [http://www.members.optusnet.com.au/~villaump/Apps/Ians_Tardis_Scripts.exe HERE] and will automatically load the scripts into your AssetX installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PEV&#039;s Version Upgrade Scripts==&lt;br /&gt;
Also during the development of AssetX, PEV wrote a simple set of version upgrade scripts to test the scripting language.&lt;br /&gt;
&lt;br /&gt;
These are a set of four AssetX scripts that, together, can perform asset version upgrades to TC1/2 (trainzbuild 2.7) or TS2009 (trainzbuild 2.9).&lt;br /&gt;
&lt;br /&gt;
These simple scripts do no error checking, and only cover the common config.txt tags. They work fine for the bulk of early version assets. Those errors that remain must be fixed manually using CM2 or CM3 as a guide.&lt;br /&gt;
&lt;br /&gt;
The script installer is available from [http://www.members.optusnet.com.au/~villaump/Apps/PEVs_Updating_Scripts.exe HERE]&lt;br /&gt;
and will automatically load the scripts into your AssetX installation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add TrainzUtil to your AssetX Menu==&lt;br /&gt;
&lt;br /&gt;
AssetX can use TrainzUtil to verify assets and commit or revert them into the Trainz database.&lt;br /&gt;
&lt;br /&gt;
Please be aware that this process can be slow, and it requires the Trainz Version setting in Options/Paths be set for the target Trainz version (if you have more than one Trainz installation).&lt;br /&gt;
&lt;br /&gt;
The menu installer is available from [http://www.members.optusnet.com.au/~villaump/Apps/TrainzUtil_Menu_Script.exe HERE]&lt;br /&gt;
and will automatically load into your AssetX installation.  This installer loads a &amp;quot;RunOnce&amp;quot; script that will execute automatically when you open AssetX and then the RunOnce will delete itself when finished.  You need to close and re-open AssetX to see the new TrainzUtil menu.&lt;br /&gt;
&lt;br /&gt;
Note that this TrainzUtil menu is designed to run with Version 2.2 of AssetX and may cause earlier versions to stall on a pointer over-run.&lt;br /&gt;
&lt;br /&gt;
If you wish to &#039;&#039;&#039;remove&#039;&#039;&#039; the TrainzUtil Menu use this [http://www.members.optusnet.com.au/~villaump/Apps/TrainzUtil_Menu_Delete.exe LINK]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This is an example of an AssetX &#039;&#039;&#039;Custom Menu&#039;&#039;&#039;.  Three of these are provided, Custom A, Custom B and Custom C.  In this case we have used Custom A.  You can check out how it works by clicking on Options/Configure Tools on the AssetX Main Menu. Select Custom A in the drop-down box labelled Menu.  The program help gives a detailed description of this process.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Script Code for Sharing=&lt;br /&gt;
If you have written an AssetX script that you think may be useful for the community you can copy and paste it into this section.&lt;br /&gt;
To get the text to appear in a code box, all of the lines must start with a space character.  Here is a simple example:-&lt;br /&gt;
&lt;br /&gt;
 FileName &amp;quot;Username.axm&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 -If|config.txt\name!&amp;quot;&amp;quot;&lt;br /&gt;
  -Save|0|config.txt\name&lt;br /&gt;
  -Update|config.txt\username|&amp;quot;*** NEW TAG ***&amp;quot;&lt;br /&gt;
  -Restore|0|config.txt\username&lt;br /&gt;
  -delete|config.txt\name&lt;br /&gt;
 -EndIf&lt;br /&gt;
&lt;br /&gt;
=Corrected Version of Install Superscript.axm=&lt;br /&gt;
This corrects some typos in the file provided with the AssetX installation.  Copy and paste the following and save in the scripts folder as &#039;Install Superscript.axm&#039;&lt;br /&gt;
&lt;br /&gt;
  ;install library and asset stub script&lt;br /&gt;
  -If|kind!traincar&lt;br /&gt;
  	-Info|Script can only be used with kind traincar assets&lt;br /&gt;
  	-Exit&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  -IfAsset|&amp;lt;kuid2:122285:508:14&amp;gt;&lt;br /&gt;
  -Else&lt;br /&gt;
  	-Info|Script requires that Superscript Library &amp;lt;kuid2:122285:508:14&amp;gt; or later must be open in AssetX.&lt;br /&gt;
  	-Exit&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  -If|engine=&lt;br /&gt;
  	-Info|Asset has no engine tag, please correct and re-run script&lt;br /&gt;
  	-Exit&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  -Update|script-include-table\superscript|&amp;lt;kuid2:122285:508:14&amp;gt;&lt;br /&gt;
  -Update|kuid-table\codelib|&amp;lt;kuid2:122285:508:14&amp;gt;&lt;br /&gt;
  -If|engine=1&lt;br /&gt;
  	-IfAsset|&amp;lt;kuid2:122285:508:14&amp;gt;&lt;br /&gt;
  		-CopyFromAsset|lstub.gs&lt;br /&gt;
  	-EndIf&lt;br /&gt;
  	-Update|script|LStub&lt;br /&gt;
  	-Update|class|LStub&lt;br /&gt;
  -Else&lt;br /&gt;
  	-IfAsset|&amp;lt;kuid2:122285:508:14&amp;gt;&lt;br /&gt;
  		-CopyFromAsset|vstub.gs&lt;br /&gt;
  	-EndIf&lt;br /&gt;
  	-Update|script|VStub&lt;br /&gt;
  	-Update|class|VStub&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;extensions container options&lt;br /&gt;
  -IfQuery||Run in Debug Mode?&lt;br /&gt;
  	-Update|extensions\debug-122285|1&lt;br /&gt;
  -EndIf&lt;br /&gt;
  -IfQuery||Change Train Heading via View-Details in Driver?&lt;br /&gt;
  	-Update|extensions\heading-122285|1&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;front mesh&lt;br /&gt;
  -IfQuery||Add Front of Car Marker (used when debugging attachments)?&lt;br /&gt;
  	-Update|mesh-table\front\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\front\mesh|front.im&lt;br /&gt;
  	-Update|mesh-table\front\att|a.limfront&lt;br /&gt;
  	-Update|mesh-table\front\att-parent|default&lt;br /&gt;
  	-Update|mesh-table\front\auto-create|0&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;mesh-table front headlight&lt;br /&gt;
  -IfQuery||Add Headlight at Front of Car? &lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-0\kind|corona&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-0\att|a.headlight-0&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-0\texture-kuid|&amp;lt;kuid:104722:100&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-0\object-size|0.12&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;mesh-table rear headlight&lt;br /&gt;
  -IfQuery||Add Headlight at Rear of Car?&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-1\kind|corona&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-1\att|a.headlight-1&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-1\texture-kuid|&amp;lt;kuid:104722:100&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\default\effects\headlight-1\object-size|0.12&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;mesh-table front taillamp&lt;br /&gt;
  -IfQuery||Add Tail Light at Front of Car?&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-0\kind|corona&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-0\att|a.taillight-0&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-0\texture-kuid|&amp;lt;kuid:104722:200&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-0\object-size|0.12&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;mesh-table rear taillamp&lt;br /&gt;
  -IfQuery||Add Tail Light at Rear of Car?&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-1\kind|corona&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-1\att|a.taillight-1&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-1\texture-kuid|&amp;lt;kuid:104722:200&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\default\effects\taillight-1\object-size|0.12&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;lamp bodies&lt;br /&gt;
  -IfQuery||Add Lamp Bodies?&lt;br /&gt;
  	-If|mesh-table\default\effects\headlight-0\kind$&lt;br /&gt;
  		-Update|mesh-table\headlight-0-body\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  		-Update|mesh-table\headlight-0-body\mesh|lamp.im&lt;br /&gt;
  		-Update|mesh-table\headlight-0-body\att|a.headlight-0&lt;br /&gt;
  		-Update|mesh-table\headlight-0-body\att-parent|default&lt;br /&gt;
  	-EndIf&lt;br /&gt;
  	-If|mesh-table\default\effects\headlight-1\kind$&lt;br /&gt;
  		-Update|mesh-table\headlight-1-body\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  		-Update|mesh-table\headlight-1-body\mesh|lamp.im&lt;br /&gt;
  		-Update|mesh-table\headlight-1-body\att|a.headlight-1&lt;br /&gt;
  		-Update|mesh-table\headlight-1-body\att-parent|default&lt;br /&gt;
  	-EndIf&lt;br /&gt;
  	-If|mesh-table\default\effects\taillight-0\kind$&lt;br /&gt;
  		-Update|mesh-table\taillight-0-body\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  		-Update|mesh-table\taillight-0-body\mesh|lamp.im&lt;br /&gt;
  		-Update|mesh-table\taillight-0-body\att|a.taillight-0&lt;br /&gt;
  		-Update|mesh-table\taillight-0-body\att-parent|default&lt;br /&gt;
  	-EndIf&lt;br /&gt;
  	-If|mesh-table\default\effects\taillight-1\kind$&lt;br /&gt;
  		-Update|mesh-table\taillight-1-body\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  		-Update|mesh-table\taillight-1-body\mesh|lamp.im&lt;br /&gt;
  		-Update|mesh-table\taillight-1-body\att|a.taillight-1&lt;br /&gt;
  		-Update|mesh-table\taillight-1-body\att-parent|default&lt;br /&gt;
  	-EndIf&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;corridors&lt;br /&gt;
  -IfQuery||Add Corridor at Front of Car?&lt;br /&gt;
  	-Update|extensions\corridor-0-122285|1&lt;br /&gt;
  	-Update|mesh-table\corridor-0\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\corridor-0\mesh|corridor.im&lt;br /&gt;
  	-Update|mesh-table\corridor-0\anim|corridor.kin&lt;br /&gt;
  	-Update|mesh-table\corridor-0\auto-create|1&lt;br /&gt;
  	-Update|mesh-table\corridor-0\att|a.couple0&lt;br /&gt;
  	-Update|mesh-table\corridor-0\att-parent|default&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  -IfQuery||Add Corridor at Rear of Car?&lt;br /&gt;
  	-Update|extensions\corridor-1-122285|1&lt;br /&gt;
  	-Update|mesh-table\corridor-1\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\corridor-1\mesh|corridor.im&lt;br /&gt;
  	-Update|mesh-table\corridor-1\anim|corridor.kin&lt;br /&gt;
  	-Update|mesh-table\corridor-1\auto-create|1&lt;br /&gt;
  	-Update|mesh-table\corridor-1\att|a.couple1&lt;br /&gt;
  	-Update|mesh-table\corridor-1\att-parent|default&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;front driver&lt;br /&gt;
  -IfQuery||Add Driver Mesh at Front of Car?&lt;br /&gt;
  	-Update|mesh-table\driver-0\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\driver-0\mesh|driver.im&lt;br /&gt;
  	-Update|mesh-table\driver-0\att|a.driver-0&lt;br /&gt;
  	-Update|mesh-table\driver-0\att-parent|default&lt;br /&gt;
  	-Update|mesh-table\driver-0\auto-create|1&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  ;rear driver&lt;br /&gt;
  -IfQuery||Add Driver Mesh at Rear of Car?&lt;br /&gt;
  	-Update|mesh-table\driver-1\mesh-asset|&amp;lt;kuid:122285:508&amp;gt;&lt;br /&gt;
  	-Update|mesh-table\driver-1\mesh|driver.im&lt;br /&gt;
  	-Update|mesh-table\driver-1\att|a.driver-1&lt;br /&gt;
  	-Update|mesh-table\driver-1\att-parent|default&lt;br /&gt;
  	-Update|mesh-table\driver-1\auto-create|1&lt;br /&gt;
  -EndIf&lt;br /&gt;
  &lt;br /&gt;
  -IfQuery||Save Changes to config.txt?&lt;br /&gt;
  	-Sort&lt;br /&gt;
  	-SaveConfig&lt;br /&gt;
  	-MessageBox|Config.txt entries have been made for the options selected.  You can amend attachment point names, corona kuid references etc to suit your model.  Please ensure that the attachment points specified are present within your traincar mesh.&lt;br /&gt;
  -EndIf&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Name_Effect&amp;diff=5798</id>
		<title>Name Effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Name_Effect&amp;diff=5798"/>
		<updated>2014-01-21T18:26:23Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Name effect kind is a [[&amp;quot;mesh-table&amp;quot; Container]] effect container. The following tags are supported: &lt;br /&gt;
&lt;br /&gt;
 kind &amp;quot;name&amp;quot;&lt;br /&gt;
 name &amp;quot;&amp;quot;&lt;br /&gt;
 att &amp;quot;&amp;quot;&lt;br /&gt;
 value &amp;quot;(same as name)&amp;quot;&lt;br /&gt;
 font &amp;quot;swiss&amp;quot;&lt;br /&gt;
 fontsize 12&lt;br /&gt;
 fontcolor 1.0,1.0,1.0&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Container]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22privileges%22_container&amp;diff=5797</id>
		<title>&quot;privileges&quot; container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22privileges%22_container&amp;diff=5797"/>
		<updated>2014-01-20T23:39:30Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Supported Tags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ORP-top}}The privileges container is a top-level [[config.txt file]] entry used by [[KIND TrainzBaseSpec]] and all derived assets. It is part of the new {{wp|Digital rights management|DRM}} built into Trainz 2012.&lt;br /&gt;
&lt;br /&gt;
==Supported Tags==&lt;br /&gt;
&lt;br /&gt;
The privileges container supports the following tags. Each tag is show here with its default value.&lt;br /&gt;
&lt;br /&gt;
 privileges&lt;br /&gt;
 {&lt;br /&gt;
   permit-commit 1&lt;br /&gt;
   permit-edit 1&lt;br /&gt;
   permit-listing 1&lt;br /&gt;
   is-payware-content 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
It should be noted that, with the exception of permit-listing, this container only takes effect when content is packaged for distribution with Trainz or an official Trainz addon pack.&lt;br /&gt;
&lt;br /&gt;
====permit-commit====&lt;br /&gt;
:Type: Boolean&lt;br /&gt;
:Desc: Controls whether local modifications to this asset can be committed. Note: &#039;&#039;&#039;base&#039;&#039;&#039; assets can never have modifications committed in order to prevent corruption of the core program.&lt;br /&gt;
&lt;br /&gt;
====permit-edit====&lt;br /&gt;
:Type: Boolean&lt;br /&gt;
:Desc: Controls whether a user may open this asset for editing. This is mainly used to prevent simple viewing of content which resides in archive files, where the content creator wishes to protect their techniques against prying eyes.&lt;br /&gt;
&lt;br /&gt;
====permit-listing====&lt;br /&gt;
:Type: Boolean&lt;br /&gt;
:Desc: Controls whether the asset shows in in-game listings. The asset will always show in [[Content Manager]] listings, regardless of this setting.&lt;br /&gt;
&lt;br /&gt;
====is-payware-content====&lt;br /&gt;
&#039;&#039;TBD&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Example privileges container==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TBD&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Container|privileges]]&lt;br /&gt;
[[Category:TBD]]&lt;br /&gt;
{{ORP-bot|privileges}}&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=5779</id>
		<title>Junction Kit Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=5779"/>
		<updated>2013-12-11T22:53:59Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* default-state codes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes on the Assets==&lt;br /&gt;
==Default Control==&lt;br /&gt;
By default clicking on a fixed track junction asset will only toggle the first referenced switch, usually item 0 in the junction-vertices table.  There is no way that the other nodes can be manually switched without script.  However the AI will be able to successfully negotiate the object no matter how many junction-vertices are defined.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The assets do not respond to the junction-direction button on the track tab in Surveyor and they cannot be switched on the minimap.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These drawbacks can only be addressed by Auran.&lt;br /&gt;
&lt;br /&gt;
==Script Library Control==&lt;br /&gt;
There is a button in the Properties dialogue which allows you to toggle through all of the possible settings for each asset.  This sets a new default for the session which is remembered across session saves.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Driver the AI is left to its own devices and should be able to switch the junctions properly without interference from the script.  Compound objects such as slips, crossovers and diamonds include mutexes which prevent the game from granting simultaneous permits for conflicting routes across the assets.  The script will monitor trains crossing these objects and will derail both trains if a collision is detected.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pressing J or ^J from a train will toggle the node nearest to the train and will set up any other junction nodes to suit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clicking on the mesh will toggle to the next available state.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is not possible to detect the difference between a mouse click on the mesh and a keypress from a train approaching the first node with 100% accuracy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Levers==&lt;br /&gt;
Levers are entirely decorative, the junctions are activated by a click on the main mesh. See [[Junction Lever Configuration]] for notes on creating these objects.&lt;br /&gt;
&lt;br /&gt;
==Junction Linking==&lt;br /&gt;
Links are ignored by the AI - they only operate when the junctions are manually switched.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asset Configuration==&lt;br /&gt;
&lt;br /&gt;
==config.txt: Tags &amp;amp; Containers==&lt;br /&gt;
* This is a list of tags and containers which relate to fixed track junctions.&lt;br /&gt;
* Tags in bold type are essential for correct operation of the Library.&lt;br /&gt;
* You will also need a mesh-table, junction-vertices and attached -track containers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Tag&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kind&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;fixedtrack&#039;&#039;&#039;&lt;br /&gt;
|This is mandatory, fixed junctions will not work as any other asset kind.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;use-named-track&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|This tag enables messages to be generated for scenery triggers attached to the junctions&lt;br /&gt;
|-&lt;br /&gt;
|use-gradient-track&lt;br /&gt;
|1&lt;br /&gt;
|This affects the way that TRS handles height adjustments.&lt;br /&gt;
|-&lt;br /&gt;
|rotate-yz-range&lt;br /&gt;
| -10,10&lt;br /&gt;
|Allows junctions to be rolled to align with a grade. This is optional but if you wish to implement it you will need to align your models along the X axis in GMax, horizontally on the &#039;page&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rollstep&lt;br /&gt;
|0.1&lt;br /&gt;
|Defines the minimum angular increment when junctions are rolled.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script-include-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|This is a pointer to the asset containing the script referenced by JKObject.gs.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The script file which you should drop into your asset folder&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;class&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The name of the script class within this file&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kuid-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;codelib&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|codelib is the script library.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;extensions {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;jk2-122285 {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;junction-type&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;default-state&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;}&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;junction-type&#039;&#039;&#039; (see below) defines the layout and behaviour of the junction.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;default-state&#039;&#039;&#039; (see below) defines the initial state of the junction when first placed in Surveyor, this defaults to 0 and can be altered in Surveyor.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-0&#039;&#039;&#039; defines the straight ahead direction for the first node in a single crossover. (0=left, 1=straight, 2=right) Defaults to 0 and applies to Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-1&#039;&#039;&#039; defines the straight ahead direction for the second node. Defaults to 0. Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==junction-type codes==&lt;br /&gt;
* A correct entry for this tag in the extensions table is essential for the script to recognise what actions need to be taken in response to conditions encountered.&lt;br /&gt;
* The sub-table should remain as jk2-122285, do not alter it to your own kuid.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
| -3&lt;br /&gt;
|Placeholder used by the script to reference 3 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -2&lt;br /&gt;
|Placeholder used by the script to reference 2 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -1&lt;br /&gt;
|Generic clickable object such as Signal Box Asset&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
|Fixed track object with no animations, typically this would be a spacer which has no animations but which which needs scripted ability (such as ballast hiding) to match other assets.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|Diamond crossing&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|Catch point (Derail)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
|Two way point&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
|Three way point&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
|Single slip&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
|Double slip&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
|Double crossover&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
|Single Crossover (UK Trailing)&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
|Single Crossover (UK Leading)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|Other types may be defined and added to this list as the project progresses.&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==default-state codes==&lt;br /&gt;
* These are not always the same as the junction direction constants defined in TRS.&lt;br /&gt;
* For multi junction objects, to allow the script to understand which node is which they must be defined in config.txt in the same order as set out in the diagrams below.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|junction-type&lt;br /&gt;
|Legal Values&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Not relevant&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0 = derail traffic (default state)&amp;lt;br&amp;gt;1 = permit traffic&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = centre&amp;lt;br&amp;gt;2 = right&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[Image:SingleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[Image:DoubleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[Image:DoubleCrossover.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0 = straight ahead&amp;lt;br&amp;gt;1 = crossover position&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==mesh table containers==&lt;br /&gt;
* The library deals with animations and hiding of meshes based on the mesh names.&lt;br /&gt;
* The actual content of the mesh containers is of no relevance to the script except where noted below.&lt;br /&gt;
* The following special names are recognised.&lt;br /&gt;
* Additional special mesh names will be added as the project develops.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Mesh Name&lt;br /&gt;
|Script Action&lt;br /&gt;
|-&lt;br /&gt;
|template#&lt;br /&gt;
|These are marker meshes which can be used for alignment or simply to indicate the location of node 1. You can provide any number of thesem starting with template1, template2,...,templaten. As long as there are no breaks in the numeric sequence each mesh will be displayed or hidden as appropriate.  These meshes are only ever visible in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|blade#&lt;br /&gt;
|These should contain mesh and animation references. Use blade1 for meshes attached to the first node and so on. The library supports both *.im and *.lm meshes.&lt;br /&gt;
|-&lt;br /&gt;
|ballast#&lt;br /&gt;
|If meshes named ballast are supplied they can be hidden via a property object option. Again you can serialise the containers to have the script act on more than one mesh.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=ACS_Coupling_System&amp;diff=5778</id>
		<title>ACS Coupling System</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=ACS_Coupling_System&amp;diff=5778"/>
		<updated>2013-12-11T00:26:52Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
&lt;br /&gt;
There are many and varied problems with the existing BlueStar standard - but the main ones are the inflexibility beyond the initial application (coupling mineral wagons and transition era locos), and the rather arcane numeric values put into the config.txt.&lt;br /&gt;
&lt;br /&gt;
A more readable, more flexible, and preferrably easily extensible datastructure in the config.txt was needed, and some way of standardising the logic (at the very minimum, an include file, but preferrably a library). It needed to support many more different types of coupler, vehicles with different couplers on each end, and so on. &lt;br /&gt;
&lt;br /&gt;
The ACS System is an extension of the BlueStar coupling standard for TRS models (effectively BlueStar V2) and provides for the effect of working couplings on rolling stock. From version 5 of the ACSLib ACS vehicles are compatible with older BlueStar/CoupleStar ones. &lt;br /&gt;
&lt;br /&gt;
To add ACS couplings it is necessary to edit the asset config file, add attachment points to the mesh (see below for an alternative which can sometimes be used) and to create a script or edit the existing one. Due to the fact that you need access to the source files of the asset and to be able to script it is an advanced technique that cannot easily be carried out by an end-user.&lt;br /&gt;
&lt;br /&gt;
For couplers implemented as meshes in the mesh-table (usually but not always animated), position and orientation tags can be used to locate the attached meshes:&lt;br /&gt;
&lt;br /&gt;
*For front couplings the tag &#039;position 0,Y,0&#039; should be added.&lt;br /&gt;
*For back couplings two tags are needed, &#039;position 0,Y,0&#039; and orientation &#039;0,0,3.14159&#039;&lt;br /&gt;
*in both cases the value Y is 0.46 metres inboard of the Y value of limfront and limback respectively.&lt;br /&gt;
&lt;br /&gt;
===The Attachment Points===&lt;br /&gt;
&lt;br /&gt;
All of the coupler, hoses and cables are attached to two points, one on the face of the front buffer beam (a.couple0) and one on the face of the rear beam (a.couple1). a.limfront should be 0.46m forward of a.couple0 and a.limback 0.46m rearward of a.couple1. a.couple0 and a.couple1 must be at x=0 and z=0.&lt;br /&gt;
&lt;br /&gt;
Create a.couple0 in top view and move it into position. Then clone and position it to create a.couple1 and rotate it 180°. The Y axis of the two coupler points should point towards 0,0,0.&lt;br /&gt;
&lt;br /&gt;
[[image:acs_att_points]]&lt;br /&gt;
&lt;br /&gt;
===The Config File===&lt;br /&gt;
First off, here is an example config.txt fragment: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
extensions {&lt;br /&gt;
  max_permitted_speed-60850 &amp;quot;125mph&amp;quot;&lt;br /&gt;
  active-coupling-standard-60850 {&lt;br /&gt;
    version-major &amp;quot;2&amp;quot;&lt;br /&gt;
    version-minor &amp;quot;0&amp;quot;&lt;br /&gt;
    brakes &amp;quot;air&amp;quot;&lt;br /&gt;
    front {&lt;br /&gt;
      coupler &amp;quot;knuckle|screwlink|hook&amp;quot;&lt;br /&gt;
      gangway &amp;quot;gangway&amp;quot;&lt;br /&gt;
      airbrake &amp;quot;twin&amp;quot;&lt;br /&gt;
      vacbrake &amp;quot;none&amp;quot;&lt;br /&gt;
      multiple-working &amp;quot;none&amp;quot;&lt;br /&gt;
      heating-type &amp;quot;electric&amp;quot;&lt;br /&gt;
      rch &amp;quot;high&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    back {&lt;br /&gt;
      coupler &amp;quot;knuckle|screwlink|hook&amp;quot;&lt;br /&gt;
      gangway &amp;quot;gangway&amp;quot;&lt;br /&gt;
      airbrake &amp;quot;twin&amp;quot;&lt;br /&gt;
      vacbrake &amp;quot;none&amp;quot;&lt;br /&gt;
      multiple-working &amp;quot;none&amp;quot;&lt;br /&gt;
      heating-type &amp;quot;electric&amp;quot;&lt;br /&gt;
      rch &amp;quot;high&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, what does all this do, and what are the options?&lt;br /&gt;
====Extension Container====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
extensions {&lt;br /&gt;
  ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is for TRS2006 compatibility - it&#039;s all going in the extensions container. This does work in TRS2004 as well. Watch for the caveat at the end though...&lt;br /&gt;
&lt;br /&gt;
====Max Permitted Speed====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      Max_Permitted_Speed-60850 &amp;quot;125mph&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not strictly part of the coupling code, but may as well mention it. This is for the Max Permitted Speed rule to tell how fast this vehicle should be permitted to travel. It will tell both AI drivers and the human driver (via the Custom HUD rule) what the maximum permitted speed is for the train they are driving, based on information from each vehicle. (And in a future version of the rule, more stuff too...)&lt;br /&gt;
====ACS Container====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      active-coupling-standard-60850 {&lt;br /&gt;
        ...&lt;br /&gt;
      }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the container within which all the config information will be held.&lt;br /&gt;
&lt;br /&gt;
====ACS Version====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        version-major &amp;quot;2&amp;quot;&lt;br /&gt;
        version-minor &amp;quot;0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Version numbers. This is useful when later code needs to read earlier format config files. Should make extending the standard a lot easier.&lt;br /&gt;
&lt;br /&gt;
====Braking System====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        brakes &amp;quot;air&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines what type of braking system is fitted to this vehicle. Options are:&lt;br /&gt;
*&amp;quot;air&amp;quot;&lt;br /&gt;
*&amp;quot;vac&amp;quot;&lt;br /&gt;
*&amp;quot;dual&amp;quot;&lt;br /&gt;
*&amp;quot;none&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
This is independant of what hoses are available - unbraked but through piped stock is an entirely possible combination, and is representable.&lt;br /&gt;
&lt;br /&gt;
====Position====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        front {&lt;br /&gt;
          ...&lt;br /&gt;
        }&lt;br /&gt;
        back {&lt;br /&gt;
          ...&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Containers for the front and back of the vehicle. &#039;Front&#039; is defined as &amp;quot;the a.limfront end&amp;quot;, and &#039;back&#039; &amp;quot;the a.limback end&amp;quot;. Available options for both are the same, so I&#039;ll describe them just once.&lt;br /&gt;
====Coupler Type====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          coupler &amp;quot;knuckle|screwlink|hook&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What type of coupler do we have on this end of the vehicle? Options are:&lt;br /&gt;
* &amp;quot;hook&amp;quot; -- connects to screwlink/instanter/3link/hst-emergency-bar.&lt;br /&gt;
* &amp;quot;3link&amp;quot; -- connects to hook.&lt;br /&gt;
* &amp;quot;instanter&amp;quot; -- connects to hook.&lt;br /&gt;
* &amp;quot;screwlink&amp;quot; -- connects to hook.&lt;br /&gt;
* &amp;quot;hst-emergency-bar&amp;quot; -- connects to hook.&lt;br /&gt;
* &amp;quot;bar-full&amp;quot; -- connects to &amp;quot;bar-none&amp;quot;. Half of a handed pair for when one vehicle has the entire bar coupling.&lt;br /&gt;
* &amp;quot;bar-none&amp;quot; -- connected to by &amp;quot;bar-full&amp;quot;. The other half of the handed pair.&lt;br /&gt;
* &amp;quot;bar&amp;quot; -- connects to self only. Used when both vehicles have half the bar coupling.&lt;br /&gt;
* &amp;quot;knuckle&amp;quot; - standard knuckle coupler.&lt;br /&gt;
* &amp;quot;tightlock&amp;quot; -- different to a standard knuckle, refers to a knuckle style coupler often fitted to multiple unit trains that also include electrical connections.&lt;br /&gt;
* &amp;quot;wedgelock&amp;quot; -- London Underground coupler.&lt;br /&gt;
* &amp;quot;bsi&amp;quot; -- Found on Sprinter DMUs and derived designs.&lt;br /&gt;
* &amp;quot;dellner&amp;quot; -- Also compatible with scharfenberg coupling.&lt;br /&gt;
* &amp;quot;scharfenberg&amp;quot; -- Also compatible with dellner coupling.&lt;br /&gt;
* &amp;quot;(other string identifier)&amp;quot; -- Any string that is not recognised from the above list is assumed to be a symmetrical meet-in-the-middle type of coupler.&lt;br /&gt;
&lt;br /&gt;
Certain couplers are purely compatible with other identical couplers, others are inter-compatible. Some produce handed pairs - e.g. a 3 link chain couples to a hook, and wagons with this coupling are typically fitted with both a hook and a chain.&lt;br /&gt;
&lt;br /&gt;
Multiple coupler options can be specified, and are separated with a vertical bar character. The earlier option is used in preference, so list the best coupler option first.&lt;br /&gt;
&lt;br /&gt;
A typical unfitted freight wagon with a 3 link coupling is specified as &amp;quot;3link|hook&amp;quot;. A vehicle fitted with a knuckle, screwlink and hook (e.g. a swingknuckle fitted locomotive) is specified as &amp;quot;knuckle|screwlink|hook&amp;quot;. A BR coaching stock dropknuckle (a knuckle and a hook, but no chain) is specified as &amp;quot;knuckle|hook&amp;quot;. If the vehicle also has an emergency screwlink which is not permanently fitted, then &amp;quot;knuckle|hook|screwlink&amp;quot; would be appropriate -- this would cause ACS to prefer the chain type coupler from the adjacent vehicle rather than using the emergency screwlink, which would only be used when necessary. A Victorian Railways transitional coupler (which has a chain and a knuckle, but no hook) is specified as &amp;quot;knuckle|3link&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Dellner and Scharfenberg couplings are treated as compatible, so a dellner will also couple to a scharfenberg.&lt;br /&gt;
&lt;br /&gt;
If your coupler type isn&#039;t listed, define a standard name for it, and start using it. ACS supports arbitrary extension - any new coupler it hasn&#039;t seen before will be treated as a symmetrical coupler. ACS will tell you if it has connected to an identical coupler on the adjacent vehicle.&lt;br /&gt;
&lt;br /&gt;
If you need a new handed pair type (where the coupler on the end of one wagon is not the same as that on the end of another), then you will need to contact the ACS author to get one added.&lt;br /&gt;
&lt;br /&gt;
====Gangways====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          gangway &amp;quot;gangway&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passenger gangway between vehicles. Options are:&lt;br /&gt;
*&amp;quot;none&amp;quot;&lt;br /&gt;
*&amp;quot;rubbing-plate&amp;quot;&lt;br /&gt;
*&amp;quot;gangway&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is really intended for coaching stock - it is assumed that all gangways are compatible. I&#039;ve been considering a &#039;one piece&#039; gangway option - to aid with the centre of multiple unit trains, where there is no separation point (it will help with deciding which vehicle should display the gangway) - but I&#039;m not sure whether this is of sufficient benefit to include, as it involves a whole new set of logic here that most people won&#039;t use, and for the cases it is interesting, the same person has made both vehicles, and can therefore do it themselves... Comments please.&lt;br /&gt;
====Pipes for Air Brakes====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          airbrake &amp;quot;twin&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Brake pipes for air brakes. Options are: &lt;br /&gt;
*&amp;quot;twin&amp;quot;&lt;br /&gt;
*&amp;quot;single&amp;quot;&lt;br /&gt;
*&amp;quot;none&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Twin is the UK standard two pipe air brake system (train pipe and brake pipe). Single is the US standard air brake system where reservoirs are charged from the brake pipe rather than the train pipe (this has appeared on some modern freightcars for reasons unknown, so is included).&lt;br /&gt;
====Pipes for Vac Brakes====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          vacbrake &amp;quot;none&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Brake pipes for Vacuum brakes. Options are: &lt;br /&gt;
*&amp;quot;twin&amp;quot;&lt;br /&gt;
*&amp;quot;single&amp;quot;&lt;br /&gt;
*&amp;quot;high&amp;quot;&lt;br /&gt;
*&amp;quot;none&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Single is the UK default for fitted stock, high connections seems to be the standard on UK steam locos. Twin pipes (operating at two different vacuum levels) has been tried in the UK - and while not much fitted stock has the twin pipe system, most air brake, through vac piped stock seems to have two vac pipes.&lt;br /&gt;
====Multiple Working Cables====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          multiple-working &amp;quot;none&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multiple working connections. Options are: &lt;br /&gt;
*&amp;quot;(color)-(shape)&amp;quot; -- e.g. &amp;quot;blue-star&amp;quot; or &amp;quot;red-diamond&amp;quot;, etc&lt;br /&gt;
*&amp;quot;AAR&amp;quot; -- as used on GM locos&lt;br /&gt;
*&amp;quot;SR27&amp;quot; -- bagpipes&lt;br /&gt;
*&amp;quot;(other identifier string e.g. classname)&amp;quot;&lt;br /&gt;
====Train Heating====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          heating-type &amp;quot;electric&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Coach heating. Options are: &lt;br /&gt;
*&amp;quot;none&amp;quot;&lt;br /&gt;
*&amp;quot;steam&amp;quot;&lt;br /&gt;
*&amp;quot;electric&amp;quot; -- standard ETH&lt;br /&gt;
*&amp;quot;dual&amp;quot; -- both Steam and standard ETH*&amp;quot;southern-electric&amp;quot; -- The Southern, who pioneered electric train heating in the UK, fitted heating that was compatible with their DC powered EMUs, and thus ran from the same voltage as the DC power supply. When the rest of BR went ETH, different standards were adopted, resulting in the Southern having a different and incompatible ETH standard...&lt;br /&gt;
====Lighting Control Cables====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          rch &amp;quot;high&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Through wiring for lighting control, to the Railway Clearing House standard. Also used more recently for other things - e.g. remote control via various methods - including TDM. I believe it is also used for signals to control doorlocks on stock so fitted - though I could be wrong on this. Options are:&lt;br /&gt;
*&amp;quot;high&amp;quot; -- positioned as is fairly standard on coaching stock&lt;br /&gt;
*&amp;quot;low&amp;quot; -- positioned as is fairly standard on streamlined locos, e.g. the front of a DVT, or a cl90&lt;br /&gt;
*&amp;quot;none&amp;quot;&lt;br /&gt;
====Notes====&lt;br /&gt;
For all of these where &amp;quot;none&amp;quot; is an option, entirely missing out that line is equivalent to stating &amp;quot;none&amp;quot;. This should make stock which doesn&#039;t use most of the features much more palatable to produce. This will also help when extending the standard - as new features will automatically be assumed to be not present on stock built to older standards...&lt;br /&gt;
&lt;br /&gt;
That&#039;s all very well and good, but how is this supposed to be backwards compatible with the old bluestar standard?&lt;br /&gt;
&lt;br /&gt;
I&#039;m making the code fall back to reading the old config entries if it can&#039;t find the new ones. The real problem is that new stock will also have to include config.txt entries for the old bluestar, so that old vehicles know what to do when they couple to this one. Yes, this means that the old tags will never actually go away, but at least TRS2006 doesn&#039;t whinge about them so hard as of SP1...&lt;br /&gt;
&lt;br /&gt;
===The Script===&lt;br /&gt;
&lt;br /&gt;
(under construction)&lt;br /&gt;
&lt;br /&gt;
[[Category:Modeling]]&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Vehicle_Attachment_Points&amp;diff=5777</id>
		<title>Vehicle Attachment Points</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Vehicle_Attachment_Points&amp;diff=5777"/>
		<updated>2013-12-10T22:14:25Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are &#039;&#039;points&#039;&#039; in 3D space giving information on various aspects of the train as follows:&lt;br /&gt;
&lt;br /&gt;
=Special Points=&lt;br /&gt;
==a.limfront==&lt;br /&gt;
* Marks the front of the train, used for coupling&lt;br /&gt;
* Should be roughly the same distance from origin as &#039;&#039;&#039;a.limback&#039;&#039;&#039;&lt;br /&gt;
* Bogeys can be further forward than &#039;&#039;&#039;a.limfront&#039;&#039;&#039; if desired&lt;br /&gt;
* Determines the forward headlight position&lt;br /&gt;
* Height above origin (or Z) = 0.89m (2’ 10.8”)&lt;br /&gt;
&lt;br /&gt;
==a.limback==&lt;br /&gt;
* Marks the rear of the train, used for coupling&lt;br /&gt;
* See &#039;&#039;&#039;a.limfront&#039;&#039;&#039;&lt;br /&gt;
* Height above origin (or Z) = 0.89m (2’ 10.8”)&lt;br /&gt;
&lt;br /&gt;
==a.bog0==&lt;br /&gt;
* Front bogey attachment&lt;br /&gt;
* Used for positioning the train on the track&lt;br /&gt;
* Positioned at absolute centre of front bogey&lt;br /&gt;
* Must be on the forward side of the origin (a.limfront side)&lt;br /&gt;
&lt;br /&gt;
==a.bog1==&lt;br /&gt;
* Rear bogey attachment&lt;br /&gt;
* Used for positioning the train on the track&lt;br /&gt;
* Positioned at absolute centre of rear bogey&lt;br /&gt;
* Must be on the rearward side of the origin (a.limback side)&lt;br /&gt;
&lt;br /&gt;
==a.bog (2, 3, etc)==&lt;br /&gt;
* Any other bogey attachments&lt;br /&gt;
&lt;br /&gt;
==a.exhaust (0, 1, etc..)==&lt;br /&gt;
* Smoke generator attachments (where needed)&lt;br /&gt;
&lt;br /&gt;
==a.ditch* (0, 1, etc..)==&lt;br /&gt;
* Ditch lights &#039;&#039;&#039;a.ditch0&#039;&#039;&#039;, &#039;&#039;&#039;a.ditch2&#039;&#039;&#039; The odd numbered light points flash together, alternating with the even numbered light points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==a.light* (0, 1, etc..)==&lt;br /&gt;
* Light “corona” attachments. On a locomotive use &#039;&#039;&#039;a.light0&#039;&#039;&#039;, &#039;&#039;&#039;a.light2&#039;&#039;&#039; (even numbers) for the forward lights, and &#039;&#039;&#039;a.light1&#039;&#039;&#039;, &#039;&#039;&#039;a.light3&#039;&#039;&#039; (odd numbers) for the rear lights. This allows the correct lights to show depending on running direction.&lt;br /&gt;
&lt;br /&gt;
==a.cabfront==&lt;br /&gt;
* Attachment point for the front cabin of a loco&lt;br /&gt;
* Located at the centre of cabin&lt;br /&gt;
&lt;br /&gt;
==a.cabback==&lt;br /&gt;
* Attachment point for the rear cabin of a loco. Use this for dual cab locomotives.&lt;br /&gt;
* Located at the centre of cabin&lt;br /&gt;
* Front/back cab toggled using the ‘Alt C’ key when using the internal camera mode.&lt;br /&gt;
&lt;br /&gt;
==a.pant (0, 1, etc..)==&lt;br /&gt;
* Attachment point for pantographs (where needed, i.e. Electric locos)&lt;br /&gt;
&lt;br /&gt;
==a.driver (0, 1, etc..)==&lt;br /&gt;
* Attachment point for driver mesh (0 is used for the first driver, 1 for the second driver in dual cab for instance). Currently, only &#039;&#039;&#039;a.driver&#039;&#039;&#039; 0 is supported. &lt;br /&gt;
&lt;br /&gt;
==a.outsideview (0, 1, etc..)==&lt;br /&gt;
* These are located external of the loco body mesh.&lt;br /&gt;
* The camera is positioned to face the negative Y direction of the attachment.&lt;br /&gt;
* Toggled using [ and ] using the internal camera mode after default interior camera view(s).&lt;br /&gt;
&lt;br /&gt;
==a.r.pivot/a.lever (sample names used only)==&lt;br /&gt;
* Special naming convention for attachment points that are to move with the animation of the asset.&lt;br /&gt;
* Refer to the CCG for information.&lt;br /&gt;
&lt;br /&gt;
==a.whistle==&lt;br /&gt;
* Attachment point for particle effects being emitted when the whistle key is pressed.&lt;br /&gt;
&lt;br /&gt;
==a.couple0==&lt;br /&gt;
* Front attachment point for ACS couplers, location is (0,Y,0) where Y is 0.46 metres inboard of a.limfront&lt;br /&gt;
&lt;br /&gt;
==a.couple1==&lt;br /&gt;
* Rear attachment point for ACS couplers, location is (0,Y,0) where Y is 0.46 metres inboard of a.limback&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=5757</id>
		<title>Junction Kit Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=5757"/>
		<updated>2013-11-22T19:27:49Z</updated>

		<summary type="html">&lt;p&gt;Andi06: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes on the Assets==&lt;br /&gt;
==Default Control==&lt;br /&gt;
By default clicking on a fixed track junction asset will only toggle the first referenced switch, usually item 0 in the junction-vertices table.  There is no way that the other nodes can be manually switched without script.  However the AI will be able to successfully negotiate the object no matter how many junction-vertices are defined.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The assets do not respond to the junction-direction button on the track tab in Surveyor and they cannot be switched on the minimap.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These drawbacks can only be addressed by Auran.&lt;br /&gt;
&lt;br /&gt;
==Script Library Control==&lt;br /&gt;
There is a button in the Properties dialogue which allows you to toggle through all of the possible settings for each asset.  This sets a new default for the session which is remembered across session saves.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Driver the AI is left to its own devices and should be able to switch the junctions properly without interference from the script.  Compound objects such as slips, crossovers and diamonds include mutexes which prevent the game from granting simultaneous permits for conflicting routes across the assets.  The script will monitor trains crossing these objects and will derail both trains if a collision is detected.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pressing J or ^J from a train will toggle the node nearest to the train and will set up any other junction nodes to suit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clicking on the mesh will toggle to the next available state.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is not possible to detect the difference between a mouse click on the mesh and a keypress from a train approaching the first node with 100% accuracy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Levers==&lt;br /&gt;
Levers are entirely decorative, the junctions are activated by a click on the main mesh. See [[Junction Lever Configuration]] for notes on creating these objects.&lt;br /&gt;
&lt;br /&gt;
==Junction Linking==&lt;br /&gt;
Links are ignored by the AI - they only operate when the junctions are manually switched.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asset Configuration==&lt;br /&gt;
&lt;br /&gt;
==config.txt: Tags &amp;amp; Containers==&lt;br /&gt;
* This is a list of tags and containers which relate to fixed track junctions.&lt;br /&gt;
* Tags in bold type are essential for correct operation of the Library.&lt;br /&gt;
* You will also need a mesh-table, junction-vertices and attached -track containers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Tag&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kind&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;fixedtrack&#039;&#039;&#039;&lt;br /&gt;
|This is mandatory, fixed junctions will not work as any other asset kind.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;use-named-track&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|This tag enables messages to be generated for scenery triggers attached to the junctions&lt;br /&gt;
|-&lt;br /&gt;
|use-gradient-track&lt;br /&gt;
|1&lt;br /&gt;
|This affects the way that TRS handles height adjustments.&lt;br /&gt;
|-&lt;br /&gt;
|rotate-yz-range&lt;br /&gt;
| -10,10&lt;br /&gt;
|Allows junctions to be rolled to align with a grade. This is optional but if you wish to implement it you will need to align your models along the X axis in GMax, horizontally on the &#039;page&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rollstep&lt;br /&gt;
|0.1&lt;br /&gt;
|Defines the minimum angular increment when junctions are rolled.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script-include-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|This is a pointer to the asset containing the script referenced by JKObject.gs.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The script file which you should drop into your asset folder&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;class&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The name of the script class within this file&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kuid-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;codelib&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|codelib is the script library.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;extensions {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;jk2-122285 {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;junction-type&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;default-state&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;}&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;junction-type&#039;&#039;&#039; (see below) defines the layout and behaviour of the junction.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;default-state&#039;&#039;&#039; (see below) defines the initial state of the junction when first placed in Surveyor, this defaults to 0 and can be altered in Surveyor.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-0&#039;&#039;&#039; defines the straight ahead direction for the first node in a single crossover. (0=left, 1=straight, 2=right) Defaults to 0 and applies to Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-1&#039;&#039;&#039; defines the straight ahead direction for the second node. Defaults to 0. Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==junction-type codes==&lt;br /&gt;
* A correct entry for this tag in the extensions table is essential for the script to recognise what actions need to be taken in response to conditions encountered.&lt;br /&gt;
* The sub-table should remain as jk2-122285, do not alter it to your own kuid.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
| -3&lt;br /&gt;
|Placeholder used by the script to reference 3 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -2&lt;br /&gt;
|Placeholder used by the script to reference 2 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -1&lt;br /&gt;
|Generic clickable object such as Signal Box Asset&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
|Fixed track object with no animations, typically this would be a spacer which has no animations but which which needs scripted ability (such as ballast hiding) to match other assets.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|Diamond crossing&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|Catch point (Derail)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
|Two way point&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
|Three way point&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
|Single slip&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
|Double slip&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
|Double crossover&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
|Single Crossover (UK Trailing)&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
|Single Crossover (UK Leading)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|Other types may be defined and added to this list as the project progresses.&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==default-state codes==&lt;br /&gt;
* These are not always the same as the junction direction constants defined in TRS.&lt;br /&gt;
* For multi junction objects, to allow the script to understand which node is which they must be defined in config.txt in the same order as set out in the diagrams below.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|junction-type&lt;br /&gt;
|Legal Values&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Not relevant&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = centre&amp;lt;br&amp;gt;2 = right&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[Image:SingleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[Image:DoubleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[Image:DoubleCrossover.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0 = straight ahead&amp;lt;br&amp;gt;1 = crossover position&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==mesh table containers==&lt;br /&gt;
* The library deals with animations and hiding of meshes based on the mesh names.&lt;br /&gt;
* The actual content of the mesh containers is of no relevance to the script except where noted below.&lt;br /&gt;
* The following special names are recognised.&lt;br /&gt;
* Additional special mesh names will be added as the project develops.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Mesh Name&lt;br /&gt;
|Script Action&lt;br /&gt;
|-&lt;br /&gt;
|template#&lt;br /&gt;
|These are marker meshes which can be used for alignment or simply to indicate the location of node 1. You can provide any number of thesem starting with template1, template2,...,templaten. As long as there are no breaks in the numeric sequence each mesh will be displayed or hidden as appropriate.  These meshes are only ever visible in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|blade#&lt;br /&gt;
|These should contain mesh and animation references. Use blade1 for meshes attached to the first node and so on. The library supports both *.im and *.lm meshes.&lt;br /&gt;
|-&lt;br /&gt;
|ballast#&lt;br /&gt;
|If meshes named ballast are supplied they can be hidden via a property object option. Again you can serialise the containers to have the script act on more than one mesh.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Junction_Kit&amp;diff=5756</id>
		<title>Junction Kit</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Junction_Kit&amp;diff=5756"/>
		<updated>2013-11-22T19:20:12Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Replaced content with &amp;quot;Help and Information on AJS Junction Kit Mark 2
Under Construction


Junction Kit Configuration Notes on configuration of Assets&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Help and Information on AJS Junction Kit Mark 2&lt;br /&gt;
Under Construction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Junction Kit Configuration]] Notes on configuration of Assets&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=5755</id>
		<title>Junction Kit Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Junction_Kit_Configuration&amp;diff=5755"/>
		<updated>2013-11-22T19:15:18Z</updated>

		<summary type="html">&lt;p&gt;Andi06: Created page with &amp;quot;==Notes on the Preview Assets== ==Default Control== By default clicking on a fixed track junction asset will only toggle the first referenced switch, usually item 0 in the jun...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes on the Preview Assets==&lt;br /&gt;
==Default Control==&lt;br /&gt;
By default clicking on a fixed track junction asset will only toggle the first referenced switch, usually item 0 in the junction-vertices table.  There is no way that the other nodes can be manually switched without script.  However the AI will be able to successfully negotiate the object no matter how many junction-vertices are defined.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The assets do not respond to the junction-direction button on the track tab in Surveyor and they cannot be switched on the minimap.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These drawbacks can only be addressed by Auran.&lt;br /&gt;
&lt;br /&gt;
==Script Library Control==&lt;br /&gt;
There is a button in the Properties dialogue which allows you to toggle through all of the possible settings to set a new default for the session.  These settings are remembered across session saves.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Driver the AI is left to its own devices and should be able to switch the junctions properly without interference from the script.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pressing J or ^J from a train will toggle the node nearest to the train and will set up any other junction nodes to suit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clicking on the mesh will toggle to the next available state.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is not possible to detect the difference between a mouse click on the mesh and a keypress from a train approaching the first node with 100% accuracy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Levers==&lt;br /&gt;
Levers are entirely decorative, the junctions are activated by a click on the main mesh.&lt;br /&gt;
&lt;br /&gt;
==Junction Linking==&lt;br /&gt;
Links are ignored by the AI - they only operate when the junctions are manually switched.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asset Configuration==&lt;br /&gt;
&lt;br /&gt;
==config.txt: Tags &amp;amp; Containers==&lt;br /&gt;
* This is a list of tags and containers which relate to fixed track junctions.&lt;br /&gt;
* Tags in bold type are essential for correct operation of the Library.&lt;br /&gt;
* You will also need a mesh-table, junction-vertices and attached -track containers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Tag&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kind&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;fixedtrack&#039;&#039;&#039;&lt;br /&gt;
|This is mandatory, fixed junctions will not work as any other asset kind.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;use-named-track&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|This tag enables messages to be generated for scenery triggers attached to the junctions&lt;br /&gt;
|-&lt;br /&gt;
|use-gradient-track&lt;br /&gt;
|1&lt;br /&gt;
|This affects the way that TRS handles height adjustments.&lt;br /&gt;
|-&lt;br /&gt;
|rotate-yz-range&lt;br /&gt;
| -10,10&lt;br /&gt;
|Allows junctions to be rolled to align with a grade. This is optional but if you wish to implement it you will need to align your models along the X axis in GMax, horizontally on the &#039;page&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rollstep&lt;br /&gt;
|0.1&lt;br /&gt;
|Defines the minimum angular increment when junctions are rolled.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script-include-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|This is a pointer to the asset containing the script referenced by JKObject.gs.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The script file which you should drop into your asset folder&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;class&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The name of the script class within this file&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kuid-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;codelib&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|codelib is the script library.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;extensions {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;jk2-122285 {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;junction-type&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;default-state&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;}&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;junction-type&#039;&#039;&#039; (see below) defines the layout and behaviour of the junction.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;default-state&#039;&#039;&#039; (see below) defines the initial state of the junction when first placed in Surveyor, this defaults to 0 and can be altered in Surveyor.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-0&#039;&#039;&#039; defines the straight ahead direction for the first node in a single crossover. (0=left, 1=straight, 2=right) Defaults to 0 and applies to Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-1&#039;&#039;&#039; defines the straight ahead direction for the second node. Defaults to 0. Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==junction-type codes==&lt;br /&gt;
* A correct entry for this tag in the extensions table is essential for the script to recognise what actions need to be taken in response to conditions encountered.&lt;br /&gt;
* The sub-table should remain as jk2-122285, do not alter it to your own kuid.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
| -3&lt;br /&gt;
|Placeholder used by the script to reference 3 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -2&lt;br /&gt;
|Placeholder used by the script to reference 2 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -1&lt;br /&gt;
|Generic clickable object such as Signal Box Asset&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
|Fixed track object with no animations, typically this would be a spacer which has no animations but which which needs scripted ability (such as ballast hiding) to match other assets.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|Diamond crossing&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|Catch point (Derail)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
|Two way point&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
|Three way point&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
|Single slip&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
|Double slip&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
|Double crossover&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
|Single Crossover (UK Trailing)&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
|Single Crossover (UK Leading)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|Other types may be defined and added to this list as the project progresses.&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==default-state codes==&lt;br /&gt;
* These are not always the same as the junction direction constants defined in TRS.&lt;br /&gt;
* For multi junction objects, to allow the script to understand which node is which they must be defined in config.txt in the same order as set out in the diagrams below.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|junction-type&lt;br /&gt;
|Legal Values&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Not relevant&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = centre&amp;lt;br&amp;gt;2 = right&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[Image:SingleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[Image:DoubleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[Image:DoubleCrossover.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0 = straight ahead&amp;lt;br&amp;gt;1 = crossover position&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==mesh table containers==&lt;br /&gt;
* The library deals with animations and hiding of meshes based on the mesh names.&lt;br /&gt;
* The actual content of the mesh containers is of no relevance to the script except where noted below.&lt;br /&gt;
* The following special names are recognised.&lt;br /&gt;
* Additional special mesh names will be added as the project develops.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Mesh Name&lt;br /&gt;
|Script Action&lt;br /&gt;
|-&lt;br /&gt;
|template#&lt;br /&gt;
|These are marker meshes which can be used for alignment or simply to indicate the location of node 1. You can provide any number of thesem starting with template1, template2,...,templaten. As long as there are no breaks in the numeric sequence each mesh will be displayed or hidden as appropriate.  These meshes are only ever visible in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|blade#&lt;br /&gt;
|These should contain mesh and animation references. Use blade1 for meshes attached to the first node and so on. The library supports both *.im and *.lm meshes.&lt;br /&gt;
|-&lt;br /&gt;
|ballast#&lt;br /&gt;
|If meshes named ballast are supplied they can be hidden via a property object option. Again you can serialise the containers to have the script act on more than one mesh.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Junction_Kit&amp;diff=5753</id>
		<title>Junction Kit</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Junction_Kit&amp;diff=5753"/>
		<updated>2013-11-22T10:13:43Z</updated>

		<summary type="html">&lt;p&gt;Andi06: /* junction-type codes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes on the Preview Assets==&lt;br /&gt;
==Default Control==&lt;br /&gt;
By default clicking on a fixed track junction asset will only toggle the first referenced switch, usually item 0 in the junction-vertices table.  There is no way that the other nodes can be manually switched without script.  However the AI will be able to successfully negotiate the object no matter how many junction-vertices are defined.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The assets do not respond to the junction-direction button on the track tab in Surveyor and they cannot be switched on the minimap.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These drawbacks can only be addressed by Auran.&lt;br /&gt;
&lt;br /&gt;
==Script Library Control==&lt;br /&gt;
There is a button in the Properties dialogue which allows you to toggle through all of the possible settings to set a new default for the session.  These settings are remembered across session saves.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Driver the AI is left to its own devices and should be able to switch the junctions properly without interference from the script.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pressing J or ^J from a train will toggle the node nearest to the train and will set up any other junction nodes to suit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clicking on the mesh will toggle to the next available state.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is not possible to detect the difference between a mouse click on the mesh and a keypress from a train approaching the first node with 100% accuracy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Levers==&lt;br /&gt;
Levers are entirely decorative, the junctions are activated by a click on the main mesh.&lt;br /&gt;
&lt;br /&gt;
==Junction Linking==&lt;br /&gt;
Links are ignored by the AI - they only operate when the junctions are manually switched.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asset Configuration==&lt;br /&gt;
&lt;br /&gt;
==config.txt: Tags &amp;amp; Containers==&lt;br /&gt;
* This is a list of tags and containers which relate to fixed track junctions.&lt;br /&gt;
* Tags in bold type are essential for correct operation of the Library.&lt;br /&gt;
* You will also need a mesh-table, junction-vertices and attached -track containers.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Tag&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kind&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;fixedtrack&#039;&#039;&#039;&lt;br /&gt;
|This is mandatory, fixed junctions will not work as any other asset kind.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;use-named-track&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|This tag enables messages to be generated for scenery triggers attached to the junctions&lt;br /&gt;
|-&lt;br /&gt;
|use-gradient-track&lt;br /&gt;
|1&lt;br /&gt;
|This affects the way that TRS handles height adjustments.&lt;br /&gt;
|-&lt;br /&gt;
|rotate-yz-range&lt;br /&gt;
| -10,10&lt;br /&gt;
|Allows junctions to be rolled to align with a grade. This is optional but if you wish to implement it you will need to align your models along the X axis in GMax, horizontally on the &#039;page&#039;&lt;br /&gt;
|-&lt;br /&gt;
|rollstep&lt;br /&gt;
|0.1&lt;br /&gt;
|Defines the minimum angular increment when junctions are rolled.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script-include-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;0&#039;&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|This is a pointer to the asset containing the script referenced by JKObject.gs.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;script&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The script file which you should drop into your asset folder&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;class&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;quot;JKObject&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
|The name of the script class within this file&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;kuid-table {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;codelib&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&amp;lt;kuid:122285:79000&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|codelib is the script library.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;extensions {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;jk2-122285 {&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;junction-type&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;default-state&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;direction-1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;}&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
|&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
integer&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;lt;br&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;junction-type&#039;&#039;&#039; (see below) defines the layout and behaviour of the junction.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;default-state&#039;&#039;&#039; (see below) defines the initial state of the junction when first placed in Surveyor, this defaults to 0 and can be altered in Surveyor.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-0&#039;&#039;&#039; defines the straight ahead direction for the first node in a single crossover. (0=left, 1=straight, 2=right) Defaults to 0 and applies to Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;direction-1&#039;&#039;&#039; defines the straight ahead direction for the second node. Defaults to 0. Junction-type 8 only.&amp;lt;br&amp;gt;&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==junction-type codes==&lt;br /&gt;
* A correct entry for this tag in the extensions table is essential for the script to recognise what actions need to be taken in response to conditions encountered.&lt;br /&gt;
* The sub-table should remain as jk2-122285, do not alter it to your own kuid.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Value&lt;br /&gt;
|Description&lt;br /&gt;
|-&lt;br /&gt;
| -3&lt;br /&gt;
|Placeholder used by the script to reference 3 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -2&lt;br /&gt;
|Placeholder used by the script to reference 2 way spline junctions&lt;br /&gt;
|-&lt;br /&gt;
| -1&lt;br /&gt;
|Generic clickable object such as Signal Box Asset&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
|Fixed track object with no animations, typically this would be a spacer which has no animations but which which needs scripted ability (such as ballast hiding) to match other assets.&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|Diamond crossing&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|Catch point (Derail)&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
|Two way point&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
|Three way point&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
|Single slip&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
|Double slip&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
|Double crossover&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
|Single Crossover (UK Trailing)&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
|Single Crossover (UK Leading)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;nbsp;&lt;br /&gt;
|Other types may be defined and added to this list as the project progresses.&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==default-state codes==&lt;br /&gt;
* These are not always the same as the junction direction constants defined in TRS.&lt;br /&gt;
* For multi junction objects, to allow the script to understand which node is which they must be defined in config.txt in the same order as set out in the diagrams below.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|junction-type&lt;br /&gt;
|Legal Values&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Not relevant&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = right&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|0 = left&amp;lt;br&amp;gt;1 = centre&amp;lt;br&amp;gt;2 = right&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[Image:SingleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[Image:DoubleSlip.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[Image:DoubleCrossover.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|0 = straight ahead&amp;lt;br&amp;gt;1 = crossover position&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==mesh table containers==&lt;br /&gt;
* The library deals with animations and hiding of meshes based on the mesh names.&lt;br /&gt;
* The actual content of the mesh containers is of no relevance to the script except where noted below.&lt;br /&gt;
* The following special names are recognised.&lt;br /&gt;
* Additional special mesh names will be added as the project develops.&lt;br /&gt;
{{TableHeader|width=95%|margin=15px}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;150&amp;quot;|Mesh Name&lt;br /&gt;
|Script Action&lt;br /&gt;
|-&lt;br /&gt;
|template#&lt;br /&gt;
|These are marker meshes which can be used for alignment or simply to indicate the location of node 1. You can provide any number of thesem starting with template1, template2,...,templaten. As long as there are no breaks in the numeric sequence each mesh will be displayed or hidden as appropriate.  These meshes are only ever visible in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|blade#&lt;br /&gt;
|These should contain mesh and animation references. Use blade1 for meshes attached to the first node and so on. The library supports both *.im and *.lm meshes.&lt;br /&gt;
|-&lt;br /&gt;
|ballast#&lt;br /&gt;
|If meshes named ballast are supplied they can be hidden via a property object option. Again you can serialise the containers to have the script act on more than one mesh.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Andi06</name></author>
	</entry>
</feed>