<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.bvestation.com/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages</id>
		<title>BVEStation Wiki - New pages [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.bvestation.com/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages"/>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Special:NewPages"/>
		<updated>2026-06-15T08:01:56Z</updated>
		<subtitle>From BVEStation Wiki</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Hmmsim</id>
		<title>Hmmsim</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Hmmsim"/>
				<updated>2015-02-07T00:29:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;Recently, a new mobile train simulator dubbed Hmmsim came out a few months ago with the developer pledging Hmmsim to be compatible with existing BVE/openBVE routes.  It can be...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recently, a new mobile train simulator dubbed Hmmsim came out a few months ago with the developer pledging Hmmsim to be compatible with existing BVE/openBVE routes.&lt;br /&gt;
&lt;br /&gt;
It can be downloaded from the [https://itunes.apple.com/us/app/hmmsim-train-simulator/id863234164?l=ko&amp;amp;ls=1&amp;amp;mt=8 App Store (iOS)] and [https://play.google.com/store/apps/details?id=com.Jeminie.Hmmsim Google Play (Android)] for free. The developer has also announced a version for Windows to come soon as well.&lt;br /&gt;
&lt;br /&gt;
A converter for existing BVE routes can be downloaded [http://m.blog.naver.com/ddc01137/220094899113 here] to make them playable in Hmmsim&lt;br /&gt;
&lt;br /&gt;
== Current List of Compatible Routes ==&lt;br /&gt;
&lt;br /&gt;
*J/Z to Broad Street&lt;br /&gt;
*N/Q to Coney Island&lt;br /&gt;
*B to Brighton Beach&lt;br /&gt;
*D to Bay 50 Street&lt;br /&gt;
*F to 179 Street&lt;br /&gt;
&lt;br /&gt;
If you see any compatible routes, please list them [http://forums.bvestation.com/index.php?topic=2670.0 here]&lt;br /&gt;
&lt;br /&gt;
== Current List of Compatible Trains ==&lt;br /&gt;
&lt;br /&gt;
*To Be Announced&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Adding_New_Tutorials_On_This_Wiki</id>
		<title>Adding New Tutorials On This Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Adding_New_Tutorials_On_This_Wiki"/>
				<updated>2015-02-07T00:29:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;It's always good to see a new tutorial on the wiki. If you have a tutorial that you made and it was made in a non-wiki site, or if the tutorial you got from a site is '''not''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It's always good to see a new tutorial on the wiki. If you have a tutorial that you made and it was made in a non-wiki site, or if the tutorial you got from a site is '''not''' copyrighted, there is an easy way to port HTML-based web pages into the mediawiki format. Please remember to give credit:&lt;br /&gt;
&lt;br /&gt;
==Step 1==&lt;br /&gt;
Go to this site below:&lt;br /&gt;
&lt;br /&gt;
[http://toolserver.org/~diberri/cgi-bin/html2wiki/index.cgi HTML to MediaWiki]&lt;br /&gt;
&lt;br /&gt;
Select RAW HTML. Save the webpage containing the tutorial you want.&lt;br /&gt;
&lt;br /&gt;
After saving the page into preferably your desktop, right click the file and highlight open with and click on Notepad.&lt;br /&gt;
&lt;br /&gt;
==Step 2==&lt;br /&gt;
Then, press CTRL+A (or edit&amp;gt;select all) to highlight the HTML code. Then press CTRL+C (or edit&amp;gt;copy) and on the provided input box on the converter, press CTRL+V (or edit&amp;gt;paste)&lt;br /&gt;
&lt;br /&gt;
Go to the drop down menu where it says &amp;quot;Dialect&amp;quot;, and select Mediawiki.&lt;br /&gt;
&lt;br /&gt;
After this, click on Convert HTML to wiki markup.&lt;br /&gt;
&lt;br /&gt;
==Step 3==&lt;br /&gt;
You will see a new box stating &amp;quot;MediaWiki Markup&amp;quot;. Click on that box and  press CTRL+A (or edit&amp;gt;select all) to highlight the MediaWiki markup code. Then press CTRL+C (or edit&amp;gt;copy) and on the new article page you want to make, select the text box and press CTRL+V (or edit&amp;gt;paste) to paste your tutorial. &lt;br /&gt;
&lt;br /&gt;
==Step 4==&lt;br /&gt;
Click on show preview to check whether it appears the way you want it or not. You should also consider revising before clicking Save Page. Once you have ensured it appears the way you want it, click on save page.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Generations_(BVE_Routes_and_Trains)</id>
		<title>Generations (BVE Routes and Trains)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Generations_(BVE_Routes_and_Trains)"/>
				<updated>2015-02-07T00:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;NYCTBVE has gone through several generations, in terms of graphics and realism. It is definitely interesting to see how we have progressed from our beginnings. Routes must loo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NYCTBVE has gone through several generations, in terms of graphics and realism. It is definitely interesting to see how we have progressed from our beginnings. Routes must look like, or better than that generation to fall under it. These definitions, however, do not take into account the quality and precision of the work, as the route can be accurate, and use photo-realistic textures, but fail to have the quality appeal of clean looks, and side-by-side photo comparison. This can be seen with oversized/wrongly measured textures, visual glitches, etc. This term was defined by ipaclansite to grade routes based on their graphical appeal after he released the southbound G.&lt;br /&gt;
&lt;br /&gt;
==First Generation==&lt;br /&gt;
[[File:Nycta-e1.jpg|200px|thumb|right|The original E Route]]&lt;br /&gt;
The first generation of NYCTBVE was very simple in terms of graphics, stations weren't detailed, and used very little objects. Every station would look the same, and most of the time you would depend on BVE to tell you where you were. Distances were also inaccurate, but there were limitations during this time, and this was the best we had. First Generation routes are no longer made.&lt;br /&gt;
One of the most detailed first generation routes is the 7 and the L, which drew the line, and brought us into the second generation of NYCTBVE routes.&lt;br /&gt;
&lt;br /&gt;
As for the trains, The Trains that fall under this generation have no exterior and thus have old sounds&lt;br /&gt;
&lt;br /&gt;
Routes on BVEStation which fall under first generation:&lt;br /&gt;
&lt;br /&gt;
*E Manhattan bound&lt;br /&gt;
*S Grand Central Shuttle&lt;br /&gt;
*N Queensbound&lt;br /&gt;
*G Queensbound&lt;br /&gt;
*S Franklin Avenue Shuttle&lt;br /&gt;
*7 Line&lt;br /&gt;
*L Line&lt;br /&gt;
&lt;br /&gt;
Trains that currently fall in this &lt;br /&gt;
*R62&lt;br /&gt;
These routes are from the 2001-2004 era.&lt;br /&gt;
&lt;br /&gt;
==Second Generation==&lt;br /&gt;
[[File:1275108988.png|200px|thumb|right|181st On the A]]&lt;br /&gt;
&lt;br /&gt;
The second generation of NYCTBVE obviously got more sophisticated, with new objects, and accurate track distances, and curves. During this time, Phantom909 joined and was the leading force of this new advancement. Second Generation NYCTBVE routes, featured more details, including locations of stairs, benches, trash bins, maps, and unique station walls for each station. Most of our routes fall into the second generation category. Most newer generation routes, usually begin as a second generation as a skeleton, which is then detailed into one of the higher generation level routes.&lt;br /&gt;
&lt;br /&gt;
As for the trains, The Trains that fall under this generation have an exterior and have new sounds but no interior&lt;br /&gt;
&lt;br /&gt;
Routes that currently fall into this category:&lt;br /&gt;
&lt;br /&gt;
*2 Line&lt;br /&gt;
*A Line&lt;br /&gt;
*C Line&lt;br /&gt;
*S Franklin Avenue Shuttle&lt;br /&gt;
&lt;br /&gt;
Trains That Fall into this Category&lt;br /&gt;
&lt;br /&gt;
*Low-V (by PuertoRican88)&lt;br /&gt;
*R1 (by PuertoRican88)&lt;br /&gt;
*R10 (By PuertoRican88)&lt;br /&gt;
*R15 (by Puertorican88)&lt;br /&gt;
*R16 (by Puertorican88)&lt;br /&gt;
*R30 (By Puertorican88)&lt;br /&gt;
*R33WF (By PuertroRican88)&lt;br /&gt;
*PA-5 (By Puertorican88)&lt;br /&gt;
*H4 (By Puertorican88)&lt;br /&gt;
*H5 (By Puertorican88)&lt;br /&gt;
*H6 (By Puertorican88)&lt;br /&gt;
*T1 (By Puertorican88)&lt;br /&gt;
*TR(Toronto Rocket) (By Puertorican88)&lt;br /&gt;
**Note that PuertoRican88's trains fall into this category for low-memory usage and faster loading times to support legacy PC's&lt;br /&gt;
&lt;br /&gt;
BETA Trains (for the time being until interiors are made, however still photorealistic)&lt;br /&gt;
*R17 (by CT1660), includes the garbage train variation&lt;br /&gt;
*R21/R22 (by CT1660), includes the R17/R21 GEL train&lt;br /&gt;
*R33ML &amp;amp; R33WF (by CT1660)&lt;br /&gt;
*R68 (by CT1660)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These routes are from the 2004-2007 Era.&lt;br /&gt;
&lt;br /&gt;
==Third Generation==&lt;br /&gt;
[[File:1293834552.png|200px|thumb|right|Flushing Avenue on the G]]&lt;br /&gt;
&lt;br /&gt;
The third generation of NYCTBVE gets even more advanced, with digitally redrawn photo textures, along with the accuracy of second generation routes. They may contain real photo textures, but contain more digitally redrawn ones than photos. These routes are significantly more detailed, and visual enhancements compared to its predecessors. These routes usually dont have the visuals of photo-textured routes, but they are close to their photo counterparts. They can be placed side by side to a photo and look comparable. Routes in this generation may have derived from a skeleton, created during the second generation age.&lt;br /&gt;
&lt;br /&gt;
As for the trains, The Trains that fall under this generation have an exterior with better texture and have new sounds. An interior might be included&lt;br /&gt;
&lt;br /&gt;
Routes that fall into this category:&lt;br /&gt;
&lt;br /&gt;
*G Line&lt;br /&gt;
&lt;br /&gt;
Routes that will be third generation:&lt;br /&gt;
*6 Line (border line)&lt;br /&gt;
&lt;br /&gt;
These routes are from the 2007-2009 Era.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Trains That Fall into this Category&lt;br /&gt;
*R38 (by DJ Hammers, will be upgraded to 5 ½ generation)&lt;br /&gt;
*R142 (by PuertoRican88)&lt;br /&gt;
*R143 (by PuertoRican88)&lt;br /&gt;
*R160A/B (by PuertoRican88)&lt;br /&gt;
*R188 (by PuertoRican88)&lt;br /&gt;
*PA 4 (by PuertoRican88)&lt;br /&gt;
*All of PuertoRican88's fictional trains&lt;br /&gt;
**Note that PuertoRican88's trains fall into this category for low-memory usage and faster loading times to support legacy PC's&lt;br /&gt;
&lt;br /&gt;
==Fourth Generation==&lt;br /&gt;
[[File:ConeyIsland.png|200px|thumb|right|Stillwell Avenue on the F]]&lt;br /&gt;
The fourth generation of NYCTBVE builds upon the third generation, using photo-textures, or photo-drawing hybrids. The hybrids usually contain a mixture of both photo-textures, and digitally redrawn textures. Mostly, they contain more photo-textures than redrawn textures. This takes the third generation to the next level of visual enhancements, and look alot more visually appealing. Routes in this generation may have derived from a skeleton, created during the second generation age. Routes in this category are comparable to their actual photo counterparts like the third generation routes. Routes in this generation are preferable due to their flexibility between photo and drawn textures. They can also feature use of textures from elsewhere and reworked into the route.&lt;br /&gt;
&lt;br /&gt;
As for the trains, The Trains that fall under this generation have an exterior with better texture and have new sounds with interior&lt;br /&gt;
&lt;br /&gt;
Routes that fall into this category:&lt;br /&gt;
*B Line (Brooklyn Bound)&lt;br /&gt;
*D Line (Brooklyn Bound)&lt;br /&gt;
*F Line (Queens Bound)&lt;br /&gt;
*H Line (Far Rockaway Bound)&lt;br /&gt;
*N Line (Brooklyn Bound)&lt;br /&gt;
*Q Line (Brooklyn Bound)&lt;br /&gt;
*V Line (Queens Bound)&lt;br /&gt;
*W Line (Queens bound)&lt;br /&gt;
&lt;br /&gt;
Routes that will be 4th generation:&lt;br /&gt;
&lt;br /&gt;
*R Line&lt;br /&gt;
*4 Line&lt;br /&gt;
*Updated C Line&lt;br /&gt;
*E Line (Both Manhattan/Queens Bound)&lt;br /&gt;
&lt;br /&gt;
These routes are from 2008-Present.&lt;br /&gt;
&lt;br /&gt;
==Four and a halfth Generation==&lt;br /&gt;
&lt;br /&gt;
4.5th generation routes will feature up to 85%+ photo textures, objects, and structures are to be accurately depicted, and the route may also finally feature working safety systems. The tracks, tunnels and columns should also be replaced with photo-realistic ones, as seen in some of the London Underground routes. Anything under this category would classify as a fifth generation route.&lt;br /&gt;
&lt;br /&gt;
==Fifth Generation==&lt;br /&gt;
&lt;br /&gt;
Routes that are almost incomprehensible compared to their realistic photo counterparts. An example of a route meeting this definition is the Birmingham Cross-City South in development on RailSimRoutes [1]&lt;br /&gt;
It is not possible for a fictional route to be fifth generation unless it has elements that can be compared to actual photos or locations.&lt;br /&gt;
&lt;br /&gt;
Routes that approach or meet the 5th Generation Standard&lt;br /&gt;
*Q&lt;br /&gt;
&lt;br /&gt;
==Fifth and a halfth Genration==&lt;br /&gt;
[[File:OpenBve_2012-06-09_16-48-44-18.png|200px|thumb|right|The R46 Exterior, a highly detailed exterior and interior. Note the level of detail]]&lt;br /&gt;
&lt;br /&gt;
While this applies for trains made for OpenBVE, they still fall under &amp;quot;Fifth Generation&amp;quot;, however, the exterior/interior views have more level of detail and more accurate animation. May be either hand-coded, made in Google Sketchup or Blender, or a hybrid of both.&lt;br /&gt;
&lt;br /&gt;
The '''5 1/2''' generation trains available for download are:&lt;br /&gt;
&lt;br /&gt;
*R46 by error46146, Rikabs and [CT1660]&lt;br /&gt;
*R16 by [CT1660]&lt;br /&gt;
*R32 by Mudwrestle&lt;br /&gt;
*R38 by DJ Hammers / Mudwrestle&lt;br /&gt;
&lt;br /&gt;
Trains to be 5 1/2 generation:&lt;br /&gt;
&lt;br /&gt;
*IRT SMEE Fleet Exteriors (R12/R14/R15/R17/R21/R22/R26/R28/R29/R33ML/R33WF/R36ML/R36WF) by [CT1660] &amp;amp; Mudwrestle&lt;br /&gt;
*The Train Of Many Colors by DJ Hammers, Mr. Railfan and [CT1660]&lt;br /&gt;
*R142/R142A by BStyles&lt;br /&gt;
*Class 323 (new exterior/interior in development) by RailsimRoutes&lt;br /&gt;
*R10 by Mudwrestle&lt;br /&gt;
*R11/34 by Mudwrestle&lt;br /&gt;
*R27/R30 by Mudwrestle&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/DLL_Tricks</id>
		<title>DLL Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/DLL_Tricks"/>
				<updated>2015-02-07T00:28:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;The dll tricks will allow select computers to run BVE without any problems on Vista.  1. 3 Dll files will need to be downloaded '''[http://www.dlldump.com/download-dll-files_n...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The dll tricks will allow select computers to run BVE without any problems on Vista.&lt;br /&gt;
&lt;br /&gt;
1. 3 Dll files will need to be downloaded '''[http://www.dlldump.com/download-dll-files_new.php/dllfiles/D/dx7vb.dll/5.03.2600.2180/download.html dx7vb.dll]''', '''[http://www.dlldump.com/download-dll-files_new.php/dllfiles/D/dx8vb.dll/5.03.2600.2180/download.html dx8vb.dll]''', '''[http://www.dlldump.com/download-dll-files_new.php/dllfiles/D/d3drm.dll/5.1.2600.0/download.html d3drm.dll]'''&lt;br /&gt;
&lt;br /&gt;
2. If you have Windows Vista 32bit place the 3 files in the C:\Windows\System32 directory. If you have Windows Vista 64bit place the 3 files in the c:\windows\syswow64 directory.&lt;br /&gt;
&lt;br /&gt;
3. Go to Start, in the search box type in CMD, right click cmd.exe and run as administrator.&lt;br /&gt;
&lt;br /&gt;
4a. '''On 32 bit systems (only otherwise check 4b)''' - In the command prompt type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  regsvr32 dx7vb.dll&lt;br /&gt;
   &amp;lt;Then hit enter (It should say the dll register succeeded)&amp;gt;&lt;br /&gt;
   regsvr32 dx8vb.dll&lt;br /&gt;
   &amp;lt;Then hit enter (It should say the dll register succeeded)&amp;gt;&lt;br /&gt;
   exi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4b. '''On 64 bit systems (only)''' - In the command prompt type in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
cd c:\windows\syswow64 &amp;lt;enter&amp;gt;&lt;br /&gt;
    regsvr32 dx7vb.dll    &amp;lt;enter&amp;gt;&lt;br /&gt;
    regsvr32 dx8vb.dll      &amp;lt;enter&amp;gt;&lt;br /&gt;
    exit          &amp;lt;enter&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Give BVE a try.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Selected Systems ==&lt;br /&gt;
&lt;br /&gt;
Windows Vista on a ATI based Video Card will work without a hitch.&lt;br /&gt;
&lt;br /&gt;
Windows Vista on a nVidia based Video Card fails to work (The panel shows, but nothing on the track is displayed or gray/white). Running BVE 2 in 256 bit color mode however does work.&lt;br /&gt;
&lt;br /&gt;
It has been said that Windows 7 is able to run BVE with or without the DLL tricks. Although these users were also ATI as well, and no hope in sight for nVidia users.&lt;br /&gt;
&lt;br /&gt;
== Alternatives to the DLL Tricks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following are proven methods/alternatives which work for running BVE on Vista:&lt;br /&gt;
&lt;br /&gt;
*Run BVE in 256 bit color mode, the color will be terrible, but oddly enough it works for nVidia users on Vista. Aside from BVE saying it could not change to HAL.&lt;br /&gt;
&lt;br /&gt;
*Install Windows XP, removing Vista, this will replace your existing Windows Vista installation, this is recommended if you have a copy of Windows XP laying around, and you haven't done anything with your Vista partition. You are to do this at your own risk.&lt;br /&gt;
&lt;br /&gt;
*Install Windows XP as Dual Boot along with Vista, much safer solution, and uses alot more space, recommended if you have a copy of Windows XP laying around, and you have used Windows Vista frequently, still things can happen, and do this at your own risk.&lt;br /&gt;
&lt;br /&gt;
*Use Virtual PC and Install Windows XP on that, this is probably the safest bet, with your copy of Windows XP, you can install it on a Virtual PC, performance however will take a big hit, as your resources also go toward emulating the operating system.&lt;br /&gt;
&lt;br /&gt;
*Use OpenBVE, with this Open Source BVE alternative you can run most routes along with newer routes, with minor differences. The program is fully compatible with Windows Vista, and other operating systems, that BVE once couldn't be able to run on.&lt;br /&gt;
&lt;br /&gt;
== Other Warnings ==&lt;br /&gt;
&lt;br /&gt;
The newer ATI HD cards with support for DirectX 10, will experience graphical glitches if run on Windows XP.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Multiplayer</id>
		<title>Multiplayer</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Multiplayer"/>
				<updated>2015-02-07T00:28:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
OpenBVE Multiplayer Extension was written by [[User:Kevin | ipaclansite]], and adds a multiplayer feature to the game.  The program is open source and can be freely downloaded at BVEStation and/or github.  The Multiplayer Extension works by taking control of the game's pretrain and AI feature.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
With the lack of multiplayer train simulators in the market at the time, and the Open Source nature of OpenBVE, there was an interest in a multiplayer feature for OpenBVE.  It first started out as an April Fools joke on BVEStation, with OpenBVE's option menu showing a new option for multiplayer.  It was also requested on the official OpenBVE Forums (no longer online) as a permanent feature for OpenBVE, but was ultimately rejected by michelle, the former head developer of OpenBVE.  ipaclansite would decide to add the multiplayer feature himself.&lt;br /&gt;
==Versions==&lt;br /&gt;
Currently there are two versions written for the game, the original version and a current version, both are internally similar, but rely on a different server model.&lt;br /&gt;
===Original Version===&lt;br /&gt;
The original version of OpenBVE Multiplayer Classic was written by taking snippet code from a chat program.  OpenBVE would capture the distance information of the train ahead of the player from the server and would provide this information for all users.  There was also a psuedo-signalling system, that was external, with a separate form.  This version would eventually have limited support for actually utilizing the pretrain to display other users.&lt;br /&gt;
&lt;br /&gt;
The original version was very buggy due to the use of code snippet taken from another website, and was built mainly as a proof of concept only.  This version allows players to connect to a single route on a single individual server.&lt;br /&gt;
&lt;br /&gt;
===Second Version===&lt;br /&gt;
The current version of OpenBVE Multiplayer Codename Newtown was written using a centralized database system, which acts as the server.  OpenBVE would capture the distance information from a specific table in a MySQL database, and would force the pretrain/AI train to move into this specified position.  Like the original version, this only allowed the player to view a single instance of the player ahead of them.&lt;br /&gt;
&lt;br /&gt;
This version is more stable, due to the large amount of newly written code.  This version also allows for clients to connect to a single central server, with multiple routes, and allows for MMO elements.  A mapping system, and a signaling system was also written to supplement this multiplayer version, largely feasible due to the use of a database system.&lt;br /&gt;
&lt;br /&gt;
This version unfortunately suffers from limited uptime of the server, and requires multiple users connected at once in order to get a good experience.&lt;br /&gt;
&lt;br /&gt;
===Current===&lt;br /&gt;
This version was completely, and rewritten, to provide a more stable server/client model.  This version is available for download on github along with the source code.  [https://github.com/kev5873/openbvemultiplayer]  The server was written in Python, which simply acts as a TCP Server.  The client code is embedded loosely within OpenBVE.  It too utilizes the pretrain to display other users, which allows for the in-game signaling system to be used with it.  This version also only supports single line routes, as this is a BVE limitation, and not a multiplayer one.  Ordering is also important, in that users should connect in order, and on a delay so that their trains do not overlap or jump each other.&lt;br /&gt;
&lt;br /&gt;
==Other Versions==&lt;br /&gt;
Boss of Games wrote a fork of the original OpenBVE Multiplayer, adding a signaling system to that version based on the client/server model.  His version was never released to the BVE community.&lt;br /&gt;
&lt;br /&gt;
A European version of a multiplayer OpenBVE was created, it was suggested that it connected teamspeak into the game, as opposed to it being an actual multiplayer game.  Not much is known about this version.&lt;br /&gt;
&lt;br /&gt;
==Pseudo-Multiplayer==&lt;br /&gt;
Traditionally multiplayer is done through the use of BVEStation's Chatroom, players would simply broadcast their position after every few stops.&lt;br /&gt;
&lt;br /&gt;
In the past, traditional multiplayer makes use of BVEStation's Teamspeak Server, as players speak to broadcast their positions, this form is the most popular form of pseudo-multiplayer to date, due to its ease of use.  Users do not appear to want to use a physical multiplayer system, as it is either too complicated, unstable or incompatible or too limited for their needs, and will resort to this method.&lt;br /&gt;
&lt;br /&gt;
Because BVEStation no longer runs a Teamspeak Server, other communities have sought to replace this service, and run their own multiplayer events.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Extensions.cfg</id>
		<title>Extensions.cfg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Extensions.cfg"/>
				<updated>2015-02-07T00:27:09Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;The extensions.cfg file allows to define properties for individual cars, like length, axle positions and exterior objects.  ==Overview==   The file is a plain text file encode...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The extensions.cfg file allows to define properties for individual cars, like length, axle positions and exterior objects.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The file is a plain text file encoded in any arbitrary encoding, however, UTF-8 with a byte order mark is the preferred choice. The parsing model for numbers is Strict. The file is required to be located inside the train folder and is expected to be named extensions.cfg. The file is interpreted on a per-line basis, from top to bottom.&lt;br /&gt;
&lt;br /&gt;
===Car indices===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All cars in the extensions.cfg are enumerated from 0 (front car) to n-1 (rear car), where n is the number of cars the train has in total, according to the train.dat file. For example, on a train with 10 cars, the front car has index 0 and the rear car index 9.&lt;br /&gt;
&lt;br /&gt;
===Coupler indices===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
A coupler in this document refers to the space between neighboring cars. All couplers in the extensions.cfg are enumerated from 0 (front-most coupler) to n-2 (rear-most coupler), where n is the number of cars the train has in total, according to the train.dat file. Coupler index i corresponds to the coupler between the cars with indices i and i+1, so the coupler between the first two cars (0 and 1) in the train has index 0. Likewise, if a train has 10 cars, the coupler between the last two cars (8 and 9) would have index 8.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each line in the file can be empty (or solely consist of white spaces) and will be ignored, can mark the beginning of a new section or contain key-value pairs inside a section. All key-value pairs relate to the last section opened.&lt;br /&gt;
&lt;br /&gt;
A new section is opened by starting the line with an opening bracket (U+005B) and ending it with a closing bracket (U+005D). The text in-between the brackets indicates the name of the section and is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as at the beginning and the end of the name of the section. Thus, the beginning of the section has the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[NameOfTheSection]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for the indication of a new section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[exterior]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A key-value pair is indicated by giving the key, an equals sign (U+003D) and then the value. The key is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as in front and after the equals sign. Alternatively phrased, white spaces surrounding the key and the value are ignored. Thus, a key-value pair as the following form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
NameOfTheKey = Value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of a key-value pair:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
0 = train.csv&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&lt;br /&gt;
&lt;br /&gt;
==The Car/Exterior section==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Only one of the two options should be used. &lt;br /&gt;
&lt;br /&gt;
The Car''i'' section is especially handy if your train will use pivoting trucks, or different rail-cars with different lengths. This newer method allows one to define properties specific to a certain car.&lt;br /&gt;
&lt;br /&gt;
The Exterior section provides an easy way of adding exterior objects to the particular train, if the Car''i'' section won't be used.&lt;br /&gt;
&lt;br /&gt;
===The [Car''i''] Section===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Car''i'' section allows to define properties specific to a certain car.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Cari]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''This starts the section for car i, which is an integer between 0 and n-1, where n is the number of cars the train has.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Object = File&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''file: The relative file name of the exterior object to use for this car, relative to the train folder.''&lt;br /&gt;
&lt;br /&gt;
This key-value pair defines the exterior object for this car. Within the object file, the coordinate (0,0,0) (x, y, z) corresponds to the center of the car, both horizontally (x) and forward/backward (z), while y=0 corresponds to the top of the rails.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Length = Value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Value: A positive floating-point number representing the length of the car.''&lt;br /&gt;
&lt;br /&gt;
This key-value pair defines the length for this car. This overrides the length as defined in the train.dat for this particular car. If not used, this car will have the default length as defined in the train.dat.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Axles = Rear, Front&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Rear: A floating-point number indicating the z-position of the rear axle measured from the center of the car. Usually a negative value.''&lt;br /&gt;
&lt;br /&gt;
''Front: A floating-point number indicating the z-position of the front axle measured from the center of the car. Usually a positive value.''&lt;br /&gt;
&lt;br /&gt;
This key-value pair defines the positions of the axles. While Rear and Front can take any values, the condition Rear &amp;lt; Front must hold.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Reversed = Value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Value: Either True or False to indicate whether to reverse the car.''&lt;br /&gt;
&lt;br /&gt;
With this setting, you can reverse the car in the consist. Please note that axle positions are given as if the car was not reversed.&lt;br /&gt;
&lt;br /&gt;
Example of a Cari section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Car0]&lt;br /&gt;
Object = locomotive.b3d&lt;br /&gt;
Length = 16&lt;br /&gt;
Axles = -6, 6&lt;br /&gt;
Reversed = False&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The [Exterior] Section===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Exterior section provides an easy way of adding exterior objects to the particular train. For more control on the setting of axle positions and individual car lengths, the Cari section has been introduced and should be used instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Exterior]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''This starts the Exterior section.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
i = File&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
i'': An integer between 0 and n-1, where n is the number of cars the train has. Index 0 corresponds to the front car and index n-1 to the last car in the train.''&lt;br /&gt;
&lt;br /&gt;
''File: The relative file name of the exterior object to use for car i, relative to the train folder.''&lt;br /&gt;
&lt;br /&gt;
This key-value pair can be used to set up the exterior objects for each individual car. Within the object file, the coordinate (0,0,0) (x, y, z) corresponds to the center of the car, both horizontally (x) and forward/backward (z), while y=0 corresponds to the top of the rails.&lt;br /&gt;
&lt;br /&gt;
Example of an [Exterior] section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Exterior]&lt;br /&gt;
0 = cars\engine.csv&lt;br /&gt;
1 = cars\passenger_mk1.b3d&lt;br /&gt;
2 = cars\passenger_mk1.b3d&lt;br /&gt;
3 = cars\passenger_bistro.b3d&lt;br /&gt;
4 = cars\passenger_mk2.b3d&lt;br /&gt;
5 = cars\postal.x&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The [Coupler''i''] Section===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Coupler''i'' section allows to define properties specific to a certain coupler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Coupleri]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''This starts the section for coupler i, which is an integer between 0 and n-2, where n is the number of cars the train has.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Distances = Minimum, Maximum&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Minimum: A floating-point number indicating the minimum allowed distance between the cars.''&lt;br /&gt;
&lt;br /&gt;
''Maximum: A floating-point number indicating the maximum allowed distance between the cars.''&lt;br /&gt;
&lt;br /&gt;
This key-value pair defines the lowest and highest allowed distances between the cars, resembling a buffer and chain coupler. The condition Minimum ≤ Maximum must hold.&lt;br /&gt;
&lt;br /&gt;
Example of a Coupleri section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Coupler0]&lt;br /&gt;
Distances = 0.30, 0.35&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Ats.cfg</id>
		<title>Ats.cfg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Ats.cfg"/>
				<updated>2015-02-07T00:26:53Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;The ats.cfg file format  The ats.cfg file is a plain text file consisting of a single line: the relative path to the plugin that is to be used.  '''''Example of an ats.cfg fil...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ats.cfg file format&lt;br /&gt;
&lt;br /&gt;
The ats.cfg file is a plain text file consisting of a single line: the relative path to the plugin that is to be used.&lt;br /&gt;
&lt;br /&gt;
'''''Example of an ats.cfg file:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
myplugin.dll&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don't include the ats.cfg file, the default plugin for trains is used which provides basic implementations of ATS and ATC.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Sound.cfg</id>
		<title>Sound.cfg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Sound.cfg"/>
				<updated>2015-02-07T00:26:35Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''sound.cfg''' file format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''sound.cfg''' file format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 1. Overview&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The sound.cfg file allows to reference which sound files should be used, how they are called and where they are located relative to the train folder.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The sound.cfg file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Strict'''. The file is required to be located inside the train folder and is expected to be named '''sound.cfg'''. The file is interpreted on a per-line basis, from top to bottom.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/develop/train_sound_cfg_quick.html See also the quick reference for the sound.cfg...]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 2. Syntax&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Each line in the file can be empty (or solely consist of white spaces) and will be ignored, can mark the beginning of a new section or contain key-value pairs inside a section. All key-value pairs relate to the last section opened.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;A new section is opened by starting the line with an opening bracket (U+005B) and ending it with a closing bracket (U+005D). The text in-between the brackets indicates the name of the section and is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as at the beginning and the end of the name of the section. Thus, the beginning of the section has the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[NameOfTheSection]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;A key-value pair is indicated by giving the key, an equals sign (U+003D) and then the value. The key is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as in front and after the equals sign. Alternatively, white spaces surrounding the key and the value are ignored. Thus, a key-value pair as the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NameOfTheKey = Value&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 3. Content of the file&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first line in the file is required to be the following:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Version 1.0&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Following the version line, these are the sections that can be used and their key-value pairs. In all key-value pairs, the parameter ''FileName'' corresponds to the file name of the sound to reference, relative to the train folder.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Run]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Index'' = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Assigns a run sound. The non-negative integer ''Index'' represents the type of run sound to use. Route developers can choose which run sound to play for a given piece of track. Please see the page about [http://trainsimframework.org/develop/information_standards.html standards] for further information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The sound is played at a pitch proportional to the speed. The recording should correspond to a speed of 90 km/h.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Flange]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Index'' = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Assigns a flange sound. The non-negative integer ''Index'' represents the type of flange sound to use. Route developers can choose which flange sound to play for a given piece of track. Please see the page about [http://trainsimframework.org/develop/information_standards.html standards] for further information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The sound is played at a pitch proportional to the speed. The recording should correspond to a speed of 45 km/h.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Motor]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Index'' = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Assigns a motor sound. The non-negative integer ''Index'' represents the index of the motor sound that can be referenced in the #MOTOR_''Xn'' sections of the train.dat. Please see the documentation for the [http://trainsimframework.org/develop/train.dat train.dat] for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Switch]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;0 = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once per axle when the train crosses a pointwork.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Brake]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;BC Release High = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played occasionally when the pressure in the brake cylinder is decreased from a high value.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;BC Release = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played occasionally when the pressure in the brake cylinder is decreased from a non-high value to a non-zero value.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;BC Release Full = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played occasionally when the pressure in the brake cylinder is decreased to zero value.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Emergency = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the emergency brakes are activated.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;BP Decomp = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For trains with automatic air brake, is played when the handle is moved into the SRV or EMG position. For other trains, is played when the brake notch is decreased.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Compressor]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Attack = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the air compressor is activated.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Loop = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played in a loop for the duration the air compressor is active.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Release = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the air compressor is deactivated.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Suspension]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Left = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played occasionally when the train sways to the left side.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Right = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played occasionally when the train sways to the right side.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Horn]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Primary = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the primary horn is applied.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Secondary = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the secondary horn is applied.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Music = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played in a loop when the music horn is applied.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Door]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Open Left = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the left doors open.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Open Right = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the right doors open.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Close Left = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the left doors close.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Close Right = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the right doors close.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Ats]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Index'' = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Assigns a plugin sound. The non-negative integer ''Index'' represents the sound index. Train plugin developers can choose which sound to play. The assignment of sounds needs to be coordinated with the plugin developer.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Buzzer]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Correct = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the train stops at a station, but needs to correct its stop position.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Pilot Lamp]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;On = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once as soon as the doors have closed and the train is ready for departure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Off = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once as soon as the doors start to open.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Brake Handle]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Apply = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the brake notch is increased to any value below the emergency brake position.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Release = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the brake notch is decreased to any value above brake notch zero.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Min = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the brake notch is decreased to brake notch zero.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Max = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the emergency brakes are applied.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Master Controller]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Up = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the power notch is increased to any value below the maximum power notch.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Down = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the power notch is decreased to any value above power notch 0.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Min = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the power notch is decreased to brake notch zero.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Max = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the power notch is increased to the maximum power notch.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Reverser]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;On = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the reverser is moved into any non-neutral position.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Off = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when the reverser is moved into the neutral position.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Breaker]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;On = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when power is resumed (was interrupted before). There is a series of circumstances when that can happen, for example when moving from power notch zero to power notch one, assuming the reverser is non-neutral and the brakes are released. It can also happen when the power notch is already non-zero, but the reverser or brakes previously interrupted the power. The safety systems can also interrupt power.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Off = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played once when power is interrupted or resumed. There is a series of circumstances when that can happen, for example when moving from power notch zero to power notch one, or vice versa, assuming the reverser is non-neutral and the brakes are released. The safety systems can also interrupt power.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● [Others]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Noise = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played in a loop all the time for the duration of the simulation.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Shoe = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Played in a loop when the brake shoe rubs against the wheels. The sound is played at a pitch inversely proportional to the speed, and the volume of the sound decreases with increasing speeds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Default_sounds</id>
		<title>Default sounds</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Default_sounds"/>
				<updated>2015-02-07T00:26:16Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;Without using a sound.cfg file, openBVE looks for a series of optional sound files within the train folder.  ==Sounds Played Only In-Cab==  ===adjust.wav===	 Played once when...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Without using a sound.cfg file, openBVE looks for a series of optional sound files within the train folder.&lt;br /&gt;
&lt;br /&gt;
==Sounds Played Only In-Cab==&lt;br /&gt;
&lt;br /&gt;
===adjust.wav===	&lt;br /&gt;
Played once when the train stops at a station, but needs to correct its stop position.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===ats.wav===&lt;br /&gt;
Played in a loop when the built-in security system ATS rings its bell. This happens when passing certain transponders or when the security system is deactivated but power is applied.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===atscnt.wav===&lt;br /&gt;
Played in a loop when the built-in security system ATS rings its chime. This happens after acknowledging the bell when passing S-type transponders.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===brake.wav===&lt;br /&gt;
For trains with automatic air brake, is played when the handle is moved into the SRV or EMG position. For other trains, is played when the brake notch is decreased.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===ding.wav===&lt;br /&gt;
Played once when the built-in security systems ATS-P or ATC change some states, e.g. when ATS-P activates the PTN APPROACH lamp, or when ATC changes the current speed restriction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===eb.wav===&lt;br /&gt;
Played in a loop when the built-in EB system rings.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===halt.wav===&lt;br /&gt;
Played once or in a loop (depending on the train.dat setting) when the pass alarm system warns about an approaching station stop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===klaxon.wav===&lt;br /&gt;
Played once when the primary horn is applied.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===klaxon0.wav===&lt;br /&gt;
Played once when the primary horn is applied. Has precedence over klaxon.wav.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===klaxon1.wav===&lt;br /&gt;
Played once when the secondary horn is applied.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===klaxon2.wav===&lt;br /&gt;
Played in a loop when the music horn is applied.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===toats.wav===&lt;br /&gt;
Played once when the built-in security system is switched from ATC to ATS.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===toatc.wav===&lt;br /&gt;
Played once when the built-in security system is switched from ATS to ATC.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Sounds played on all cars where applicable==&lt;br /&gt;
&lt;br /&gt;
===air.wav===&lt;br /&gt;
Played occasionally when the pressure in the brake cylinder is decreased from a non-high value to a non-zero value.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===airhigh.wav===&lt;br /&gt;
Played occasionally when the pressure in the brake cylinder is decreased from a high value.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===airzero.wav===&lt;br /&gt;
Played occasionally when the pressure in the brake cylinder is decreased to zero value.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===cpstart.wav===&lt;br /&gt;
Played once when the air compressor is activated.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===cploop.wav===&lt;br /&gt;
Played in a loop for the duration the air compressor is active.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===cpend.wav===&lt;br /&gt;
Played once when the air compressor is deactivated.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===doorcls.wav===&lt;br /&gt;
Played once when the doors close.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===doorclsl.wav===&lt;br /&gt;
Played once when the left doors close. Has precedence over doorscls.wav.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===doorclsr.wav===&lt;br /&gt;
Played once when the right doors close. Has precedence over doorscls.wav.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===dooropn.wav===&lt;br /&gt;
Played once when the doors open.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===dooropnl.wav===&lt;br /&gt;
Played once when the left doors open. Has precedence over doorscls.wav.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===dooropnr.wav===&lt;br /&gt;
Played once when the right doors open. Has precedence over doorscls.wav.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===emrbrake.wav===&lt;br /&gt;
Played once when the emergency brakes are activated.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===flangei.wav===&lt;br /&gt;
Defines a set of sounds played in a loop when the flange of the wheels rub against the rails. The sounds are played at a pitch proportional to the speed. The recordings should correspond to a speed of 45 km/h. The non-negative integer i corresponds to the Train.Flange command in CSV routes where route developers can select which of the flangei.wav sounds to play for a certain type of rail.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===loop.wav===&lt;br /&gt;
Played in a loop all the time for the duration of the simulation.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===point.wav===&lt;br /&gt;
Played once per axle when the train crosses a pointwork.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===rub.wav===&lt;br /&gt;
Played in a loop when the brake shoe rubs against the wheels. The sound is played at a pitch inversely proportional to the speed, and the volume of the sound decreases with increasing speeds.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===runi.wav===&lt;br /&gt;
Defines a set of sounds played in a loop for the duration the train moves. The sounds are played at a pitch proportional to the speed. The recordings should correspond to a speed of 90 km/h. The non-negative integer i corresponds to the Train.Run command in CSV routes where route developers can select which of the runi.wav sounds to play for a certain type of rail.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===springl.wav===&lt;br /&gt;
Played once when the train sways to the left side.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===springr.wav===&lt;br /&gt;
Played once when the train sways to the right side.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===motori.wav===&lt;br /&gt;
Defines a set of sounds played in a loop as instructed by the train.dat. The pitch, volume and index i are defined in the #MOTOR_Xn sections in the train.dat, and the sounds should be developed in conjunction with the train.dat.&lt;br /&gt;
---&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Panel.cfg</id>
		<title>Panel.cfg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Panel.cfg"/>
				<updated>2015-02-07T00:25:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;The panel.cfg file allows to create 2D panels by defining which elements to use, like speedometers, pressure gauges etc., and where they are to be placed.  ==Overview==  The p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The panel.cfg file allows to create 2D panels by defining which elements to use, like speedometers, pressure gauges etc., and where they are to be placed.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
The panel.cfg file is a plain text file encoded in any arbitrary encoding, however, UTF-8 with a byte order mark is the preferred choice. The parsing model for numbers is Loose, however, you are encouraged to produce Strict output nonetheless. The file is required to be located inside the train folder and is expected to be named panel.cfg. The file is interpreted on a per-line basis, from top to bottom.&lt;br /&gt;
&lt;br /&gt;
The panel.cfg has been superseded by the panel2.cfg. You can achieve the full functionality of the panel.cfg and more by using the panel2.cfg instead. If both files are present in the train folder, the panel2.cfg has precedence over the panel.cfg.&lt;br /&gt;
&lt;br /&gt;
The cab is rendered as an overlay. This means that the cab will always appear in front of scenery objects. This is intentional, because this way, rain, walls and other obstructing objects cannot be accidentally rendered inside the cab. Furthermore, lighting in the cab is different than in the scenery. While the ambient brightness is reflected in the cab, the ambient color is not, and the cab always appears as if reflecting white light.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
Each line in the file can be empty (or solely consist of white spaces) and will be ignored, can mark the beginning of a new section or contain key-value pairs inside a section. All key-value pairs relate to the last section opened.&lt;br /&gt;
&lt;br /&gt;
A new section is opened by starting the line with an opening bracket (U+005B) and ending it with a closing bracket (U+005D). The text in-between the brackets indicates the name of the section and is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as at the beginning and the end of the name of the section. Thus, the beginning of the section has the following form:&lt;br /&gt;
&lt;br /&gt;
===[NameOfTheSection]===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[NameOfTheSection]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A key-value pair is indicated by giving the key, an equals sign (U+003D) and then the value. The key is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as in front and after the equals sign. Alternatively, white spaces surrounding the key and the value are ignored. Thus, a key-value pair as the following form:&lt;br /&gt;
&lt;br /&gt;
===[NameOfTheKey]===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
NameOfTheKey = Value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some values are further split into multiple parts, separated by commas (U+002C). Instead of a comma, a colon (U+003A) can be used interchangeably.&lt;br /&gt;
&lt;br /&gt;
You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&lt;br /&gt;
&lt;br /&gt;
==The Panel Section==&lt;br /&gt;
===[View]===&lt;br /&gt;
The View section defines the viewing angle conditions. Only one View section is expected in a panel.cfg file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[View]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This starts the section&lt;br /&gt;
&lt;br /&gt;
===Yaw===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Yaw = ValueInDegrees&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''ValueInDegrees: A floating-point number measured in degrees indicating the yaw. Positive values represent right, negative ones left. The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
===Pitch===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Pitch = ValueInDegrees&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
''ValueInDegrees: A floating-point number measured in degrees indicating the pitch. Positive values represent up, negative ones down. The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
Defines the pitch of the view. Any value entered will be additionally subtract by 11 degrees, resulting in a slight downward pitch if ValueInDegrees is 0. If this key-value pair is not used, the final viewing angle will be -11 degrees.&lt;br /&gt;
&lt;br /&gt;
==The PressureIndicator Section==&lt;br /&gt;
&lt;br /&gt;
This section creates a pressure indicator. You can use as many of these sections as required.&lt;br /&gt;
&lt;br /&gt;
===[PressureIndicator]===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[PressureIndicator]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: PressureIndicator, PressureGauge, PressureMeter, 圧力計''&lt;br /&gt;
&lt;br /&gt;
===Type===&lt;br /&gt;
This starts the section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Type = Value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Value: The type of pressure indicator to use. The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
Options for Value:&lt;br /&gt;
0: The pressure indicator is a gauge.&lt;br /&gt;
1: The pressure indicator is an LED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration_pressuregauge.png]] [[File:Illustration_pressuregauge_led.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This defines the type of the pressure indicator. While both the gauge type and the LED type indicators can show two different pressures, this is not generally useful for the LED type as the upper LED shape will block the view into the lower LED shape.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Type, 形態''&lt;br /&gt;
&lt;br /&gt;
===LowerNeedle===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
LowerNeedle = Subject, RedValue, GreenValue, BlueValue&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Subject: The kind of pressure to indicate.''&lt;br /&gt;
&lt;br /&gt;
''RedValue: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
''GreenValue: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
''BlueValue: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
*Options for Subject&lt;br /&gt;
''0: Does not show the lower needle.''&lt;br /&gt;
&lt;br /&gt;
''1 or BC or ブレーキシリンダ: Indicates the pressure of the brake cylinder.''&lt;br /&gt;
&lt;br /&gt;
''2 or BP or ブレーキ管 or 制動管: Indicates the pressure of the brake pipe.''&lt;br /&gt;
&lt;br /&gt;
''3 or ER or 釣り合い空気溜め or 釣り合い空気ダメ or つりあい空気溜め or ツリアイ空気ダメ: Indicates the pressure of the equalizing reservoir.''&lt;br /&gt;
&lt;br /&gt;
''4 or MR or 元空気溜め or 元空気ダメ: Indicates the pressure of the main reservoir.''&lt;br /&gt;
&lt;br /&gt;
''5 or SAP or 直通管: Indicates the pressure of the straight air pipe.''&lt;br /&gt;
&lt;br /&gt;
Creates the lower needle for a gauge-type pressure indicator, or defines the color of the lower shape for an LED-type indicator.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: &lt;br /&gt;
LowerNeedle, LowerHand, 下針''&lt;br /&gt;
&lt;br /&gt;
===UpperNeedle===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
UpperNeedle = Subject, RedValue, GreenValue, BlueValue&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Subject: The kind of pressure to indicate.''&lt;br /&gt;
&lt;br /&gt;
''RedValue: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
''GreenValue: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
''BlueValue: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
*Options for Subject&lt;br /&gt;
''0: Does not show the upper needle.''&lt;br /&gt;
&lt;br /&gt;
''1 or BC or ブレーキシリンダ: Indicates the pressure of the brake cylinder.''&lt;br /&gt;
&lt;br /&gt;
''2 or BP or ブレーキ管 or 制動管: Indicates the pressure of the brake pipe.''&lt;br /&gt;
&lt;br /&gt;
''3 or ER or 釣り合い空気溜め or 釣り合い空気ダメ or つりあい空気溜め or ツリアイ空気ダメ: Indicates the pressure of the equalizing reservoir.''&lt;br /&gt;
&lt;br /&gt;
''4 or MR or 元空気溜め or 元空気ダメ: Indicates the pressure of the main reservoir.''&lt;br /&gt;
&lt;br /&gt;
''5 or SAP or 直通管: Indicates the pressure of the straight air pipe.''&lt;br /&gt;
&lt;br /&gt;
Creates the upper needle for a gauge-type pressure indicator, or defines the color of the lower shape for an LED-type indicator.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: UpperNeedle, UpperHand, 上針''&lt;br /&gt;
&lt;br /&gt;
===Center===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Center = X, Y&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''X: The X-coordinate in the panel image at which the center of the pressure indicator is placed in pixels. The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
''Y: The Y-coordinate in the panel image at which the center of the pressure indicator is placed in pixels. The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Center, 中心''&lt;br /&gt;
&lt;br /&gt;
===Radius===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Radius = ValueInPixels&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''ValueInPixels: The radius of the pressure indicator in pixels. The default value is 16.''&lt;br /&gt;
&lt;br /&gt;
For gauge-type indicators, defines the radius of the pressure gauge needle in pixels. For LED-type indicators, defines half the edge length of the LED-square in pixels. The radius is measured in pixels of the panel image.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Radius, 半径''&lt;br /&gt;
&lt;br /&gt;
===Background===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Background = Filename&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''FileName: The background image to use, relative to the train folder.''&lt;br /&gt;
&lt;br /&gt;
Creates a background for the pressure indicator. The background is shown below the needles or the LED-square. Pure blue in the image (red=0, green=0, blue=255) represents transparent pixels.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Background, 背景''&lt;br /&gt;
&lt;br /&gt;
===Cover===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Cover = Filename&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''FileName: The cover image to use, relative to the train folder.''&lt;br /&gt;
&lt;br /&gt;
Creates a cover for the pressure indicator. The cover is shown on top of the needles or the LED-square. Pure blue in the image (red=0, green=0, blue=255) represents transparent pixels.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: &lt;br /&gt;
Cover, ふた''&lt;br /&gt;
&lt;br /&gt;
===Unit===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Unit = Value&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Value: The type of unit to use for the Minimum and Maximum settings. The default value is 0.''&lt;br /&gt;
&lt;br /&gt;
*Options for Value:&lt;br /&gt;
''0 or kpa: The unit is kilo-pascal (1000 Pa).''&lt;br /&gt;
&lt;br /&gt;
''1 or kgf/cm2 or kgf/cm^2 or kg/cm2 or kg/cm^2: The unit is kilogram-force per centimeter squared (98066.5 Pa).''&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: &lt;br /&gt;
Unit, 単位''&lt;br /&gt;
&lt;br /&gt;
===Minimum===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Minimum = PressureValue&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''PressureValue: The minimum pressure corresponding to Angle. The unit is defined via Unit.''&lt;br /&gt;
&lt;br /&gt;
Defines the minimum pressure corresponding to the Angle measured clockwise from the 6 o'clock position. The default value is 0.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Minimum, 最小''&lt;br /&gt;
&lt;br /&gt;
===Maximum===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Maximum = Pressurevalue&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''PressureValue: The maximum pressure corresponding to Angle. The unit is defined via Unit.''&lt;br /&gt;
&lt;br /&gt;
Defines the maximum pressure corresponding to the Angle measured counter-clockwise from the 6 o'clock position. The default value is 1000.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Maximum, 最大''&lt;br /&gt;
&lt;br /&gt;
===Angle===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Angle = ValueInDegrees&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''ValueInDegrees: The angle corresponding to the Minimum and Maximum pressures in degrees.''&lt;br /&gt;
&lt;br /&gt;
Defines the angle, measured clockwise from the 6 o'clock position, corresponding to the Minimum pressure, and also the angle, measured counter-clockwise from the 6 o'clock position, corresponding to the Maximum pressure. The default value is 45.&lt;br /&gt;
&lt;br /&gt;
*''The following spelling variations can be used: Angle, 角度''&lt;br /&gt;
&lt;br /&gt;
==To Be Finished Later==&lt;br /&gt;
This article will be finished later.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Panel2.cfg</id>
		<title>Panel2.cfg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Panel2.cfg"/>
				<updated>2015-02-07T00:25:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''panel2.cfg''' file format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''panel2.cfg''' file format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 1. Overview&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The panel2.cfg file allows to create 2D panels by defining which elements to use, like lamps, needles, etc., what they are intended to display and where they are to be placed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The panel2.cfg file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Loose''', however, you are encouraged to produce ''Strict'' output nonetheless. The file is required to be located inside the train folder and is expected to be named '''panel2.cfg'''. The file is interpreted on a per-line basis, from top to bottom.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Layers&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | All elements in the panel are associated layers. The layer is described as an integer, where small values represent the background and high numbers the foreground. When placing elements, you should make sure that no overlapping elements share the same layer number. The background image of the panel is always associated layer number 0, so elements on top of it should start with layer number 1 or higher. If you want to place elements behind the panel background image, you can likewise use negative numbers to represent these layers.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Daytime and nighttime images&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | For all elements that take a texture, you can specify distinct daytime and nighttime textures. Depending on the lighting conditions and additional route instructions, openBVE will display any intermediate blend between the daytime and nighttime textures. If no nighttime textures are used, the daytime images will be darkened to simulate corresponding nighttime images.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/develop/train_panel2_cfg_quick.html See also the quick reference for the panel2.cfg...]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Overlay and Lighting&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | The cab is rendered as an overlay. This means that the cab will always appear in front of scenery objects. This is intentional, because this way, rain, walls and other obstructing objects cannot be accidentally rendered inside the cab. Furthermore, lighting in the cab is different than in the scenery. While the ambient brightness is reflected in the cab, the ambient color is not, and the cab always appears as if reflecting white light.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 2. Syntax&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Each line in the file can be empty (or solely consist of white spaces) and will be ignored, can mark the beginning of a new section or contain key-value pairs inside a section. All key-value pairs relate to the last section opened.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;A new section is opened by starting the line with an opening bracket (U+005B) and ending it with a closing bracket (U+005D). The text in-between the brackets indicates the name of the section and is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as at the beginning and the end of the name of the section. Thus, the beginning of the section has the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[NameOfTheSection]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;A key-value pair is indicated by giving the key, an equals sign (U+003D) and then the value. The key is case-insensitive. White spaces at the beginning and the end of the line are ignored, as well as in front and after the equals sign. Alternatively, white spaces surrounding the key and the value are ignored. Thus, a key-value pair as the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NameOfTheKey = Value&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Some values are further split into multiple parts, separated by commas (U+002C).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 3. The This section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The This section defines the background image to use for the panel and which resolution the panel has. Only one This section may be used within the file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[This]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Resolution = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the width measured on the panel background image that corresponds to the width of the screen for the default camera position, alignment and zoom.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Left = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point representing which x-coordinate in the panel background corresponds to the farthest point to which can be scrolled left. The point is not required to lie within the bounds of the background image.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Right = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point representing which x-coordinate in the panel background corresponds to the farthest point to which can be scrolled right. The point is not required to lie within the bounds of the background image. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Top = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point representing which y-coordinate in the panel background corresponds to the farthest point to which can be scrolled up. The point is not required to lie within the bounds of the background image.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Bottom = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point representing which y-coordinate in the panel background corresponds to the farthest point to which can be scrolled down. The point is not required to lie within the bounds of the background image.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;DaytimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the daytime version of the panel background image, relative to the train folder. If not specified, no background image will be shown. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NighttimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the nighttime version of the panel background image, relative to the train folder. If specified, the daytime version must also be specified. Otherwise, no nighttime version will be available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;TransparentColor = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the exact color in both the ''DaytimeImage'' and ''NighttimeImage'' files which corresponds to a transparent pixel. The default value is #0000FF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Center = ''X'', ''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate of the panel background image that corresponds to the center of the screen.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate of the panel background image that corresponds to the center of the screen. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines which pixel in the background image corresponds to the center of the screen for the default camera position. The relation between ''Center'' and ''Origin'' influences the yaw and pitch of the cab alignment.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Origin = ''X'', ''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate of the panel background image that corresponds to the vanishing point.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate of the panel background image that corresponds to the vanishing point.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines which pixel in the background image corresponds to the vanishing point for the default camera position. This is the point to which the two rails converge at the horizon on a straight piece of track. The relation between ''Center'' and ''Origin'' influences the yaw and pitch of the cab alignment.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:illustration_center_origin.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' When camera restriction affects the default camera setup &amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | Camera restriction is the built-in functionality to limit the camera view inside cabs created by the panel2.cfg to the rectangle as specified via ''Left'', ''Right'', ''Top'' and ''Bottom''. If your setup of ''Center'' and ''Resolution'' would force the camera to show parts that are outside of that specified region even with the default camera settings, the camera position will be altered to guarantee that the view stays inside the cab region. In order to verify that your ''Center'' and ''Origin'' setup is unaffected by this, disable camera restriction by hitting the CAMERA_RESTRICTION key (default: CTRL+R) and then reset the camera by hitting the CAMERA_RESET key (default: num 5). The ''Center'' and ''Origin'' values will now be exactly as scripted, thereby revealing possible problems in the relations of ''Resolution'', ''Left'', ''Right'', ''Top'', ''Bottom'', ''Center'' and ''Origin''.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 4. The PilotLamp section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The PilotLamp section creates an indicator that can be made visible or invisible. You can use as many of these sections as required.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The ''DaytimeImage'' is required to be specified if you make use of the PilotLamp section. The ''Subject'' used needs to return 1 if the PilotLamp is to be made visible, otherwise it will be invisible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[PilotLamp]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Subject = ''Subject''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Subject'''''&amp;lt;nowiki&amp;gt;: One of the &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/train_panel2_cfg.html#subjects available subjects]. The default subject is '''true'''. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Location = ''Left'', ''Top''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Left'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate at which the left of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Top'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate at which the top of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;DaytimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the daytime version of the indicator image, relative to the train folder. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.''''' &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NighttimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the nighttime version of the indicator image, relative to the train folder. If not specified, no nighttime version will be available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;TransparentColor = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the exact color in both the ''DaytimeImage'' and ''NighttimeImage'' files which corresponds to a transparent pixel. The default value is #0000FF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Layer = ''LayerIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''LayerIndex'''''&amp;lt;nowiki&amp;gt;: An integer which uniquely defines this element among overlapping elements. Lower numbers represent the background and higher numbers the foreground. Elements may use the same &amp;lt;/nowiki&amp;gt;''LayerIndex'' as long as they do not overlap. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 5. The Needle section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Needle section creates a rotating element, or needle. You can use as many of these sections as required.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The image used for the Needle, defined by ''DaytimeImage'' (required) or ''NighttimeImage'' (optional), will be rotated around a defined ''Origin'' and optionally scaled if ''Radius'' is used. The needle depicted in the image should be pointing up.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[Needle]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Subject = ''Subject''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Subject'''''&amp;lt;nowiki&amp;gt;: One of the &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/train_panel2_cfg.html#subjects available subjects]. The default subject is '''true'''. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Location = ''CenterX'', ''CenterY''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''CenterX'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate of the center of rotation in terms of the background image. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''CenterY'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate of the center of rotation in terms of the background image. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Radius = ''ValueInPixels''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInPixels'''''&amp;lt;nowiki&amp;gt;: A non-zero floating-point number that redefines the radius of the element in pixels relative to the background image. The default value is &amp;lt;/nowiki&amp;gt;''Y'' from the ''Origin'' key-value pair.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ''Y'' value in the ''Origin'' key-value pair defines the vertical point of rotation, but also defines the actual radius of the element in the bitmap's own pixel coordinates. If ''ValueInPixels'' is set to a different value than this actual radius, the image will be scaled by a factor of ''Radius'' / ''Y'', while preserving the ''Origin''-''Center'' relation. If you do not want to scale the image, set ''ValueInPixels'' to the same value as ''Y'' in the ''Origin'' key-value pair, or omit ''Radius'' altogether.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;DaytimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the daytime version of the needle image, relative to the train folder. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.'''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NighttimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the nighttime version of the needle image, relative to the train folder. If not specified, no nighttime version will be available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Color = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the color by which the images are multiplied with. The default value is #FFFFFF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Multiplies the images by the color specified by ''HexColor''. Setting ''HexColor'' to '''&amp;lt;nowiki&amp;gt;#FFFFFF&amp;lt;/nowiki&amp;gt;''' (white) preserves the original color of the images, while setting ''HexColor'' to '''&amp;lt;nowiki&amp;gt;#000000&amp;lt;/nowiki&amp;gt;''' (black) produces black images. Pixels defined as being transparent via ''TransparentColor'' are not affected.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;TransparentColor = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the exact color in both the ''DaytimeImage'' and ''NighttimeImage'' files which corresponds to a transparent pixel. The default value is #0000FF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Origin = ''X'', ''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate that corresponds to the image's center of rotation. The default value is half the image width.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate that corresponds to the image's center of rotation. The default value is half the image height.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;InitialAngle = ''ValueInDegrees''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInDegrees'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the angle &amp;lt;/nowiki&amp;gt;'''in degrees''' that corresponds to the ''Minimum'' value. The angle is measured clock-wise from the 12 o'clock position. The default value is -120.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;LastAngle = ''ValueInDegrees''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInDegrees'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the angle &amp;lt;/nowiki&amp;gt;'''in degrees''' that corresponds to the ''Maximum'' value. The angle is measured clock-wise from the 12 o'clock position. The default value is 120.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Minimum = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point value corresponding to the value returned by the &amp;lt;/nowiki&amp;gt;''Subject'' in use that should be linked to the ''InitialAngle''. The default value is 0. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Maximum = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point value corresponding to the value returned by the &amp;lt;/nowiki&amp;gt;''Subject'' in use that should be linked to the ''LastAngle''. The default value is 1000. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NaturalFreq = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number representing the natural frequency of an assumed undamped oscillatory system. If not specified, damping will not be performed.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines the natural frequency. In an undamped oscillatory system, this is the angular frequency in radians per second. As soon as damping is performed, the frequency will decrease with convergence of the oscillator. A natural frequency of 0 will not allow any rotation to be performed. Higher values roughly correspond to radians per second. If specified, ''DampingRatio'' should also be specified.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;DampingRatio = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number representing the damping ratio. If not specified, damping will not be performed.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines the damping ratio for the oscillatory system. Values between 0 and 1 represent [http://en.wikipedia.org/wiki/Damping#Under-damping under-damping], 1 represents [http://en.wikipedia.org/wiki/Damping#Critical_damping critical damping] and values above 1 represent [http://en.wikipedia.org/wiki/Damping#Over-damping over-damping]. Compare the following illustration in which the angle of rotation changes from 0 to 1 over time:&amp;lt;br /&amp;gt;[[Image:300px-2nd_Order_Damping_Ratios.svg.png]]&amp;lt;br /&amp;gt;If specified, ''NaturalFreq'' should also be specified.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Layer = ''LayerIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''LayerIndex'''''&amp;lt;nowiki&amp;gt;: An integer which uniquely defines this element among overlapping elements. Lower numbers represent the background and higher numbers the foreground. Elements may use the same &amp;lt;/nowiki&amp;gt;''LayerIndex'' as long as they do not overlap. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 6. The DigitalNumber section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The DigitalNumber section creates an indicator that can switch between multiple states, useful to build up a display of decimal digits. You can use as many of these sections as required.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The image used for the DigitalNumber, defined by ''DaytimeImage'' (required) and ''NighttimeImage'' (optional), is comprised of the individual states, which are stacked vertically, anchored at the top of the image. The width of a single state is equal to the width of the image, while the height of a single state is defined by ''Interval'' (required). The ''Subject'' used needs to return an integer from 0 (first element) to ''n''-1 (last element), where ''n'' is the number of elements. If a value outside of that range is returned by ''Subject'', the DigitalNumber will be made invisible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[DigitalNumber]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Subject = ''Subject''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Subject'''''&amp;lt;nowiki&amp;gt;: One of the &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/train_panel2_cfg.html#subjects available subjects]. The default subject is '''true'''. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Location = ''Left'', ''Top''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Left'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate at which the left of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Top'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate at which the top of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;DaytimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the daytime version of the DigitalNumber image, relative to the train folder. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.''''' &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;NighttimeImage = ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The image file to use as the nighttime version of the DigitalNumber image, relative to the train folder. If not specified, no nighttime version will be available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;TransparentColor = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the exact color in both the ''DaytimeImage'' and ''NighttimeImage'' files which corresponds to a transparent pixel. The default value is #0000FF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Interval = ''Height''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Height'''''&amp;lt;nowiki&amp;gt;: The height of a single state in the images in pixels. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.'''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Layer = ''LayerIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''LayerIndex'''''&amp;lt;nowiki&amp;gt;: An integer which uniquely defines this element among overlapping elements. Lower numbers represent the background and higher numbers the foreground. Elements may use the same &amp;lt;/nowiki&amp;gt;''LayerIndex'' as long as they do not overlap. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 7. The DigitalGauge section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The DigitalGauge section creates a solid-color square of which only a radial section is shown at a time. You can use as many of these sections as required.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;There are three important angles to consider. The ''InitialAngle'' defines which angle corresponds to the ''Minimum'' value, while ''LastAngle'' defines which angle corresponds to the ''Maximum'' value. The current value at a given time corresponds to the current angle. The solid-color square will only show the part that is between the current angle and the ''LastAngle''. If ''InitialAngle'' is less than ''LastAngle'', the solid-color square will wind clockwise. If ''InitialAngle'' is greater than ''LastAngle'', the solid-color square will wind counter-clockwise.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The subject needs to return a value that meaningfully works together with the ''Minimum'' and ''Maximum'' settings.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:illustration_digitalgauge_1.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:illustration_digitalgauge_2.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[DigitalGauge]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Subject = ''Subject''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Subject'''''&amp;lt;nowiki&amp;gt;: One of the &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/train_panel2_cfg.html#subjects available subjects]. The default subject is '''true'''. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Location = ''CenterX'', ''CenterY''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''CenterX'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate at which the left of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''CenterY'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate at which the top of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Radius = ''ValueInPixels''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInPixels'''''&amp;lt;nowiki&amp;gt;: A non-zero floating-point number representing half the edge length of the solid-color square in pixels. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.''''' &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If ''Radius'' is negative, it is treated as if it was positive, but the entire LED is rotated by 180 degrees.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Color = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the color of the solid-color square. The default value is #FFFFFF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;InitialAngle = ''ValueInDegrees''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInDegrees'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the angle &amp;lt;/nowiki&amp;gt;'''in degrees''' that corresponds to the ''Minimum'' value. The angle is measured clock-wise from the 12 o'clock position. The default value is -120.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | The absolute difference between ''InitialAngle'' and ''LastAngle'' may not exceed 360 degrees.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;LastAngle = ''ValueInDegrees''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInDegrees'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the angle &amp;lt;/nowiki&amp;gt;'''in degrees''' that corresponds to the ''Maximum'' value. The angle is measured clock-wise from the 12 o'clock position. The default value is 120.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | The absolute difference between ''InitialAngle'' and ''LastAngle'' may not exceed 360 degrees.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Minimum = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point value corresponding to the value returned by the &amp;lt;/nowiki&amp;gt;''Subject'' in use that should be linked to the ''InitialAngle''. The default value is 0. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Maximum = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point value corresponding to the value returned by the &amp;lt;/nowiki&amp;gt;''Subject'' in use that should be linked to the ''LastAngle''. The default value is 1000. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Step = ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point value representing the step in which values on the solid-color square can increase. The value to be displayed via the solid-color square will be rounded down to the next integer multiple of &amp;lt;/nowiki&amp;gt;''Value''. If ''Value'' is negative, values will be rounded up to the absolute value of ''Value'' instead. If ''Value'' is 0, increases will be smooth. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Layer = ''LayerIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''LayerIndex'''''&amp;lt;nowiki&amp;gt;: An integer which uniquely defines this element among overlapping elements. Lower numbers represent the background and higher numbers the foreground. Elements may use the same &amp;lt;/nowiki&amp;gt;''LayerIndex'' as long as they do not overlap. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 8. The Timetable section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Timetable section defines where to place custom timetables. The actual images are loaded via the route file. Only one Timetable section may be used within the file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[Timetable]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Location = ''Left'', ''Top''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Left'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the x-coordinate at which the left of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Top'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the y-coordinate at which the top of the image is inserted. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Width = ''ValueInPixels''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInPixels'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the width of the timetable measured in terms of the background image. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.'''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Height = ''ValueInPixels''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInPixels'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the height of the timetable measured in terms of the background image. &amp;lt;/nowiki&amp;gt;'''''Is required to be specified.'''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;TransparentColor = ''HexColor''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HexColor'''''&amp;lt;nowiki&amp;gt;: A &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#colors hexcolor] representing the exact color in both the daytime and nighttime versions of the timetable which corresponds to a transparent pixel. The default value is #0000FF.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Layer = ''LayerIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''LayerIndex'''''&amp;lt;nowiki&amp;gt;: An integer which uniquely defines this element among overlapping elements. Lower numbers represent the background and higher numbers the foreground. Elements may use the same &amp;lt;/nowiki&amp;gt;''LayerIndex'' as long as they do not overlap. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 9. Available subjects&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A subject is composed of a base subject and an optional subject suffix. The subject controls what information is fed to the element that uses the subject. For example, a ''Needle'' can use the subject ''kmph'' to be fed with the current speed of the train in kilometers per hour, or with the ''mr'' subject to show the main reservoir pressure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Base subjects&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Base subject&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | acc&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the (signed) acceleration of the train in meters per second squared (m/s²).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | atc&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Equivalent to ''ats271''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ats''i''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the state of the ''i''&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; plugin variable, depending on the plugin used. This is the same as pluginState[''i''] in animated objects. &amp;lt;br /&amp;gt; For the built-in safety systems ATS and ATC, see below.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bc&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the pressure of the brake cylinder in kPa (1000 Pa).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bp&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the pressure of the brake pipe in kPa (1000 Pa).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | brake&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the currently selected brake notch.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For trains with automatic air brakes, 0 represents ''RELEASE'', 1 represents ''LAP'', 2 represents ''SERVICE'' and 3 represents the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For trains without a hold brake device, 0 represents released brakes, ''i'' represents brake notch ''i'' and ''n''+1 represents the emergency brake, where ''n'' is the number of brake notches the train has.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For trains with a hold brake device, 0 represents released brakes, 1 represents the hold brake, ''i''+1 represents brake notch ''i'', and ''n''+2 represents the emergency brakes, where ''n'' is the number of brake notches the train has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | csc&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns 1 if the const speed system is currently active and 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | door&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns a value between 0 (open doors) and 1 (closed doors).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | doorl''i''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns a value between 0 (open) and 1 (closed) for the left doors of car ''i'', or 2 if the car does not exist.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Car index 0 represents the first car in the train, and ''n''-1 the last car, where ''n'' is the number of cars in the train.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | doorr''i''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns a value between 0 (open) and 1 (closed) for the right doors of car ''i'', or 2 if the car does not exist.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Car index 0 represents the first car in the train, and ''n''-1 the last car, where ''n'' is the number of cars in the train.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | er&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the pressure of the equalizing reservoir in kPa (1000 Pa).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | hour&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the integer part of the current hour.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | kmph&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the absolute speed of the train in kilometers per hour (km/h).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | min&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the integer part of the current minute.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | motor&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the acceleration which the motor of the first motor car currently generates in m/s².&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | mph&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the absolute speed of the train in international miles per hour (mph).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | mr&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the pressure of the main reservoir in kPa (1000 Pa).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ms&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the absolute speed of the train in meters per second (m/s).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | power&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the currently selected power notch. This is an integer between 0 and ''n'', where ''n'' is the number of power notches the train has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | rev&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the currently selected reverser position. 0 represents backward, 1 represents neutral and 2 represents forward.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | sap&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the pressure of the straight air pipe in kPa (1000 Pa).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | sec&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the integer part of the current second.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Always returns 1. This is useful for the ''PilotLamp'' element in order to always show the associated bitmap.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;If ats''i'' is used with the built-in safety systems ATS and ATC, the following mapping for ''i'' applies:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | ''i''&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | English&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 日本語&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Return values&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | ats271&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Meaning&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 256&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC not available&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 257&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS RUN&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS 作動&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit), 1 (lit) or 2 (flashing)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 258&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS RUN&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS 作動&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit / non-flashing), 1 (lit / flashing)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 15 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 259&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | P POWER&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | P 電源&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 25 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 260&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PTN APPROACH&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | パターン接近&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 45 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 261&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BRAKE RELEASE&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ブレーキ開放&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 55 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 262&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BRAKE APPLY&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ブレーキ動作&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 65 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS P&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS-P&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 7&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 75 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 264&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FAILURE&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 故障&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 8&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 90 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 265&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 9&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 100 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 266&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC POWER&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC 電源&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 10&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 110 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 267&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC SRV&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC 常用&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 11&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 120 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 268&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC EMG&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC 非常&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 12&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS is active&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 269&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | CONST SPEED&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 定速&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 270&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | EB&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | EB&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 271&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC speed indicator&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 - 12, see table on the right&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Suffixes&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Subject suffix&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | d''i''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | With d0 for the ones, d1 for the tens, d2 for the hundreds, etc., this suffix returns a value between 0 and 9 corresponding to the respective digit of the underlying subject, but only if the value of the subject is less than 10 for d1, less than 100 for d2, etc., otherwise this suffix returns 10.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Example:''' kmphd1 can be used to feed a ''DigitalNumber'' with the tens of the current speed of the train in kilometers per hour. The image used by the ''DigitalNumber'' will thus need to be composed of images from 0 to 10 in order to show all possible states kmphd1 can return, where images 0 through 9 correspond to the digits, and 10 corresponds to an image shown at the tens when the speed is below 10 km/h (e.g. another 0-digit, or blank space).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Panel.animated</id>
		<title>Panel.animated</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Panel.animated"/>
				<updated>2015-02-07T00:25:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;The panel.animated file format  If present in the train folder, this file defines a 3D cab.  The file is a normal animated object file. The train body is assumed...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The panel.animated file format&lt;br /&gt;
&lt;br /&gt;
If present in the train folder, this file defines a 3D cab.&lt;br /&gt;
&lt;br /&gt;
The file is a normal [[.ANIMATED|animated]] object file. The train body is assumed to be centered on the x- and z-axes, while a value of 0 on the y-axis corresponds to the top of the rails, just as with exterior train objects.&lt;br /&gt;
&lt;br /&gt;
==Viewing Point==&lt;br /&gt;
The viewing point of the driver's eye is determined via the #CAB or #COCKPIT sections in the [[train.dat]] (which measures the viewing point in millimeters from the front of the train).&lt;br /&gt;
&lt;br /&gt;
You can use Object Viewer to preview any animated object, including the panel.animated file. It might also be a good idea to load both the exterior object and the panel.animated in Object Viewer so you can match them against each other.&lt;br /&gt;
&lt;br /&gt;
==Overlay and Lighting==&lt;br /&gt;
The cab is rendered as an overlay. This means that the cab will always appear in front of scenery objects. This is intentional, because this way, rain, walls and other obstructing objects cannot be accidentally rendered inside the cab. Furthermore, lighting in the cab is different than in the scenery. While the ambient brightness is reflected in the cab, the ambient color is not, and the cab always appears as if reflecting white light. This behavior might change in future versions of openBVE.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Train.dat</id>
		<title>Train.dat</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Train.dat"/>
				<updated>2015-02-07T00:25:07Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''train.dat''' file format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''train.dat''' file format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 1. Overview&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The train.dat file describes the characteristics of trains including acceleration, brake behavior, installed equipment, speed-sound associations, and more.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dotted currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#60a0ff&amp;quot; | &amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt; '''☀''' Tip: Train Editor&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
You can use the [http://trainsimframework.org/develop/tool_traineditor.html Train Editor] to more conveniently edit the train.dat. This page should still be used as a reference. However, you can also edit the train.dat manually if so desired.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Loose''', however, you are encouraged to produce ''Strict'' output nonetheless. The file is required to be located inside the [http://trainsimframework.org/develop/information_folderstructure.html train folder] and is expected to be named '''train.dat'''. The file is interpreted on a per-line basis, from top to bottom.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 2. The file identifier&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first line in the train.dat is expected to be an identifier indicating the version of the file format. Allowed values are:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Version 1.22 is being used:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;BVE1220000&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Version 2.0 is being used (choose either one):''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;BVE2000000&amp;lt;br /&amp;gt;OPENBVE&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Any other value will be reported as being non-supported and version 2.0 will be assumed. The selected version number affects the parsing of the #ACCELERATION section, which is explained later on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 3. Syntax&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For each line in the file, [http://trainsimframework.org/develop/information_whitespaces.html white spaces] at the beginning and the end of that line are ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Each line in the file after the identifier can mark the beginning of a new section or contain data entries for the last opened section. Empty lines or lines solely consisting of white spaces are '''not''' ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;A new section is opened by starting the line with a number sign character (U+0023). The text which follows the number sign indicates the name of the section and is case-insensitive. The beginning of a section has thus the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#NameOfTheSection&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The order in which sections appear within the file is irrelevant. Each line following the opening of a new section is interpreted as a data entry. These data entries are not named, thus their order is important. When a data entry is expected but omitted because a new section was started, a default value will apply. The exact interpretation of each data entry is explained in the following sections, along with default values.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 4. The Acceleration section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Acceleration section defines the acceleration characteristics of the train for each individual power notch. The number of notches available in the train can be set inside the Handle section. For each notch, one data entry is expected, starting with the first notch.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#ACCELERATION&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'', ''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''e''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the acceleration at a speed of 0 km/h expressed in km/h/s.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the acceleration at a speed of &amp;lt;/nowiki&amp;gt;''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' expressed in km/h/s.&amp;lt;br /&amp;gt;'''''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing a reference speed in km/h corresponding to &amp;lt;/nowiki&amp;gt;''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''.&amp;lt;br /&amp;gt;'''''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing a reference speed in km/h corresponding to &amp;lt;/nowiki&amp;gt;''e''.&amp;lt;br /&amp;gt;'''''e'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing an exponent. The behavior is different for version 1.22 and version 2.0 file formats.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This data entry consists of five comma-separated values. White spaces surrounding the values are ignored. The acceleration the motor cars can provide for the whole train (accounting for unpowered trailer cars) at a given speed is calculated as follows:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If the speed of the train is 0 km/h, ''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'' indicates the acceleration output.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If the speed of the train is between 0 km/h and ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', the acceleration output is determined via the following formula:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Acceleration between 0 km/h and ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', where ''x'' is the current speed of the train in km/h:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'' + (''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' - ''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'') * ''x'' / ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;If the speed of the train is ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', the acceleration output is indicated by ''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If the speed of the train is between ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' and ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', the acceleration output is determined via the following formula:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Acceleration between ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' and ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', where ''x'' is the current speed of the train in km/h:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; * a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; / x&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;If the speed of the train is greater than ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', the acceleration output is determined via the following formula (for version 2.0 exponents):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;'''''For version 2.0:''' Acceleration above ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', where ''x'' is the current speed of the train in km/h:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; * a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; * v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;e-1&amp;lt;/sup&amp;gt; / x&amp;lt;sup&amp;gt;e&amp;lt;/sup&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;For a version 1.22 file format, the exponent ''e'' is converted into a version 2.0 exponent according to the following equation (and then, the above formula applies):&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Converting a version 1.22 exponent into a version 2.0 exponent:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;e&amp;lt;sub&amp;gt;2.0&amp;lt;/sub&amp;gt; = min(1 - v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; * log(e&amp;lt;sub&amp;gt;1.22&amp;lt;/sub&amp;gt;) / log(9/4), 4)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the above formula, ''log'' denotes the natural logaritm and ''min'' the minimum function. Please notice that version 1.22 exponents are clamped at 4 after conversion to a 2.0 exponent.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please take into account that the effective acceleration will always be lower than specified due to various resistances, including rolling resistance and air resistance.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of an Acceleration section for 4 power notches:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#ACCELERATION&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;0.77,0.39,7,7,1&amp;lt;br /&amp;gt;1.96,1.96,24,24,3&amp;lt;br /&amp;gt; 1.96,1.96,52,52,3.4&amp;lt;br /&amp;gt;1.96,1.96,52,83,2.7&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 5. The Performance section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines the brake performance and coefficients which influence the physics.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#PERFORMANCE&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 20pt&amp;quot; bgcolor=&amp;quot;#e0e0e0&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;☀&amp;lt;/font&amp;gt;&lt;br /&gt;
| ''The following spelling variations can be used: ''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#0060c0&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#PERFORMANCE, DECELERATION&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Deceleration''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating-point number corresponding to the deceleration in km/h/s the service brakes can provide. The corresponding brake cylinder pressure can be defined in the #PRESSURE section. The default value is 1.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''CoefficientOfStaticFriction''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating-point number corresponding to the coefficient of static friction, which plays an important role in wheel slip. The coefficient is dimensionless. Normal values for steel on steel range between 0.25 and 0.35. For rubber on steel, normal values range between 0.50 and 0.60. The default value is 0.35.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;''Reserved''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''This value is not currently used by openBVE. Please set to 0.''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''CoefficientOfRollingResistance''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating-point number corresponding to the coefficient of rolling resistance, which plays an important role in the acceleration performance as it is one of the factors providing a resistance to the attempt of the train to accelerate. The coefficient is dimensionless. The default value is 0.0025.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''AerodynamicDragCoefficient''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating-point number corresponding to the aerodynamic drag coefficient, which plays an important role in the acceleration performance as it is one of the factors providing a resistance to the attempt of the train to accelerate. The coefficient is dimensionless. The default value is 1.1.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Performance section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#PERFORMANCE&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;3.6&amp;lt;br /&amp;gt;0.35&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;0.0025&amp;lt;br /&amp;gt;1.1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 6. The Delay section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines various delays associated with electric power and electric braking.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#DELAY&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DelayPowerUp''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the time in '''seconds''' (s) before increasing the power notch takes effect. The default value is 0.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DelayPowerDown''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the time in '''seconds''' (s) before decreasing the power notch takes effect. The default value is 0.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DelayBrakeUp''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the time in '''seconds''' (s) before increasing the brake notch takes effect. Applies only to trains that have notched brakes. The default value is 0.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DelayBrakeDown''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the time in '''seconds''' (s) before decreasing the brake notch takes effect. Applies only to trains that have notched brakes. The default value is 0.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Pressure section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#DELAY&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;0.5&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;0.32&amp;lt;br /&amp;gt;0.32&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 7. The Move section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines various jerk values associated with electric power and electric braking, as well as flow rates associated to the physical brake systems.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#MOVE&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''JerkPowerUp''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the jerk in '''1/100 meters per second cubed''' (1/100 m/s³) when the acceleration produced by the engine is increased. The default value is 1000.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''JerkPowerDown''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the jerk in '''1/100 meters per second cubed''' (1/100 m/s³) when the acceleration produced by the engine is decreased. The default value is 1000.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''JerkBrakeUp''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the jerk in '''1/100 meters per second cubed''' (1/100 m/s³) when the deceleration produced by the electric brake is increased. Applies only to trains that use the electric brake. The default value is 1000.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''JerkBrakeDown''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the jerk in '''1/100 meters per second cubed''' (1/100 m/s³) when the deceleration produced by the electric brake is decreased. Applies only to trains that use the electric brake. The default value is 1000.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeCylinderUp''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the mean pressure increase rate of the brake cylinder in '''kilopascal per second''' (kPa/s) when the pressure increases due to an emergency brake application. The default value is 300.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For a service brake application, a lower value than ''BrakeCylinderUp'' will be used.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeCylinderDown''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating point number representing the mean pressure decrease rate of the brake cylinder in '''kilopascal per second''' (kPa/s) when the pressure decreases due to a brake release. The default value is 200.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Move section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#MOVE&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;500&amp;lt;br /&amp;gt;3000&amp;lt;br /&amp;gt;3000&amp;lt;br /&amp;gt;500&amp;lt;br /&amp;gt;200&amp;lt;br /&amp;gt;160&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 8. The Brake section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines the brake type and other related settings.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#BRAKE&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeType''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''BrakeType''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Electromagnetic straight air brake&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Digital/analog electro-pneumatic air brake without brake pipe (electric command brake)&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: Air brake with partial release feature&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines which brake type to use. If set to '''2''', the automatic air brake is used which uses a brake pipe across the whole train to supply each car with compressed air and to regulate the brake application. The brake pipe pressure needs time to propagate through the train, and thus, brake applications and releases are not synchonized between the cars. The train will always have separated power and brake handles, and thus, the ''HandleType'' entry inside the Handle section will be ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If set to '''0''', the electromagnetic straight air brake is used which is an enhancement to the automatic air brake. Contrary to the automatic air brake, the brake command is synchronized on all cars electrically, while the brake pipe is still used to distribute compressed air.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If set to '''1''', the electric command brake is used which does not use the classical brake pipe altogether. Each car is an individual unit having its own brake equipment, while the brake command is synchronized electronically.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeControlSystem''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''BrakeControlSystem''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: None&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Closing electromagnetic valve (lock-out valve) (締切電磁弁)&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: Delay-including control (遅れ込め制御)&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines which kind of brake control system to use. This setting only applies for the electromagnetic straight air brake and the electric command brake. With those brake systems, the motor of the train helps in braking a train (dynamic braking).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If ''BrakeControlSystem'' is set to '''0''' (none), the motor will always brake in addition to the physical brake, leading to a stronger braking force at all times.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;With '''1''' (closing electromagnetic valve), the pressure to the brake cylinder is interrupted when the train travels above the brake control speed, and the electric brake is used instead. When below the control speed, the physical brake operates normally, while the electric brake is not used.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;With '''2''' (delay-including control), the motor is used to brake the train with the deceleration setting as specified in the Performance section, and if the motor cannot provide this deceleration on its own, the physical brake is additionally used. When the train travels below the brake control speed, the physical brakes are used. However, as the physical brakes need time to fill the brake cylinder, the electric brake is still used to compensate for this delay.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The deceleration that is provided by the electric brake is calculated via the highest acceleration obtained via any of the acceleration curves in the #ACCELERATION section (let's call it ''MaximumAcceleration'') and the service brake deceleration performance as defined in the #PERFORMANCE section (let's call it ''Deceleration'') in the following way:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;0.5 * (''MaximumAcceleration'' + ''Deceleration'')&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeControlSpeed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative floating-point number measured in '''kilometers per hour''' (km/h) at which the brake control system changes operation. The setting is ignored if ''BrakeType'' is set to '''2''' or if ''BrakeControlSystem'' is set to '''0'''. See the description for ''BrakeControlSystem'' for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of Brake section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#BRAKE&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;1&amp;lt;br /&amp;gt;10&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 9. The Pressure section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines various pressures for the train brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#PRESSURE&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeCylinderServiceMaximumPressure''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''kilopascal''' (kPa) indicating the brake cylinder pressure corresponding to a full service brake application. The value is required to be less than or equal to ''BrakeCylinderEmergencyMaximumPressure''. The default value is 480.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeCylinderEmergencyMaximumPressure''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''kilopascal''' (kPa) indicating the brake cylinder pressure corresponding to an emergency brake application. The value is required to be greater than or equal to ''BrakeCylinderServiceMaximumPressure''. The default value is 480.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''MainReservoirMinimumPressure''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''kilopascal''' (kPa) indicating the pressure in the main reservoir at which the air compressor is activated until the maximum pressure is reached. The default value is 690.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''MainReservoirMaximumPressure''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''kilopascal''' (kPa) indicating the pressure in the main reservoir at which the air compressor is deactivated. As a consequence, no pressure in either of the brake components can exceed this value. The default value is 780.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Brake cylinder and main reservoir&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | Note that for all brake systems, the pressure in the brake cylinder can never exceed the highest pressure that can be produced in the main reservoir. As such, setting ''BrakeCylinderEmergencyMaximumPressure'' to a higher value than ''MainReservoirMaximumPressure'' will result in lower deceleration than set by ''Deceleration'' in the Pressure or Deceleration section. If ''BrakeCylinderEmergencyMaximumPressure'' is greater than ''MainReservoirMinimumPressure'', there might not be enough pressure available in the main reservoir to obtain a full service or emergency brake application, and also, the brake cylinder might not be exhaused immediately with the automatic air brake and the electromagnetic straight air brake.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakePipeNormalPressure''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''kilopascal''' (kPa) indicating the normal pressure in the brake pipe. The default value is chosen to be somewhere between ''BrakeCylinderEmergencyMaximumPressure'' and ''MainReservoirMinimumPressure'', ideally 490, if possible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Pressure section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#PRESSURE&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;440&amp;lt;br /&amp;gt;440&amp;lt;br /&amp;gt;690&amp;lt;br /&amp;gt;780&amp;lt;br /&amp;gt;490&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 10. The Handle section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines the type of the handle and the amount of power and brake notches.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#HANDLE&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''HandleType''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''HandleType''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Separate power and brake handles&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: One combined power and brake handle&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines which kind of handles should be used. If the train uses an automatic air brake (defined in the #BRAKE section), this setting will always be overridden to use two separate handles.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''PowerNotches''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative integer indicating how many power notches are available. There should be as many entries in the #ACCELERATION section as indicated by ''PowerNotches''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''BrakeNotches''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative integer indicating how many brake notches are available. The value is ignored for trains using automatic air brakes (defined in the #BRAKE section).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''PowerNotchReduceSteps''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative integer indicating how many notches the power handle needs to be reduced before an actual change in the power notch setting internally occurs.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dotted currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#60a0ff&amp;quot; | &amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt; '''☀''' Frequently used application:&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | If the value is set to ''PowerNotches'', the driver needs to reset the power notch to neutral before the power is actually reduced. If the driver wanted to go from power notch P4 to power notch P3, it would be first required to move down to neutral. When going down from P4 over P3, P2 and P1, the internal power output will still resemble power notch P4 during that time. Only once the neutral position is reached will the power output be actually reduced to zero. The driver could then increase the power to P3 as initially desired.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Handle section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#HANDLE&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;4&amp;lt;br /&amp;gt;8&amp;lt;br /&amp;gt;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 11. The Cab section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines the location of the driver's eyes inside the train.&amp;lt;br /&amp;gt;[[Image:illustration_cab_coordinates.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#CAB&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 20pt&amp;quot; bgcolor=&amp;quot;#e0e0e0&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;☀&amp;lt;/font&amp;gt;&lt;br /&gt;
| ''The following spelling variations can be used: ''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#0060c0&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#CAB, #COCKPIT&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A floating-point number measured in '''millimeters''' (mm) which gives the X-coordinate of the driver's eye from the center of the driver's car. Negative values indicate a location on the left side of the train, positive ones on the right side.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A floating-point number measured in '''millimeters''' (mm) which gives the Y-coordinate of the driver's eye from the top of the rails. Negative values indicate a location below the top of the rails, positive ones above the top of the rails.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Z''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A floating-point number measured in '''millimeters''' (mm) which gives the Z-coordinate of the driver's eye from the front of the driver's car. Negative values indicate a location inside the car, positive ones outside.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DriverCar''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative integer indicating which car the driver is located in. The first car in the train has index 0, the second car index 1, and so on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Cab section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#CAB&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;-900&amp;lt;br /&amp;gt;2750&amp;lt;br /&amp;gt;-1000&amp;lt;br /&amp;gt;0&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 12. The Car section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines the number of cars and their masses.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#CAR&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''MotorCarMass''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''metric tons''' (1000 kg) indicating the mass of a single motor car.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''NumberOfMotorCars''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive integer indicating how many motor cars are available in the train. Only these cars will provide acceleration.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''TrailerCarMass''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''metric tons''' (1000 kg) indicating the mass of a single trailer car. If ''NumberOfTrailerCars'' is set to 0, this value will be ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''NumberOfTrailerCars''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative integer indicating how many trailer cars are available in the train. These cars are unpowered and thus, they do not contribute to accelerating the train. If ''FrontCarIsAMotorCar'' is set to ''0'', this value is required to be at least 1.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''LengthOfACar''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''meters''' (m) indicating the length of a car. The number is applied for all the cars in the train, however, this can be overridden by the use of the '''extensions.cfg''' file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''FrontCarIsAMotorCar''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''FrontCarIsAMotorCar''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The front car is not a motor car, but a trailer car. This is the default value.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The front car is a motor car.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Basically, you cannot influence which cars are motor cars and which are trailer cars. However, you can decide on whether the front car (where the driver is located) is a motor car or not, which this entry defines. There is a number of simple setups where the assignment of motor and trailer cars is well defined:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | NumberOfMotorCars&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | NumberOfTrailerCars&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | FrontCarIsAMotorCar&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Effect&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | There is only one car, and it's a motor car.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''n''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The rear car is a motor car. All other cars (including the front car) are trailer cars. This corresponds to a locomotive pushing the train from behind.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''n''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The front car is a motor car. All other cars are trailer cars. This corresponds to a locomotive pulling the train from the front.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | There are two cars and both are motor cars.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | There are three cars. The front car is a trailer car, and the other two cars are motor cars.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | There are three cars. The front and rear cars are motor cars, and the car in the middle is a trailer car.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; In all other cases, motor cars will be uniformly distributed along the train, but the exact assignment is implementation-specific.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''WidthOfACar''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''meters''' (m) indicating the width of a car. The number is applied for all the cars in the train. It is primarily used in the calculation of toppling. The default value is 2.6&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''HeightOfACar''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''meters''' (m) indicating the height of a car. The number is applied for all the cars in the train. The value is not currently used, but will be in the future in the calculation of side winds. The default value is 3.6.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''CenterOfMassHeight''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A floating-point number measured in '''meters''' (m) indicating height above the rails at which the center of mass is located. The number is applied for all the cars in the train. The value is primarily used in the calculation of derailments. The default value is 1.6.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''ExposedFrontalArea''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''square meters''' (m²) indicating the frontal area of a car when it is fully exposed to resisting air. This is the case when the car is the front car and the train is driving forward, or the rear car when the train is driving backward. The number is applied to all the cars in the train. The value is primarily used in the calculation of air resistance. Trains usually have a lower frontal area than ''WidthOfACar'' * ''HeightOfACar'' due to the front being rounded. This is especially true for aerodynamically enhanced trains like Shinkansen. The default value is 0.6 * ''WidthOfACar'' * ''HeightOfACar''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''UnexposedFrontalArea''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A positive floating-point number measured in '''square meters''' (m²) indicating the frontal area of a car when it is not fully exposed to resisting air. This is the case when the car is in the middle of the train and thus surrounded by other cars. The number is applied to all the cars in the train. The value is primarily used in the calculation of air resistance. The default value is 0.2 * ''WidthOfACar'' * ''HeightOfACar''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Car section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#CAR&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;42&amp;lt;br /&amp;gt;4&amp;lt;br /&amp;gt;36&amp;lt;br /&amp;gt;2&amp;lt;br /&amp;gt;20&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;2.3&amp;lt;br /&amp;gt;3.4&amp;lt;br /&amp;gt;2.6&amp;lt;br /&amp;gt;7.5&amp;lt;br /&amp;gt; 1.8&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 13. The Device section&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This section defines which devices are present on the train.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#DEVICE&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This starts the section. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Ats''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Ats''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: Neither ATS-SN, nor ATS-P are available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: ATS-SN is available, but ATS-P is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: ATS-SN and ATS-P are available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines which of the default Japanese security systems ATS-SN or ATS-P are available. If the ats.cfg is used, this entry may be without effect depending on the plugin.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Atc''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Atc''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: ATC is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: ATC is available but requires manual activation.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: ATC is available and will automatically activate once transmitting. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines whether the default Japanese security system ATC is available or not. If available, the user needs to manually activate ATC ('''1'''), or the system will automatically activate ('''2''') once the ATC data is transmitting, depending on the setting of ''Atc''. If the ats.cfg is used, this entry may be without effect depending on the plugin.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Eb''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Eb''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The EB device is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The EB device is available.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines whether the EB device (alerter, or dead-man's vigilance device) is available or not. If available and the driver does not touch any of the control for 60 seconds, an alarm goes off which needs to be canceled within 5 seconds, or otherwise, an emergency brake application will be performed. If the ats.cfg is used, this entry may be without effect depending on the plugin.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''ConstSpeed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''ConstSpeed''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The constant speed device is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The constant speed device is available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines whether the constant speed device is available or not. If available, the driver can order to hold the current speed at any time. The device will increase power to hold the current speed despite of inclines and resistances which would normally slow down the train if the power handle was set to neutral. However, the constant speed device will not reduce the speed or even brake on downward gradients.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''HoldBrake''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''HoldBrake''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The hold brake device is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The hold brake device is available. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines whether the hold brake device is available or not. If available, the driver can activate the hold brake, which applies the brakes to hold the current speed on a downward gradient.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''ReAdhesionDevice''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''ReAdhesionDevice''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: A readhesion device is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The readhesion device type A is used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The readhesion device type B is used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: The readhesion device type C is used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''3'''&amp;lt;nowiki&amp;gt;: The readhesion device type D is used. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines the type of readhesion device to be used. The device tests in certain intervals (reduce interval) whether wheel slip occurs. If so, it reduces the motor output by a certain amount (reduce amount) until the wheels regain adhesion. In certain intervals (increase interval), the device increases the motor output back to normal by a certain amount (increase amount) in order to see whether wheel slip would occur again or not. There are four different types available:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Reduce interval&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Reduce amount&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Increase interval&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Increase amount&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Characteristics&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | A&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | high&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | instantly zero&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | very high&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Cuts off power instantly and rebuilds it up fast in steps.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | B&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | small&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | high&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | small&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Updates not so often and adapts slowly. Wheel slip can persist longer and power is regained slower. The behavior is smoother.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | C&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The behavior is somewhere in-between type B and type D.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | D&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | small&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | high&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | small&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | high&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Updates fast and adapts fast. Wheel slip only occurs briefly and power is regained fast. The behavior is more abrupt.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;''LoadCompensatingDevice''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''This entry is not used by openBVE.'' &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''PassAlarm''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''PassAlarm''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The pass alarm device is not available.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The pass alarm device is available and plays a single time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: The pass alarm device is available and plays in a loop.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This entry defines whether the pass alarm device is available or not. If available, the '''halt.wav''' located inside the train folder will be played a single time ('''1''') at around 400 m from the beginning of the station, or in a loop ('''2''') until the train opens the doors at the station.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DoorOpenMode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''DoorOpenMode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The doors are opened automatically, but can also be prematurely opened manually. This is the default.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The doors are opened automatically. Manual override is not possible.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: The doors can only be opened manually. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''DoorCloseMode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''DoorCloseMode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The doors are closed automatically, but can also be prematurely closed manually. This is the default.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The doors are closed automatically. Manual override is not possible.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: The doors can only be closed manually. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Device section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#DEVICE&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;1&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;1&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;2&amp;lt;br /&amp;gt;0&amp;lt;br /&amp;gt;1&amp;lt;br /&amp;gt;2&amp;lt;br /&amp;gt;2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 14. The Motor sections&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These sections define which sounds to play at a given speed for the electric motor and eletric brake, along with associated pitch and volume at that speed. There are four sections called #MOTOR_P1, #MOTOR_P2, #MOTOR_B1 and MOTOR_B2 that control the behavior.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The #MOTOR_P1 and #MOTOR_P2 sections define two independent sounds that can be played at a given time for the electric motor. The #MOTOR_B1 and #MOTOR_B2 sections define two independent sounds that can be played at a given time for the electric brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Each section starts with a corresponding #MOTOR_''Xi'' line:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;#MOTOR_&amp;lt;/nowiki&amp;gt;''Xi''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following entries define the sounds that are to be played at multiples of 0.2 km/h. The first entry corresponds to a speed of 0 km/h, the second entry to a speed of 0.2 km/h, the third entry to a speed of 0.4 km/h, and so on. There can be as many entries as desired. For example, with 800 entries, the 800&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; entry corresponds to a speed of 159.8 km/h. If the train travels at a higher speed than corresponding to the last entry, this last entry also takes effect for all higher speeds.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;An entry inside any of the #MOTOR_''Xi'' sections has the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''SoundIndex'', ''Pitch'', ''Volume''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''''SoundIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer corresponding to the Motor&amp;lt;/nowiki&amp;gt;''SoundIndex''.wav file that is to be played (default sounds), or the ''SoundIndex''&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;''FileName'' setting in the [Motor] section of the sound.cfg file. ''SoundIndex'' may also be -1 in order to indicate that no sound should be played. The default value is -1.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the pitch of the sound in percent. A value of 100 represents an unaltered sound, a value of 200 represents a sound that is played at double speed, a value of 50 represents a sound that is played at half the original speed, and so on. You should avoid values near zero. The default value is 100.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''''Volume'''''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number representing the volume of the sound. Nominal volume corresponds to a value of 128. The scale of volume is non-linear, and the exact behavior is implementation-specific. The default value is 128.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please note that the final volume is proportional to the acceleration/deceleration provided by the train. This means that if the motor only outputs a fraction of its maximum acceleration, the final volume of the motor sounds will be reduced. Likewise, if the electric brake only outputs a fraction of its maximum deceleration, the final volume of the electric brake sounds will also be reduced.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a part of a #MOTOR_P1 section:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;#MOTOR_P1&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;-1,100,36&amp;lt;br /&amp;gt;0,100,36&amp;lt;br /&amp;gt;0,100,35&amp;lt;br /&amp;gt;0,100,35&amp;lt;br /&amp;gt; 0,100,34&amp;lt;br /&amp;gt;0,100,34&amp;lt;br /&amp;gt;0,100,33&amp;lt;br /&amp;gt;0,100,33&amp;lt;br /&amp;gt;0,100,32&amp;lt;br /&amp;gt; 0,100,32&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Using_Oskari%27s_Plugin_(OS_ATS1.dll)</id>
		<title>Using Oskari's Plugin (OS ATS1.dll)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Using_Oskari%27s_Plugin_(OS_ATS1.dll)"/>
				<updated>2015-02-07T00:24:20Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;This is one of the older OpenBVE plugins, the most common plugin for most trains. It is a Win32 plugin, and it is NOT cross-platform compatible.  This allows for the use of an...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is one of the older OpenBVE plugins, the most common plugin for most trains. It is a Win32 plugin, and it is NOT cross-platform compatible.&lt;br /&gt;
&lt;br /&gt;
This allows for the use of animated destination signs, rail gaps, the train stop feature, switchable interior lighting, and more.&lt;br /&gt;
&lt;br /&gt;
More documentation will be available soon&lt;br /&gt;
&lt;br /&gt;
==Rail Gap==&lt;br /&gt;
===On Route===&lt;br /&gt;
You will need to specify this within your &amp;quot;With Structure&amp;quot; list. It is best to use a null object for the basis of the beacon. In this example, we use null.x&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
.Beacon(1) MyRoute\null.x			;beacon for power rail gaps and tripcock&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course, change the directory of the object to where it is located. For example, we put it in the Rails folder instead&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
.Beacon(1) MyRoute\Rails\null.x			;beacon for power rail gaps and tripcock&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now here is the beacon for the rail gap to place within the route:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
X, .Beacon 20; 1; 0; Y&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X represents the location where you would want to place the beacon. For example if you want to place the beacon on a switch that the train crosses for a different track, and the switch object starts at 256 meters, the location would be stated as this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
256, .Beacon 20; 1; 0; Y&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now Y represents the duration of the gap, in meters. For example, the switch is 30 meters long, then you would specify the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
256, .Beacon 20; 1; 0; 30&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And there you have it! Your new route or existing route is now equipped with the rail gap!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===On Train===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature will only work if your exterior/interior objects are associated with an .animated file rather than being a standalone .b3d or .csv object. So first, create an .animated file on notepad, and here is how it works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
States = OFF.b3d, ON.b3d&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
States = OFF.csv, ON.csv&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
States = OFF.b3d, ON.csv&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
States = OFF.csv, ON.b3d&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OFF.csv and OFF.b3d represents the object without the EmissiveColor (.b3d)/SetEmissiveColor (.csv) command being used, while ON.csv and ON.b3d represents the same object, but using the EmissiveColor/SetEmissiveColor command.&lt;br /&gt;
&lt;br /&gt;
Your train's extensions.cfg MUST specify these .animated files. For each car object, a pair of .b3d files (or .csv) needs to be made, as shown above. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the StateFunction for the rail gap to work. The OFF state must be MENTIONED FIRST before the ON state on the states list! In this example, we are using .csv objects:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
States = OFF.csv, ON.csv&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same will apply to animated doors as well, if the train includes an interior. Here is an exmaple of applying the rail gap with 2 pairs of animated doors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
Position = -1.28, 1.05, -6.67&lt;br /&gt;
States = doorLNP.b3d,doorL.b3d&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
TranslateZFunction = if[leftdoorstarget==0, min[value+delta*1.8/4.8,0], max[value-delta*0.8/1.5,-0.8]] &lt;br /&gt;
&lt;br /&gt;
[Object]&lt;br /&gt;
Position = -1.28, 1.05, -6.03&lt;br /&gt;
States = doorL1NP.b3d,doorL1.b3d&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
TranslateZFunction = if[leftdoorstarget==0, max[value-delta*1.8/4.8,0], min[value+delta*0.8/1.5,0.8]]&lt;br /&gt;
&lt;br /&gt;
[Object]&lt;br /&gt;
Position = 1.30, 1.05, -2.50&lt;br /&gt;
States = doorRNP.b3d,doorR.b3d&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
TranslateZFunction = if[rightdoorstarget==0, min[value+delta*1.8/4.8,0], max[value-delta*0.8/1.5,-0.8]]&lt;br /&gt;
&lt;br /&gt;
[Object]&lt;br /&gt;
Position = 1.30, 1.05, -1.85&lt;br /&gt;
States = doorR1NP.b3d,doorR1.b3d&lt;br /&gt;
StateFunction = pluginstate[53]&lt;br /&gt;
TranslateZFunction = if[rightdoorstarget==0, max[value-delta*1.8/4.8,0], min[value+delta*0.8/1.5,0.8]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And there you have it, your basics of applying the rail gap feature on an exterior/interior train object!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tripcock/Train Stop==&lt;br /&gt;
===On Route===&lt;br /&gt;
You will need to specify this within your &amp;quot;With Structure&amp;quot; list. It is best to associate it with a tripcock object for the basis of the beacon. In this example, we use tripcock.x&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
.Beacon(2) YOURSIGNALS\tripcock.x&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now here is the beacon for the tripcock/train stop to place within the route. It has been tested and successfully trips the train.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
X, .Beacon 44003;2;0;0,&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===On Train===&lt;br /&gt;
&lt;br /&gt;
This feature will only work if your exterior/interior objects are associated with an .animated file rather than being a standalone .b3d or .csv object. So first, create an .animated file on notepad, and here is how it works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
States = DISENGAGED.b3d, ENGAGED.b3d&lt;br /&gt;
StateFunction = pluginstate[51]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This works best for trains that have pivoting trucks/bogies or detailed trucks/bogies.&lt;br /&gt;
&lt;br /&gt;
==Animated objects==&lt;br /&gt;
===Animated Static Destination Signs===&lt;br /&gt;
&lt;br /&gt;
here's how it works:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Object]&lt;br /&gt;
States = your states here, either .b3d or .csv, separated by a comma per state.&lt;br /&gt;
Statefunction =  Mod[value+delta*pluginstate[customindicator], numberofobjects]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
THIS SECTION IS STILL INCOMPLETE. WILL BE COMPLETED LATER.&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Using_ATC</id>
		<title>Using ATC</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Using_ATC"/>
				<updated>2015-02-07T00:24:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Tutorial: Using ATC in a CSV route file&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-r...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Tutorial: Using ATC in a CSV route file&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;This tutorial is intended to guide you on how to properly set up the built-in Japanese safety system ATC in the case you want to make your route ready to use it. This page assumes that you are familiar with what ATC is. If not, please take a look at the following page first:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/use/drive.html How to drive - A quick overview on controls, ATS/ATC, signals and signs]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Setting up a route for ATC&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First of all, ATC needs to be enabled on a per-station basis. For every station for which ATC is enabled, the track from the beginning of that station until the end of the next station is ATC-equipped. The end of the ATC-enabled track is known in advance by the system, and then train will thus be braked down in time to prevent over-travel.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''In order to enable ATC:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;Track.Sta STATION; ; ; ; ; ; 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''In order to disable ATC:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;Track.Sta STATION; ; ; ; ; ; 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;In the following example, the track from station B until station C is ATC-equipped:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0000, .Sta A; ; ; ; ; ; 0&amp;lt;br /&amp;gt;0120, .Stop&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;; start of ATC-equipped track at 800&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;0800, .Sta B; ; ; ; ; ; 1&amp;lt;br /&amp;gt;0920, .Stop&amp;lt;br /&amp;gt; 1600, .Sta C; ; ; ; ; ; 0&amp;lt;br /&amp;gt;1720, .Stop&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;; end of ATC-equipped track at 1720&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;2400, .Sta D; ; ; ; ; ; 0&amp;lt;br /&amp;gt;2520, .Stop&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Signalling and ATC&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Technically, users may ignore any signals as long as the train operates in ATC. Of course you can demand otherwise on your route. In openBVE, instead of using signals, ATC receives the distance to the next train in blocks of 200m. Depending on the deceleration characteristics of the train, ATC then dictates a particular speed limit, which may be released at any time depending on the change of location of the preceding train. These 200m blocks are placed at track positions 0, 200, 400, 600, and so on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Speed limits and ATC&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When using the '''Track.Limit''' command, ATC knows the location of the immediately upcoming one in advance and automatically brakes the train before reaching that position. For example:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;100, .Limit 100&amp;lt;br /&amp;gt;800, .Limit 40 ,; is known in advance from track position 100&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is a way, however, to prevent this behavior. As ATC only knows the immediately upcoming speed limit in advance, repeating the old speed limit in close proximity to the new speed limit makes ATC only brake as soon as the repeating speed limit is reached. For example:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;100, .Limit 100&amp;lt;br /&amp;gt;799, .Limit 100&amp;lt;br /&amp;gt;800, .Limit 40 ,; is known in advance only from track position 799&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Using_ATS</id>
		<title>Using ATS</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Using_ATS"/>
				<updated>2015-02-07T00:23:19Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Tutorial: Using ATS-SN and ATS-P in a CSV route file&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentCo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Tutorial: Using ATS-SN and ATS-P in a CSV route file&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;This tutorial is intended to guide you on how to properly set up the built-in Japanese safety systems ATS-SN and ATS-P in the case you want to make your route ready to use them. This page assumes that you are familiar with what ATS-SN and ATS-P are. If not, please take a look at the following page first:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/use/drive.html How to drive - A quick overview on controls, ATS/ATC, signals and signs]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Setting up a route for ATS-SN&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For ATS-S, an S-type transponder is usually placed 600 meters in front of a red signal. The distance can of course vary with the operation speed used on the route, but is a good start for speeds up to 100 km/h. For ATS-SN, the SN-transponder is additionally placed around 20 meters in front of the signal.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● When the signal interval is larger than 600 meters&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:illustration_transponder_setup_atssn.png]]&amp;lt;br /&amp;gt;In the case that your signals are at least 600 meters apart from each other, the setup is quite easy. Place a '''Track.Tr 0''' command around 600 meters in front of any signal, and a '''Track.Tr 1''' command around 20 meters in front of any signal:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0200, .Tr 0&amp;lt;br /&amp;gt;0780, .Tr 1&amp;lt;br /&amp;gt;0800, .Signal 3;;-3;-1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● When the signal interval is smaller than 600 meters&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When signals are in placed smaller intervals, it can become necessary that an S-type transponder is placed in front of one signal, while it actually needs to reference the signal following that one. In this case, it is necessary to indicate which upcoming signal a transponder is supposed to reference. Via a '''Track.Tr ''type''&amp;lt;nowiki&amp;gt;; 0&amp;lt;/nowiki&amp;gt;''' command, the immediately following signal is referenced, while via '''Track.Tr ''type''&amp;lt;nowiki&amp;gt;; 1&amp;lt;/nowiki&amp;gt;''', the signal following that one is referenced.&amp;lt;br /&amp;gt;[[Image:illustration_transponder_setup_atssn_overlap.png]]&amp;lt;br /&amp;gt;Your code will then need to follow this scheme:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0200, .Tr 0&amp;lt;br /&amp;gt;0700, .Tr 0;1 ,; referencing signal B&amp;lt;br /&amp;gt;0780, .Tr 1&amp;lt;br /&amp;gt;0800, .Signal 3;;-3;-1 ,; signal A&amp;lt;br /&amp;gt;1280, .Tr 1&amp;lt;br /&amp;gt;1300, .Signal 3;;-3;-1 ,; signal B&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Setting up a route for ATS-P&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For ATS-P, the first pattern renewal transponder is usually placed 600 meters in front of each signal, which can also vary with the operation speed. The pattern renewal transponder is usually repeated a few times so that in the case the aspect of the signal changes, the train can be informed about the change without having to apply the brakes for too long. The pattern renewal transponder is usually placed 600 meters, 280 meters, 180 meters, 85 meters or 50 meters in front of signals, while an immediate stop transponder is usually placed either 25 meters or 30 meters in front of each signal. Which transponders are located where usually depends on the type of the signal. The following is only an example.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Signal&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 600m&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 280m&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 180m&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 85m&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 50m&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 30m&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 25m&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Departure signal&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;✗&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Block signal&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;✗&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;✗&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;✗&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Home signal&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;✓&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;✗&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Departure signals are those placed at the end of a station, block signals are signals in-between stations, and home signals are those immediately placed before stations.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● When the signal interval is larger than 600 meters&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:illustration_transponder_setup_atsp.png]]&amp;lt;br /&amp;gt;In the case that your signals are at least 600 meters apart from each other, the setup is quite easy. Place '''Track.Tr 3''' commands around 600 meters, 280 meters, 180 meters, 85 meters and 50 meters, depending on the requirements, in front of any signal, and a '''Track.Tr 4''' command around 25 meters in front of any signal:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0200, .Tr 3 ,; 600m&amp;lt;br /&amp;gt;0520, .Tr 3 ,; 280m&amp;lt;br /&amp;gt;0620, .Tr 3 ,; 180m&amp;lt;br /&amp;gt;0715, .Tr 3 ,; 85m&amp;lt;br /&amp;gt;0750, .Tr 3 ,; 50m&amp;lt;br /&amp;gt;0775, .Tr 4 ,; 25m&amp;lt;br /&amp;gt; 0800, .Signal 3;;-3;-1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● When the signal interval is smaller than 600 meters&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When signals are placed in shorter intervals, you need to be a little more careful on how to place the transponders if they need to reference signals following the immediately upcoming one. Whenever you reference signals beyond the immediately upcoming one with pattern renewal transponders or immediate stop transponders, the first signal until then which is red is referenced. This means that if you use '''Track.Tr ''type''&amp;lt;nowiki&amp;gt;;1&amp;lt;/nowiki&amp;gt;''', but the immediately upcoming signal is red, that signal will be referenced. Only otherwise, the signal behind that is referenced. Take a look at the following illustration depicting how to set up ATS-P in the case of overlapping signal ranges:&amp;lt;br /&amp;gt;[[Image:illustration_transponder_setup_atsp_overlap.png]]&amp;lt;br /&amp;gt;The corresponding code could look something like this:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;0200, .Tr 3 ,; 600m&amp;lt;br /&amp;gt;0520, .Tr 3 ,; 280m&amp;lt;br /&amp;gt;0620, .Tr 3;1 ,; 180m (signal A); 605m (signal B)&amp;lt;br /&amp;gt;0775, .Tr 4 ,; 25m (signal A);&amp;lt;br /&amp;gt;0777, .Tr 3;1 ,; 23m (signal A); 448m (signal B)&amp;lt;br /&amp;gt;0800, .Signal 3;;-3;-1 ,; signal A&amp;lt;br /&amp;gt;0945, .Tr 3 ,; 280m&amp;lt;br /&amp;gt;1045, .Tr 3 ,; 180m&amp;lt;br /&amp;gt;1140, .Tr 3 ,; 85m&amp;lt;br /&amp;gt;1175, .Tr 3 ,; 50m&amp;lt;br /&amp;gt;1200, .Tr 4 ,; 25m&amp;lt;br /&amp;gt;1225, .Signal 3;;-3;-1, ; signal B&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This code is simplified in that you would likely also want to include transponders for signal A at 85m and 50m, which you can do by using additional '''Track.Tr 3;1''' commands.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Setting up a route for both ATS-SN and ATS-P&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Often, a route equipped with ATS-P additionally employs equipment for ATS-SN, be it for trains not equipped with ATS-P, or as a fallback should ATS-P suffer from a failure. Normally, any of the S-type or SN-type transponders will activate the ATS-SN system, while any of the pattern renewal or immediate stop transponders will activate ATS-P. In order for an ATS-P-equipped train to stay in ATS-P operation all the time, you should set up all ATS-SN-related transponders to not change the current safety system. This can be done via '''Track.Tr ''type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''signal''&amp;lt;nowiki&amp;gt;; -1&amp;lt;/nowiki&amp;gt;'''.&amp;lt;br /&amp;gt;[[Image:illustration_transponder_setup_atsp_atssn.png]]&amp;lt;br /&amp;gt;You should make sure that no two transponders occupy the same location. Both the S-type and the pattern renewal transponders are usually placed 600 meters in front of each signal. If you place the pattern renewal transponder first, ATS-P can activate if not already active, and the subsequent S-type transponder will have no effect on a train equipped with ATS-P. Your code will thus need to follow this scheme:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0195, .Tr 3&amp;lt;br /&amp;gt;0200, .Tr 0;;-1&amp;lt;br /&amp;gt;0520, .Tr 3&amp;lt;br /&amp;gt;0620, .Tr 3&amp;lt;br /&amp;gt; 0715, .Tr 3&amp;lt;br /&amp;gt;0750, .Tr 3&amp;lt;br /&amp;gt;0775, .Tr 4&amp;lt;br /&amp;gt;0780, .Tr 1;;-1&amp;lt;br /&amp;gt;0800, .Signal 3;;-3;-1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the signal distance is shorter than 600 meters, you should additionally employ the techniques described in the respective sections for ATS-SN and ATS-P.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Setting up a route for the use of accidental departure transponders&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In stations, the accidental departure transponders are occasionally placed shortly after a station stop point to prevent a train from accidentally starting toward a red signal. The accidental departure transponder will trigger regardless of whether the train currently operates in ATS-SN or in ATS-P. As you can define multiple stop points per station, each being associated to a particular number of cars, any accidental departure transponder will only be active if it is behind the stop point at which the train is supposed to stop at.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You can employ the accidental departure transponder in the following way:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;0100, .Sta&amp;lt;br /&amp;gt;0178, .Stop 1;;;4&amp;lt;br /&amp;gt;0180, .Tr 2&amp;lt;br /&amp;gt;0212, .Stop 1;;;6&amp;lt;br /&amp;gt;0214, .Tr 2&amp;lt;br /&amp;gt;0246, .Stop 1;;;8&amp;lt;br /&amp;gt;0248, .Tr 2&amp;lt;br /&amp;gt;0280, .Stop 1;;;10&amp;lt;br /&amp;gt;0282, .Tr 2&amp;lt;br /&amp;gt;0300, .Signal 3;;-3;-1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If, in this code example, your train had a length of 8 cars, the transponders at 248 and 282 would bring the train to a hold immediately if the upcoming signal at 300 is red.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/CSVRouteQuickRef</id>
		<title>CSVRouteQuickRef</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/CSVRouteQuickRef"/>
				<updated>2015-02-07T00:23:00Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.csv''' route format - Quick reference&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; ma...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.csv''' route format - Quick reference&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Notes:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Arguments highlighted in &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''green'''&amp;lt;/font&amp;gt; are affected by Options.UnitOfLength.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Arguments highlighted in &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''blue'''&amp;lt;/font&amp;gt; are affected by Options.UnitOfSpeed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Optional suffixes are indicated in &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;gray&amp;lt;/font&amp;gt;. Mandatory suffixes are '''bolded'''.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Syntax variations are not possible with the $-directives.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| The statement separator is the , character.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Track positions&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt; : &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt; : &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''...''&amp;lt;/font&amp;gt; : &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Preprocessing directives&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''$Include('''''File&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Weight&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''File&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Weight&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...&amp;lt;/nowiki&amp;gt;''')'''&amp;lt;br /&amp;gt;'''$Chr('''''AsciiCode''''')'''&amp;lt;br /&amp;gt;'''$Rnd('''''Minimum'''''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;'''''Maximum''''')'''&amp;lt;br /&amp;gt;'''$Sub('''''VariableIndex''''')''' = ''Value''&amp;lt;br /&amp;gt;'''$Sub('''''VariableIndex''''')'''&amp;lt;br /&amp;gt;'''$If('''''Condition''''')'''&amp;lt;br /&amp;gt;'''$ElseIf'''()&amp;lt;br /&amp;gt;'''$EndIf'''()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Options namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Options.UnitOfLength''' ''FactorInMeters&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''...''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''Options.UnitOfSpeed''' ''FactorInKmph''&amp;lt;br /&amp;gt;'''Options.BlockLength''' ''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Length&amp;lt;/font&amp;gt;''&amp;lt;br /&amp;gt;'''Options.ObjectVisibility''' &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = legacy &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = track-based &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Options.SectionBehavior''' &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = index-based &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = value-based &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Options.CantBehavior''' &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = unsigned &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = signed &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Options.FogBehavior''' &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = block-wise &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = interpolated &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Route namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Route.Comment''' ''Text''&amp;lt;br /&amp;gt;'''Route.Image''' ''FileName''&amp;lt;br /&amp;gt;'''Route.Timetable''' ''Text''&amp;lt;br /&amp;gt;'''Route.Change''' &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''-1''' = service brakes (ATS) &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''0''' = emergency brakes (no ATS) &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = service brakes (ATS) &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Route.Gauge''' ''ValueInMillimeters''&amp;lt;br /&amp;gt;'''Route.Signal('''''Aspect''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Route.RunInterval''' ''Interval&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''Route.AccelerationDueToGravity''' ''Value''&amp;lt;br /&amp;gt;'''Route.Elevation''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Height''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Route.Temperature''' ''ValueInCelsius''&amp;lt;br /&amp;gt;'''Route.Pressure''' ''ValueInKPa''&amp;lt;br /&amp;gt;'''Route.AmbientLight''' ''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;br /&amp;gt;'''Route.DirectionalLight''' ''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;br /&amp;gt;'''Route.LightDirection''' ''Theta''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Phi''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Train namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Train.Folder''' ''FolderName''&amp;lt;br /&amp;gt;'''Train.Run('''''RailTypeIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; ''RunSoundIndex''&amp;lt;br /&amp;gt;'''Train.Flange('''''RailTypeIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; ''FlangeSoundIndex''&amp;lt;br /&amp;gt;'''Train.Timetable('''''TimetableIndex''''').Day'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Train.Timetable('''''TimetableIndex''''').Night'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Train.Gauge''' ''ValueInMillimeters''&amp;lt;br /&amp;gt;'''Train.Interval''' ''Interval&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''Train.Velocity''' &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Structure namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Structure.Rail('''''RailStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.Beacon('''''BeaconStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.Pole('''''AdditionalRailsCovered'''''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;'''''PoleStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.Ground('''''GroundStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.WallL('''''WallStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.WallR('''''WallStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.DikeL('''''DikeStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.DikeR('''''DikeStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.FormL('''''FormStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.FormR('''''FormStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.FormCL('''''FormStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.FormCR('''''FormStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.RoofL('''''RoofStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.RoofR('''''RoofStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.RoofCL('''''RoofStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.RoofCR('''''RoofStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.CrackL('''''CrackStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.CrackR('''''CrackStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Structure.FreeObj('''''FreeObjStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Texture namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Texture.Background('''''BackgroundTextureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;br /&amp;gt;'''Texture.Background('''''BackgroundTextureIndex''''').X''' ''RepetitionCount''&amp;lt;br /&amp;gt;'''Texture.Background('''''BackgroundTextureIndex''''').Aspect''' &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = fixed height &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = keep aspect ratio &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Cycle namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Cycle.Ground('''''GroundStructureIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Params&amp;lt;/font&amp;gt; ''GroundStructureIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''...''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Signal namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Signal('''''SignalIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''AnimatedObjectFile''&amp;lt;br /&amp;gt;'''Signal('''''SignalIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''SignalFileWithoutExtension''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GlowFileWithoutExtension''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Track namespace&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Rails:''&amp;lt;br /&amp;gt;'''Track.RailStart''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailStructureIndex''&amp;lt;br /&amp;gt;'''Track.Rail''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailStructureIndex''&amp;lt;br /&amp;gt;'''Track.RailType''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailStructureIndex''&amp;lt;br /&amp;gt;'''Track.RailEnd''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Track.Accuracy''' ''Value''&amp;lt;br /&amp;gt;'''Track.Adhesion''' ''Value''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Geometry:''&amp;lt;br /&amp;gt;'''Track.Pitch''' ''ValueInPermille''&amp;lt;br /&amp;gt;'''Track.Curve''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Radius''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''CantInMillimeters''&amp;lt;br /&amp;gt;'''Track.Turn''' ''Ratio''&amp;lt;br /&amp;gt;'''Track.Height''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Height''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Objects:''&amp;lt;br /&amp;gt;'''Track.FreeObj''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FreeObjStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.Wall''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''WallStructureIndex''&amp;lt;br /&amp;gt;'''Track.WallEnd''' ''RailIndex''&amp;lt;br /&amp;gt;'''Track.Dike''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DikeStructureIndex''&amp;lt;br /&amp;gt;'''Track.DikeEnd''' ''RailIndex''&amp;lt;br /&amp;gt;'''Track.Pole''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''AdditionalRailsCovered''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Location''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PoleStructureIndex''&amp;lt;br /&amp;gt;'''Track.PoleEnd''' ''RailIndex''&amp;lt;br /&amp;gt;'''Track.Crack''' ''RailIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''CrackStructureIndex''&amp;lt;br /&amp;gt;'''Track.Ground''' ''CycleIndex''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Stations:''&amp;lt;br /&amp;gt;'''Track.Sta''' ''Name''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ArrivalTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PassAlarm''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Doors''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ForcedRedSignal''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''System''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ArrivalSound''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''StopDuration''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PassengerRatio''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureSound''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''TimetableIndex''&amp;lt;br /&amp;gt;'''Track.Station''' ''Name''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ArrivalTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ForcedRedSignal''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''System''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureSound''&amp;lt;br /&amp;gt;'''Track.Stop''' ''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''BackwardTolerance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''ForwardTolerance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Cars''&amp;lt;br /&amp;gt;'''Track.Form''' ''RailIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RoofStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FormStructureIndex''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Signalling and speed limits:''&amp;lt;br /&amp;gt;'''Track.Limit''' &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Cource''&amp;lt;br /&amp;gt;'''Track.Section''' ''Aspect&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''...''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''Track.SigF''' ''SignalIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Section''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.Signal''' ''Aspects''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;''&amp;lt;strike&amp;gt;Unused&amp;lt;/strike&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.Relay''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Safety systems:''&amp;lt;br /&amp;gt;'''Track.Beacon''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BeaconStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Section''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Data''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.Transponder''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Signals''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''SwitchSystems''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.AtsSn'''&amp;lt;br /&amp;gt;'''Track.AtsP'''&amp;lt;br /&amp;gt;'''Track.Pattern''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Track.PLimit''' &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Miscellaneous:''&amp;lt;br /&amp;gt;'''Track.Back''' ''BackgroundTextureIndex''&amp;lt;br /&amp;gt;'''Track.Fog''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''StartingDistance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''EndingDistance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;br /&amp;gt;'''Track.Brightness''' ''Value''&amp;lt;br /&amp;gt;'''Track.Marker''' ''FileName''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Distance''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Track.PointOfInterest''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''X''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Y''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Text''&amp;lt;br /&amp;gt;'''Track.PreTrain''' ''Time''&amp;lt;br /&amp;gt;'''Track.Announce''' ''FileName''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Track.Doppler''' ''FileName''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Track.Buffer'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/RWRouteRef</id>
		<title>RWRouteRef</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/RWRouteRef"/>
				<updated>2015-02-07T00:22:03Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.rw''' route format - Quick reference&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; mar...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.rw''' route format - Quick reference&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Notes:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Arguments highlighted in &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''green'''&amp;lt;/font&amp;gt; are affected by UnitOfLength in [Options].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Arguments highlighted in &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''blue'''&amp;lt;/font&amp;gt; are affected by UnitOfSpeed in [Options].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Each command takes one line, except for commands starting in an @ sign, which can be chained together on the same line.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Track positions&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt; : &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt; : &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''...''&amp;lt;/font&amp;gt; : &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Number&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Preprocessing directives&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''$Include('''''File&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Weight&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''File&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Weight&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...&amp;lt;/nowiki&amp;gt;''')'''&amp;lt;br /&amp;gt;'''$Chr('''''AsciiCode''''')'''&amp;lt;br /&amp;gt;'''$Rnd('''''Minimum'''''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;'''''Maximum''''')'''&amp;lt;br /&amp;gt;'''$Sub('''''VariableIndex''''')''' = ''Value''&amp;lt;br /&amp;gt;'''$Sub('''''VariableIndex''''')'''&amp;lt;br /&amp;gt;'''$If('''''Condition''''')'''&amp;lt;br /&amp;gt;'''$ElseIf'''()&amp;lt;br /&amp;gt;'''$EndIf'''()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Options]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''UnitOfLength''' = ''FactorInMeters&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''...''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''UnitOfSpeed''' = ''FactorInKmph''&amp;lt;br /&amp;gt;'''BlockLength''' = ''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Length&amp;lt;/font&amp;gt;''&amp;lt;br /&amp;gt;'''ObjectVisibility''' = &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = legacy &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = track-based &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''SectionBehavior''' = &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = index-based &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = value-based &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''CantBehavior''' = &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = unsigned &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = signed &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''FogBehavior''' = &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = block-wise &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = interpolated &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Route]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Comment''' = ''Text''&amp;lt;br /&amp;gt;'''Image''' = ''FileName''&amp;lt;br /&amp;gt;'''Timetable''' = ''Text''&amp;lt;br /&amp;gt;'''Change''' = &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''-1''' = service brakes (ATS) &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''0''' = emergency brakes (no ATS) &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = service brakes (ATS) &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Gauge''' = ''ValueInMillimeters''&amp;lt;br /&amp;gt;'''Signal('''''Aspect''''') = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;'''&amp;lt;br /&amp;gt;'''RunInterval''' = ''Interval&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''AccelerationDueToGravity''' = ''Value''&amp;lt;br /&amp;gt;'''Elevation''' = &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Height''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Temperature''' = ''ValueInCelsius''&amp;lt;br /&amp;gt;'''Pressure''' = ''ValueInKPa''&amp;lt;br /&amp;gt;'''AmbientLight''' = ''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;br /&amp;gt;'''DirectionalLight''' = ''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;br /&amp;gt;'''LightDirection''' = ''Theta''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Phi''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Train]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Folder''' = ''FolderName''&amp;lt;br /&amp;gt;'''Run('''''RailTypeIndex''''')''' = ''RunSoundIndex''&amp;lt;br /&amp;gt;'''Flange('''''RailTypeIndex''''')''' = ''FlangeSoundIndex''&amp;lt;br /&amp;gt;'''Timetable('''''TimetableIndex''''').Day''' = ''FileName''&amp;lt;br /&amp;gt;'''Timetable('''''TimetableIndex''''').Night''' = ''FileName''&amp;lt;br /&amp;gt;'''Gauge''' = ''ValueInMillimeters''&amp;lt;br /&amp;gt;'''Interval''' = ''Interval&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;'''Velocity''' = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Object]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;'''Rail('''''RailStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''Beacon('''''BeaconStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''Pole('''''AdditionalRailsCovered''''', '''''PoleStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''Ground('''''GroundStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''WallL('''''WallStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''WallR('''''WallStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''DikeL('''''DikeStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''DikeR('''''DikeStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''FormL('''''FormStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''FormR('''''FormStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''FormCL('''''FormStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''FormCR('''''FormStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''RoofL('''''RoofStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''RoofR('''''RoofStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''RoofCL('''''RoofStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''RoofCR('''''RoofStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''CrackL('''''CrackStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''CrackR('''''CrackStructureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''FreeObj('''''FreeObjStructureIndex''''') = ''FileName'''''&amp;lt;br /&amp;gt;'''Back('''''BackgroundTextureIndex''''')''' = ''FileName''&amp;lt;br /&amp;gt;'''Back('''''BackgroundTextureIndex''''').X''' = ''RepetitionCount''&amp;lt;br /&amp;gt;'''Back('''''BackgroundTextureIndex''''').Aspect''' = &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;{ &amp;lt;/font&amp;gt; '''0''' = fixed height &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; | &amp;lt;/font&amp;gt; '''1''' = keep aspect ratio &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt; }&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Cycle]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;''GroundStructureIndex'' = ''GroundStructureIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''...''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Signal]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;''SignalIndex'' = ''AnimatedObjectFile''&amp;lt;br /&amp;gt;''SignalIndex'' = ''SignalFileWithoutExtension''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GlowFileWithoutExtension''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;[Railway]&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Rails:''&amp;lt;br /&amp;gt;'''@RailStart'''(''RailIndex'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''RailStructureIndex'')&amp;lt;br /&amp;gt;'''@Rail'''(''RailIndex'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''RailStructureIndex'')&amp;lt;br /&amp;gt;'''@RailType'''(''RailIndex'', ''RailStructureIndex'')&amp;lt;br /&amp;gt;'''@RailEnd'''(''RailIndex'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;'''@Accuracy'''(''Value'')&amp;lt;br /&amp;gt;'''@Adhesion'''(''Value'')&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Geometry:''&amp;lt;br /&amp;gt;'''@Pitch'''(''ValueInPermille'')&amp;lt;br /&amp;gt;'''@Curve'''(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Radius''&amp;lt;/font&amp;gt;, ''CantInMillimeters'')&amp;lt;br /&amp;gt;'''@Turn'''(''Ratio'')&amp;lt;br /&amp;gt;'''@Height'''(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Height''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Objects:''&amp;lt;br /&amp;gt;'''@FreeObj'''(''RailIndex'', ''FreeObjStructureIndex'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''Yaw'', ''Pitch'', ''Roll'')&amp;lt;br /&amp;gt;'''@Wall'''(''RailIndex'', ''Direction'', ''WallStructureIndex'')&amp;lt;br /&amp;gt;'''@WallEnd'''(''RailIndex'')&amp;lt;br /&amp;gt;'''@Dike'''(''RailIndex'', ''Direction'', ''DikeStructureIndex'')&amp;lt;br /&amp;gt;'''@DikeEnd'''(''RailIndex'')&amp;lt;br /&amp;gt;'''@Pole'''(''RailIndex'', ''AdditionalRailsCovered'', ''Location'', ''Interval'', ''PoleStructureIndex'')&amp;lt;br /&amp;gt;'''@PoleEnd'''(''RailIndex'')&amp;lt;br /&amp;gt;'''@Crack'''(''RailIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''RailIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''CrackStructureIndex'')&amp;lt;br /&amp;gt;'''@Ground'''(''CycleIndex'')&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Stations:''&amp;lt;br /&amp;gt;'''@Sta'''(''Name'', ''ArrivalTime'', ''DepartureTime'', ''PassAlarm'', ''Doors'', ''ForcedRedSignal'', ''System'', ''ArrivalSound'', ''StopDuration'', ''PassengerRatio'', ''DepartureSound'', ''TimetableIndex'')&amp;lt;br /&amp;gt;'''@Station'''(''Name'', ''ArrivalTime'', ''DepartureTime'', ''ForcedRedSignal'', ''System'', ''DepartureSound'')&amp;lt;br /&amp;gt;'''@Stop'''(''Direction'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''BackwardTolerance''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''ForwardTolerance''&amp;lt;/font&amp;gt;, ''Cars'')&amp;lt;br /&amp;gt;'''@Form'''(''RailIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''RailIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''RoofStructureIndex'', ''FormStructureIndex'')&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Signalling and speed limits:''&amp;lt;br /&amp;gt;'''@Limit'''(&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;, ''Direction'', ''Cource'')&amp;lt;br /&amp;gt;'''@Section'''(''Aspect&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'', ''Aspect&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''...'', ''Aspect&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'')&amp;lt;br /&amp;gt;'''@SigF'''(''SignalIndex'', ''Section'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''Yaw'', ''Pitch'', ''Roll'')&amp;lt;br /&amp;gt;'''@Signal'''(''Aspects'', &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;''&amp;lt;strike&amp;gt;Unused&amp;lt;/strike&amp;gt;''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''Yaw'', ''Pitch'', ''Roll'')&amp;lt;br /&amp;gt;'''@Relay'''(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''Yaw'', ''Pitch'', ''Roll'')&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Safety systems:''&amp;lt;br /&amp;gt;'''@Beacon'''(''Type'', ''BeaconStructureIndex'', ''Section'', ''Data'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''Yaw'', ''Pitch'', ''Roll'')&amp;lt;br /&amp;gt;'''@Transponder'''(''Type'', ''Signals'', ''SwitchSystems'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;, ''Yaw'', ''Pitch'', ''Roll'')&amp;lt;br /&amp;gt;'''@AtsSn'''&amp;lt;br /&amp;gt;'''@AtsP'''&amp;lt;br /&amp;gt;'''@Pattern'''(''Type'', &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;'''@PLimit'''(&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Miscellaneous:''&amp;lt;br /&amp;gt;'''@Back'''(''BackgroundTextureIndex'')&amp;lt;br /&amp;gt;'''@Fog'''(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''StartingDistance''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''EndingDistance''&amp;lt;/font&amp;gt;, ''RedValue'', ''GreenValue'', ''BlueValue'')&amp;lt;br /&amp;gt;'''@Brightness'''(''Value'')&amp;lt;br /&amp;gt;'''@Marker'''(''FileName'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Distance''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;'''@PointOfInterest'''(''RailIndex'', ''X'', ''Y'', ''Yaw'', ''Pitch'', ''Roll'', ''Text'')&amp;lt;br /&amp;gt;'''@PreTrain'''(''Time'')&amp;lt;br /&amp;gt;'''@Announce'''(''FileName'', &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;'''@Doppler'''(''FileName'', &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;)&amp;lt;br /&amp;gt;'''@Buffer'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/RW_Routes</id>
		<title>RW Routes</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/RW_Routes"/>
				<updated>2015-02-07T00:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.rw''' route format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; m...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.rw''' route format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The RW route format is functionally equivalent to the CSV route format, but differs in syntax, structure and choice of words. Given that the RW route format is not frequently used any longer, it is recommended to use the CSV route format instead.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;There is no full documentation on RW routes, only the quick reference which illustrates the available commands and syntax:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ [[RWRouteRef|Quick reference...]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please refer to the documentation for CSV routes for the behavior of the various commands, but mind that choice of words and syntax differ in CSV. You can also compare against the [[CSVRouteQuickRef|quick reference for CSV routes]] to work out the differences between the formats.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''Behavioral differences between CSV and RW'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In RW, comments starting with a semicolon can only be used at the end of a line inside the [Railway] section. Outside of the [Railway] section, comments must appear on their own line.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In RW, every piece of text before the first [Section] is considered part of the route description, which is Route.Comment in CSV.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In RW, the default @Height at the beginning of the route is 0.3 meters, while in CSV, the default Track.Height is 0.0 meters. Additionally, every value passed to @Height is added an additional 0.3 meters in RW.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In RW, the second argument to @Form can take special values: -9 is the same as L, 9 is the same as R, and 9X references rail 9. In CSV, -9 is invalid and 9 references rail 9.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/CSV_Routes</id>
		<title>CSV Routes</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/CSV_Routes"/>
				<updated>2015-02-07T00:21:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.csv''' route format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;    =&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Overview&amp;lt;/font&amp;gt;=  A C...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.csv''' route format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Overview&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
A CSV route allows to create a route in a text file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Loose''' (unless otherwise stated), however, you are encouraged to produce ''Strict'' output nonetheless. The file is required to be located inside any folder whose current or parent folder includes the ''Railway'' and ''Train'' folders. The file name is arbitrary, but must have the extension '''.csv'''. The file is interpreted on a per-line basis, from top to bottom, where each line is split into expressions, which are interpreted from left to right.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The route file consists of a series of commands to define the objects which are used throughout the route (Structure namespace). Additional properties for the route, for the default train to be used and for the background images to be used can also be defined. At last, the route file will contain instructions from the Track namespace. Here, track positions (usually in meters) are used to define when the track should curve, when stations are to be placed, when a wall should start and end, and so on. Generally speaking, instructions from the Track namespace should be used after using instructions from any of the other namespaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The format assumes an implicit rail 0 which cannot be explicitly started or ended. Instead, it is present from the beginning of the route to the end, and it marks the rail the player's train drives on. All other rails in the CSV format are purely visual and have no functional purpose.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Geometrically, you can curve and pitch the implicit rail 0, while all other rails are defined relative to rail 0 and follow rail 0 into curves and pitch changes. Unless overridden, the file format is built around a fixed block size of 25 meters length, and it is only possible for certain commands to be used on 25 meter block boundaries. The placement of objects always assumes a non-curved coordinate system which connects blocks linearly.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
➟ [[CSVRouteQuickRef|See also the quick reference for the CSV route...]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 2px groove currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#c04040&amp;quot; | &amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt; Check these tutorials out:&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | &lt;br /&gt;
*[http://www.bvestation.com/forums/index.php?topic=2772.0 .CSV Route Building Part 1 By ipac]&lt;br /&gt;
*[http://www.bvestation.com/forums/index.php?topic=2773.0 .CSV Route Building Part 2 By ipac]&lt;br /&gt;
*[http://www.freewebs.com/dennislance/ Dennis Lance's Route Building Tutorials]&lt;br /&gt;
*[http://www.freewebs.com/dennislance/modifying%20existing%20routes.htm Modifying Existing .CSV Routes By Dennis Lance]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Syntax&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
For each line in the file, white spaces at the beginning and the end of that line are ignored. Then, lines are split into individual expressions, separated by commas (U+002C). Thus, each line is of the following form:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Expression&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''Expression&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''Expression&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''Expression&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In turn, each expression can be of any of the following forms:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;Comments&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A comment is completely ignored by the parser. To form a comment, the expression must begin with a semicolon (U+003B).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;Track positions and lengths&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Position''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A non-negative [http://trainsimframework.org/develop/information_numberformats.html strict] floating-point number corresponding to a track position. All subsequent commands from the Track namespace are associated to this track position.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''Part&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;''Part&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;:...:&amp;lt;/nowiki&amp;gt;''Part&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is a more complex way of specifying track positions for use in conjunction with Options.UnitOfLength. Each of the ''Part&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' is a [http://trainsimframework.org/develop/information_numberformats.html strict] floating-point number. ''Part&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' will be multiplied with ''Factor&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''Part&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'' with ''Factor&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', and so on, then all products are added together to form the final track position. This track position must be non-negative. The parts are separated by colons (U+003A). Please consult Options.UnitOfLength for further information on how to define the factors.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Whereever arguments in commands represent lengths, they can also be entered using the colon notation. These cases are highlighted in &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;green&amp;lt;/font&amp;gt; in the following.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;When ''n'' units are defined via Options.UnitOfLength, but fewer parameters are given using the colon notation, the parameters are right-associative, meaning, the parameters on the left are those which are skipped. Therefore, each of the following lengths are equivalent: ''0:0:2'', ''0:2'', and ''2''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;Commands&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands without arguments:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''NameOfTheCommand''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Commands with arguments:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''NameOfTheCommand'' ''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;''NameOfTheCommand''(''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'')&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Commands with indices and arguments:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''NameOfTheCommand''(''Index&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Index&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Index&amp;lt;sub&amp;gt;m&amp;lt;/sub&amp;gt;'') ''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;''NameOfTheCommand''(''Index&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Index&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Index&amp;lt;sub&amp;gt;m&amp;lt;/sub&amp;gt;'').''Suffix'' ''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;''NameOfTheCommand''(''Index&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Index&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Index&amp;lt;sub&amp;gt;m&amp;lt;/sub&amp;gt;'').''Suffix''(''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;;...;&amp;lt;/nowiki&amp;gt;''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'')&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Rules:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''NameOfTheCommand'' is case-insensitive. Indices and arguments are separated by semicolons (U+003B). White spaces around ''NameOfTheCommand'' and any of the indices and arguments are ignored. White spaces surrounding any of the parantheses are also ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If indices are used, these are enclosed by opening parantheses (U+0028) and closing parantheses (U+0029). At least one argument, or a ''Suffix'' is mandatory when using indices.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;There are two variations on how to encode arguments. Except for the $-directives ($Chr, $Rnd, $Sub, ...), you can freely choose which variant to use. Variant 1: The first argument is separated from the command, indices or ''Suffix'' by at least one space (U+0020). Variant two: The arguments are enclosed by opening parantheses (U+0028) and closing parantheses (U+0029). In the latter case, ''Suffix'' is mandatory when used in conjunction with indices. White spaces surrounding any of the parantheses are ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please note that in some commands, ''Suffix'' is mandatory regardless of the style you use to encode arguments. In the following, ''Suffix'' will be '''bolded''' when it is mandatory, and &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;grayed&amp;lt;/font&amp;gt; when it is optional.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''With''' statement&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;With ''Prefix''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All subsequent commands that start with a period (U+002E) are prepended by ''Prefix''. For example:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Route&amp;lt;br /&amp;gt;.Gauge 1435&amp;lt;br /&amp;gt;.Timetable 1157_M&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Is equivalent to:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;Route.Gauge 1435&amp;lt;br /&amp;gt;Route.Timetable 1157_M&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Preprocessing&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Before any of the commands in the route file are actually interpreted, the expressions are preprocessed. The first thing done is to replace any occurences of the $-directives within an expression from right to left. The $Chr, $Rnd and $Sub directives may be nested in any way, while $Include, $If, $Else and $EndIf must not appear inside another directive.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | The syntax for the $-directives cannot be freely chosen, but must adhere to the forms presented below.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Include==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$Include(''File'')&amp;lt;br /&amp;gt; $Include(''File''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;''TrackPositionOffset'')&amp;lt;br /&amp;gt; $Include(''File&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Weight&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''File&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Weight&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...)&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''File&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A file to include of the same format (CSV/RW) as the main file.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Weight&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number giving a probability weight for the corresponding file. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This directive chooses randomly from the specified files based on their associated probabilities and includes the content from one selected file into the main file. The content is copied into the place of the $Include directive, meaning that you need to take care of track positions and the last used With statement, for example. If the last weight in the argument sequence is omitted, it is treated as 1.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The $Include directive is useful for splitting up a large file into smaller files, for sharing common sections of code between multiple routes, and for choosing randomly from a larger block of code. Please note that the included files may themselves include other files, but you need to make sure that there are no circular dependencies, e.g. file A including file B, and file B including file A, etc. You should use a file extension different from .csv for included files so that users cannot accidentally select them in the main menu (except where this is desired).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If any of the ''File&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' is followed by :''TrackPositionOffset'', then all expressions in the included file are offset by the specified track position '''in meters'''. For example, $Include(stations.include:2000) shifts all track positions in the part.include file by 2000 meters before including them. It is important to understand that &amp;quot;track positions&amp;quot; are not actually understood until after the $-directives have been processed, so all expressions in the included file are simply flagged to be offset later should they form track positions then. This means that if the included file contains expressions such as 1$Rnd(2;8)00, these are offset, too, even though at this stage, they do not form track positions yet.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | The track position offset feature is only available in the development release 1.2.11 and above.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==$Chr(''Ascii'')==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$Chr(''Ascii'')&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Ascii'''''&amp;lt;nowiki&amp;gt;: An integer in the range from 20 to 127, or 10 or 13, corresponding to an ASCII character of the same code.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This directive is replaced by the ASCII character represented by ''Ascii''. This is useful if you want to include characters that are part of syntax rules or would be stripped away. A list of relevant characters:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Code&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Meaning&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Character&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 10&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Newline&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''newline''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 13&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Newline&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''newline''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 20&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Space&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''space''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 40&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Opening parantheses&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | (&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 41&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Closing parantheses&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | )&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 44&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Comma&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ,&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 59&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Semicolon&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The sequence $Chr(13)$Chr(10) is handled as a single newline. Inserting $Chr(59) can be interpreted as a comment starter or as an argument separator, depending on where it is used.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$Rnd(''Start''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''End'')&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Start'''''&amp;lt;nowiki&amp;gt;: An integer representing the lower bound.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''End'''''&amp;lt;nowiki&amp;gt;: An integer representing the upper bound.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This directive is replaced by a random integer in the range from ''Start'' to ''End''. It is useful to add randomness to a route.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example for the use of the $Rnd directive:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;10$Rnd(3;5)0, Track.FreeObj 0; 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Possible outcome from the previous example is exactly '''one''' of these lines:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1030, Track.FreeObj 0; 1&amp;lt;br /&amp;gt;1040, Track.FreeObj 0; 1&amp;lt;br /&amp;gt;1050, Track.FreeObj 0; 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==$Sub(''Index'')==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$Sub(''Index'') = ''Expression''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Index'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the index of a variable.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Expression'''''&amp;lt;nowiki&amp;gt;: The expression to store in the variable.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This directive should only appear as a single expression. It is used to assign ''Expression'' to a variable identified by ''Index''. The whole $Sub directive is replaced by an empty string once the assignment is done. It is useful for storing values obtained by the $Rnd directive in order to reuse the same randomly-generated value. See the following definition of the $Sub(''Index'') directive for examples.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | '''Implementation note:''' While it is also possible to store non-numeric strings, it is not possible to include commas via $Chr(44) and have them work as a statement separator. However, it is possible to store a semicolon as the first character via $Chr(59) and have it work as a comment. For conditional expressions, you should use $Include or $If, though.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Index==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$Sub(''Index'')&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Index'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the index of the variable to retrieve. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This directive is replaced by the content of the variable ''Index''. The variable must have been assigned prior to retrieving it.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example for the use of the $Sub(''Index'')=''Value'' and $Sub(''Index'') directives:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;$Sub(0) = $Rnd(3; 5)&amp;lt;br /&amp;gt;1000, Track.FreeObj $Sub(0); 47&amp;lt;br /&amp;gt;1020, Track.FreeObj $Sub(0); 47&amp;lt;br /&amp;gt;1040, Track.FreeObj $Sub(0); 47&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the previous example, all three Track.FreeObj commands are guaranteed to use the same randomly-generated value in order to place a free object on the same rail. If you inserted the $Rnd(3;5) directive in each of the three lines individually, the objects could be placed on different rails each time.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$If(''Condition'')==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$If(''Condition'')&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Condition'''''&amp;lt;nowiki&amp;gt;: A number that represents &amp;lt;/nowiki&amp;gt;'''false''' if zero, and '''true''' otherwise. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The $If directive allows to only process subsequent expressions if the specified condition evaluates to true (any non-zero number). $If must be followed by $EndIf in any subsequent expression. Optionally, an $Else directive may appear between $If and $EndIf.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$Else()==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$Else()&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The $Else directive allows to only process subsequent expressions if the condition in the preceding $If evaluated to false (zero).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$EndIf()==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;$EndIf()&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The $EndIf directive marks the end of an $If block that was started previously.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of $If, $Else and $EndIf''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;$Sub(1) = 0&amp;lt;br /&amp;gt;With Track&amp;lt;br /&amp;gt;$If($Sub(1))&amp;lt;br /&amp;gt;     1020, .FreeObj 0; 1&amp;lt;br /&amp;gt;     1040, .FreeObj 0; 2&amp;lt;br /&amp;gt; $Else()&amp;lt;br /&amp;gt;     1030, .FreeObj 0; 3&amp;lt;br /&amp;gt; $EndIf()&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Another example of $If, $Else and $EndIf''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;1050&amp;lt;br /&amp;gt;$If($Rnd(0;1)), .FreeObj 0; 4, $Else(), .FreeObj 0; 5, $EndIf()&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;It is possible to nest $If blocks. If you place $If/$Else/$EndIf on separate lines, you may want to employ indentation to improve readability of the block structure (as in the first example).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==After the $-directives==&lt;br /&gt;
&lt;br /&gt;
'''Finally''', after the $-directives have been processed, all expressions in the route file are sorted according to their associated track positions.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a partial route file:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.FreeObj 0; 23&amp;lt;br /&amp;gt;1050, Track.RailType 0; 1&amp;lt;br /&amp;gt;10$Rnd(3;7)0, Track.Rail 1; 4&amp;lt;br /&amp;gt;Track.FreeObj 1; 42&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Preprocessing the $Rnd directive (assuming 3 is produced):''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.FreeObj 0; 23&amp;lt;br /&amp;gt;1050, Track.RailType 0; 1&amp;lt;br /&amp;gt;1030, Track.Rail 1; 4&amp;lt;br /&amp;gt;Track.FreeObj 1; 42&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Sorting by associated track positions:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.FreeObj 0; 23&amp;lt;br /&amp;gt;1030, Track.Rail 1; 4&amp;lt;br /&amp;gt;Track.FreeObj 1; 42&amp;lt;br /&amp;gt; 1050, Track.RailType 0; 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The Options namespace&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands from this namespace provide generic options that affect the way other commands are processed. You should make use of commands from this namespace before making use of commands from other namespaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.UnitOfLength''' ''FactorInMeters&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FactorInMeters&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing how many meters the desired unit has. The default value is 1 for &amp;lt;/nowiki&amp;gt;''FactorInMeters&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', and 0 for all others.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command can be used to specify the unit of length to be used in other commands. When entering a generic track position of the form ''Part&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;''Part&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;:...:&amp;lt;/nowiki&amp;gt;''Part&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'', each of the ''Part&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' will be multipled with the corresponding ''FactorInMeters&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'', then all of these products are added to form a single track position represented in meters. Ideally, you should set the block length to an integer multiple of any of the units you use via Options.BlockLength.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Examples of conversion factors:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Desired unit&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Conversion factor&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | mile&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1609.344&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | chain&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 20.1168&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | meter&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | yard&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0.9144&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | foot&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0.3048&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;In the following, all arguments of all commands are highlighted in &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;green&amp;lt;/font&amp;gt; whenever they are affected by Options.UnitOfLength.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.UnitOfSpeed''' ''FactorInKmph''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FactorInKmph'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing how many kilometes per hour the desired unit has. The default value is 1.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command can be used to specify the unit of speed to be used in other commands. Examples of conversion factors:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Desired unit&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Conversion factor&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | meters/second&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3.6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | miles/hour&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1.609344&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | kilometers/hour&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;In the following, all arguments of all commands are highlighted in &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;blue&amp;lt;/font&amp;gt; whenever they are affected by Options.UnitOfSpeed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.BlockLength''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Length''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Length'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the length of a block, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default is 25 meters. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command can be used to specify the length of a block. This is an overall setting and cannot be changed in the middle of the route. ''Length'' is only expressed in the unit specified by Options.UnitOfLength if Options.UnitOfLength is used before Options.BlockLength.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.ObjectVisibility''' ''Mode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Mode'''''&amp;lt;nowiki&amp;gt;: The mode determining how objects appear and disappear. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Mode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Legacy: An object is made invisible as soon as the end of the block which it resides in has been passed by the camera. This does not work well when turning the camera around. Self-intersecting track (e.g. loops) is not possible.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Track-based: An object is made invisible as soon as its end has been passed by the camera. This is measured in track positions. Self-intersecting track (e.g. loops) is not possible. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.SectionBehavior''' ''Mode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Mode'''''&amp;lt;nowiki&amp;gt;: The mode determining how the Track.Section command is processed.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Mode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Default: In Track.Section &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'', any of the ''Aspect&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' refer to the aspect the section should have if ''i'' following sections are clear.&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Simplified: In Track.Section &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Aspect&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'', the section bears the smallest aspect which is higher than that of the following section.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.CantBehavior''' ''Mode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Mode'''''&amp;lt;nowiki&amp;gt;: The mode determining how cant in the Track.Curve command is processed.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Mode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Unsigned: The &amp;lt;/nowiki&amp;gt;''CantInMillimeters'' parameter in Track.Curve is unsigned, i.e. the sign is ignored and the superelevation is always towards the curve center (inward). Cant cannot be applied on straight track.&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Signed: The &amp;lt;/nowiki&amp;gt;''CantInMillimeters'' parameter in Track.Curve is signed, i.e. negative values bank outward and positive ones inward on curved track. Cant can be applied on straight track, where negative values bank toward the left and positive ones toward the right.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Options.FogBehavior''' ''Mode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Mode'''''&amp;lt;nowiki&amp;gt;: The mode determining how the Track.Fog command is processed. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Mode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Block-based: Fog color and ranges are interpolated from the beginning of the block where Track.Fog is used with the old settings to the end of the block with the new settings.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Interpolated: Fog color and ranges are interpolated between adjacent Track.Fog commands. This behavior mimicks Track.Brightness. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 5. The Route namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands from this namespace define general properties of the route.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Comment''' ''Text''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Text'''''&amp;lt;nowiki&amp;gt;: The route comments which appear in the route selection dialog.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | You need to use $Chr directives if you want to include newlines, commas and the like in the text.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Image''' ''File''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''File'''''&amp;lt;nowiki&amp;gt;: The file name of the image which appears in the route selection dialog, relative to the route's folder.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Timetable''' ''Text''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Text'''''&amp;lt;nowiki&amp;gt;: The text which appears at the top of the default timetable.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | You need to use $Chr directives if you want to include newlines, commas and the like in the text.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Change''' ''Mode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Mode'''''&amp;lt;nowiki&amp;gt;: The mode for the train's safety system to start in. The default value is implementation-specific. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Mode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: The safety system is &amp;lt;/nowiki&amp;gt;'''activated''' and the ''service'' brakes are applied.&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The safety system is &amp;lt;/nowiki&amp;gt;'''activated''' and the '''emergency''' brakes are applied.&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The safety system is &amp;lt;/nowiki&amp;gt;''deactivated'' and the '''emergency''' brakes are applied.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Gauge''' ''ValueInMillimeters''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInMillimeters'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the rail gauge, measured in &amp;lt;/nowiki&amp;gt;'''millimeters''' (0.001 meters). The default value is 1435. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 20pt&amp;quot; bgcolor=&amp;quot;#e0e0e0&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;☀&amp;lt;/font&amp;gt;&lt;br /&gt;
| ''Note: ''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#0060c0&amp;quot;&amp;gt;Route.Gauge is the same as Train.Gauge.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Signal'''(''AspectIndex'')&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''AspectIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the signal aspect. The aspect 0 corresponds to red.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''''Speed'''''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;: A non-negative floating-point number representing the allowed speed for this aspect, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''kilometers per hour''' (km/h). &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use this command to associate speed limits to signal aspects. Aspect 0 represents a red signal, higher values represent more permissive aspects. The default values (for the included Japanese signals) are:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | ''Index''&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Aspect&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 25 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 55 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 75 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''unlimited''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''unlimited''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.RunInterval''' ''Interval&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Interval&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the time interval between the player's train's timetable and that of another train to be created, measured in &amp;lt;/nowiki&amp;gt;'''seconds'''. Positive values indicate an earlier train, negative numbers a later train.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates one or more preceding or following trains. These other trains are visible, fully operational, and use the same train as the player has. The other trains follow the same schedule as the player does, but are offset in time by ''Interval&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;''. Via the Track.Sta command, you can also define stations where only the player or only the other trains should stop. Follow-up trains only appear once the section they are placed in has been cleared by other trains, but the player's train is introduced regardless of the current signalling section's state. Therefore, you should make sure that other trains have cleared the area where the player's train will appear when the scenario begins.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 20pt&amp;quot; bgcolor=&amp;quot;#e0e0e0&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;☀&amp;lt;/font&amp;gt;&lt;br /&gt;
| ''Note: ''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#0060c0&amp;quot;&amp;gt;Route.RunInterval is the same as Train.Interval.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.AccelerationDueToGravity''' ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the acceleration due to gravity in &amp;lt;/nowiki&amp;gt;'''meters per second squared''' (m/s²). The default value is 9.80665. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Elevation''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Height''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''''Height'''''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;: A floating-point number representing the initial height above sea level, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters''' (m). The default value is 0. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Temperature''' ''ValueInCelsius''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the initial temperature in &amp;lt;/nowiki&amp;gt;'''Celsius'''. The default value is 20.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.Pressure''' ''ValueInKPa''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInKPa'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the initial air pressure in &amp;lt;/nowiki&amp;gt;'''kPa''' (1000 Pascal). The default value is 101.325.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.AmbientLight''' ''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RedValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the red component of the ambient light. The default value is 160.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GreenValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the green component of the ambient light. The default value is 160.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''BlueValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the blue component of the ambient light. The default value is 160.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the ambient light color to be used. All polygons in the scene are illuminated by the ambient light regardless of the light direction.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.DirectionalLight''' ''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RedValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the red component of the directional light. The default value is 160.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GreenValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the green component of the directional light. The default value is 160.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''BlueValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the blue component of the directional light. The default value is 160.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the directional light to be used. The polygons in the scene are only fully illuminated by the directional light if the light direction points at the front faces. If pointing at back faces, no light is contributed. ''Route.LightDirection'' should be set to specify the light direction.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Route.LightDirection''' ''Theta''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Phi''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Theta'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the angle in &amp;lt;/nowiki&amp;gt;'''degrees''' which controls the pitch of the light direction. The default value is 60.&amp;lt;br /&amp;gt;'''''Phi'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the angle in &amp;lt;/nowiki&amp;gt;'''degrees''' which controls the planar rotation of the light direction. The default value is about -26.57.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the initial light direction for track position 0. This is the direction the light shines at, meaning the opposite direction the sun is located at. First, ''Theta'' determines the pitch. A value of 90 represents a downward direction, while a value of -90 represents an upward direction. With those extremes, the value of ''Phi'' is irrelevant. A value of 0 for ''Theta'' represents a forward direction originating at the horizon behind. Once the pitch is defined by ''Theta'', ''Phi'' determines the rotation in the plane. A value of 0 does not rotate, a value of 90 rotates the direction to the right and a value of -90 rotates to the left. A backward direction can be both obtained by setting ''Theta'' and ''Phi'' to 180 and 0 or to 0 and 180, respectively. Values in-between allow for more precise control of the exact light direction.&amp;lt;br /&amp;gt;[[Image:illustration_light_direction.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Converting a spherical direction (theta,phi) into a cartesian direction (x,y,z):''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;x = cos(theta) * sin(phi)&amp;lt;br /&amp;gt;y = -sin(theta)&amp;lt;br /&amp;gt;z = cos(theta) * cos(phi)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Converting a cartesian direction (x,y,z) into a spherical direction (theta,phi) for y²≠1:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;theta = -arctan(y/sqrt(x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+z&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;))&amp;lt;br /&amp;gt;phi = arctan(z,x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Converting a cartesian direction (x,y,z) into a spherical direction (theta,phi) for y²=1:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;theta = -y * pi/2&amp;lt;br /&amp;gt;phi = 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the formulas above, [http://functions.wolfram.com/ElementaryFunctions/Cos/02 ''cos(x)''] represents the cosine, [http://functions.wolfram.com/ElementaryFunctions/Sin/02 ''sin(x)''] the sine, [http://functions.wolfram.com/ElementaryFunctions/ArcTan/02 ''arctan(x)''] the inverse tangent, [http://functions.wolfram.com/ElementaryFunctions/ArcTan2/02 ''arctan(x,y)''] the two-argument inverse tangent and [http://functions.wolfram.com/ElementaryFunctions/Sqrt/02 ''sqrt(x)''] the square root. The formulas can be used to convert between spherical and cartesian coordinates if working with either one seems more intuitive than working with the other one. The formulas also serve as the official documentation on how the light direction is mathematically defined (using radians for the trigonometric functions).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;'''Route.DeveloperID'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This command is ignored by openBVE. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 6. The Train namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands from this namespace define route-train associations.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;Train.Folder ''FolderName''&amp;lt;br /&amp;gt;Train.File ''FolderName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FolderName'''''&amp;lt;nowiki&amp;gt;: The folder name of the default train to use on this route.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Run'''(''RailTypeIndex'')&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; ''RunSoundIndex''&amp;lt;br /&amp;gt;'''Train.Rail'''(''RailTypeIndex'')&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; ''RunSoundIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailTypeIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail type as defined via Structure.Rail and used via Track.RailType.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''RunSoundIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the train's run sound to associate to the rail type. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The train developer provides a repertoire of different run sounds. Use this command to associate these run sounds to the rail types you use in your route. In order for the correct run sounds to be played on any of your rail types, you need to coordinate your efforts with the train developer. Please see the page about [http://trainsimframework.org/develop/information_standards.html standards] for further information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Flange'''(''RailTypeIndex'')&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Set&amp;lt;/font&amp;gt; ''FlangeSoundIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailTypeIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail type as defined via Structure.Rail and used via Track.RailType.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''RunSoundIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the train's flange sound to associate to the rail type.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The train developer provides a repertoire of different flange sounds. Use this command to associate these flange sounds to the rail types you use in your route. In order for the correct flange sounds to be played on any of your rail types, you need to coordinate your efforts with the train developer. Please see the page about [http://trainsimframework.org/develop/information_standards.html standards] for further information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Timetable'''(''TimetableIndex'')'''.Day'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; FileName&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''TimetableIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the timetable index.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The file name for the daytime version of the timetable, relative to the train's folder (1&amp;lt;/nowiki&amp;gt;&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt; choice), or relative to the '''Object''' folder (2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; choice).&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use this command to load daytime versions of the timetable. Which timetable index to show starting with a particular station can be set in Track.Sta commands.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Timetable'''(''TimetableIndex'')'''.Night'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; FileName&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''TimetableIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the timetable index.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The file name for the daytime version of the timetable, relative to the train's folder (1&amp;lt;/nowiki&amp;gt;&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt; choice), or relative to the '''Object''' folder (2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; choice).&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use this command to load nighttime versions of the timetable. Which timetable index to show starting with a particular station can be set in Track.Sta commands.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Gauge''' ''ValueInMillimeters''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInMillimeters'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the rail gauge, measured in &amp;lt;/nowiki&amp;gt;'''millimeters''' (0.001 meters). The default value is 1435. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 20pt&amp;quot; bgcolor=&amp;quot;#e0e0e0&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;☀&amp;lt;/font&amp;gt;&lt;br /&gt;
| ''Note: ''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#0060c0&amp;quot;&amp;gt;Train.Gauge is the same as Route.Gauge.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Interval''' ''Interval&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''Interval&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''ValueInSeconds'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the time interval between the player's train and the preceding train, measured in &amp;lt;/nowiki&amp;gt;'''seconds'''. The default value is 0. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Same as Route.RunInterval. See there for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Train.Velocity''' &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the maximum speed the preceding trains may travel at, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''kilometers per hour''', or 0 for infinite speed. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the maximum speed limit the preceding trains may travel at. The actual speed limit may be reduced by Track.Limit commands. The player's train is unaffected by this setting and may travel up to the limits defined by Track.Limit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;'''Train.Acceleration'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This command is ignored by openBVE. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;'''Train.Station'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;This command is ignored by openBVE. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 7. The Structure namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The commands in the Structure namespace define which objects to use in other commands. Generally, commands like Track.Rail, Track.FreeObj and so on create objects referenced by a ''StructureIndex''. This ''StructureIndex'' is specific to that command, so you can define a set of objects specific to Track.Rail, Track.FreeObj and so on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The general syntax for commands in the Structure namespace is:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Structure.''Command''(''StructureIndex'')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''StructureIndex'' is a non-negative integer. ''FileName'' is the object file to load, relative to the '''Object''' folder. ''Command'' is any of the following commands:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | ''Command''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Remarks&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Ground&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines objects for Cycle.Ground and Track.Ground.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Rail&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines objects for Track.Rail, Track.RailStart and Track.RailType.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | WallL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines left objects for Track.Wall.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | WallR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines right objects for Track.Wall.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DikeL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines left objects for Track.Dike.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DikeR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines right objects for Track.Dike.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FormL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines left platforms edges for Track.Form.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FormR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines right platforms edges for Track.Form.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FormCL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines transformable left platforms for Track.Form. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;No ANIMATED objects supported.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FormCR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines transformable right platforms for Track.Form. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;No ANIMATED objects supported.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | RoofL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines left roof edges for Track.Form.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | RoofR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines right roof edges for Track.Form.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | RoofCL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines transformable left roofs for Track.Form. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;No ANIMATED objects supported.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | RoofCR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines transformable rigth roofs for Track.Form. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;No ANIMATED objects supported.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | CrackL&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines transformable left objects for Track.Crack. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;No ANIMATED objects supported.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | CrackR&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines transformable right objects for Track.Crack. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;No ANIMATED objects supported.&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FreeObj&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines objects for Track.FreeObj.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Beacon&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Defines objects for Track.Beacon.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Generally, supported objects are B3D, CSV, X and ANIMATED. However, the FormCL, FormCR, RoofCL, RoofCR, CrackL and CrackR commands only accept B3D, CSV and X objects.&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/develop/route_formroofcrack.html More information about forms, roofs and cracks...]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Additionally, there is the Structure.Pole command, which has a slightly different syntax:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Structure.Pole(''NumberOfAdditionalRails''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PoleStructureIndex'')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''NumberOfAdditionalRails'''''&amp;lt;nowiki&amp;gt;: An non-negative integer representing the number of additional rails covered by the pole. 0 creates a pole for one rail, 1 for two rails, etc.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''PoleStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the pole structure index.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The object file to load, relative to the &amp;lt;/nowiki&amp;gt;'''Object''' folder.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Please note that all objects but the FreeObj are inserted at the beginning of a block and should thus extend from 0 to ''BlockLength'' (by default 25m) on the z-axis. For further information on usage, see the respective commands from the Track namespace.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 8. The Texture namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands from this namespace define which background images to use and how they are aligned.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:illustration_background.png]]&amp;lt;br /&amp;gt;The background image is displayed as a cylindric wall around the camera whose start (viewed from above) is 60 degrees to the left of the initial forward direction (at the 10 o'clock position). From there, the background image wraps clock-wise around the cylinder with a repetition count specified via Texture.Background(''BackgroundTextureIndex'').X, which by default creats 6 repetitions in a full circle.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The upper 3/4 of the image is displayed above the horizon, while the lower 1/4 is displayed below the horizon. Via Texture.Background(''BackgroundTextureIndex'').Aspect, you can choose whether to have a fixed cylinder height or to preserve the aspect ratio of the texture. If the image should have a fixed height, the cylinder has a height of 1/2 its radius, which corresponds to about 20 degree inclination to the top of the image, and about -7 degrees to the bottom of the image. If the aspect ratio of the image is preserved, this takes not only the width and height of the image into account, but also the repetition count.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Regardless of the repetition count you chose, you should make sure that the left and right edges of the textures fit seamlessly together. Please also take into account that top and bottom caps are created which sample from the top and bottom 10% of the image. You should avoid mountain peaks and similar extremes in the top 10% of the image in order for such extremes to not leak into the top cap.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The image loaded into Texture.Background(0) is displayed at the beginning of the route, unless a Track.Back command at the beginning of the route requests a different image.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Texture.Background(''BackgroundTextureIndex'')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''FileName''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The texture file to load, relative to the &amp;lt;/nowiki&amp;gt;'''Object''' folder.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command loads a background image to be later used by Track.Back.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Texture.Background(''BackgroundTextureIndex'').X''' ''RepetitionCount''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RepetitionCount'''''&amp;lt;nowiki&amp;gt;: The number of times the background image is repeated in a full circle. The default value is 6.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Texture.Background(''BackgroundTextureIndex'').Aspect''' ''Mode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Mode'''''&amp;lt;nowiki&amp;gt;: The mode of aspect ratio handling to use. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Mode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Use a fixed height for the cylinder.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: Preserve the aspect ratio of the image. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 9. The Cycle namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Cycle.Ground(''GroundStructureIndex'')&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Params&amp;lt;/font&amp;gt; ''GroundStructureIndex&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''GroundStructureIndex&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''GroundStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer indicating the ground structure index for which a cycle is to be defined.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GroundStructureIndex&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A non-negative integer indicating a ground structure that has been previously loaded via Structure.Ground.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When usually using Track.Ground(''GroundStructureIndex''), the same ground structure object will be repeatedly placed in every block. Via Cycle.Ground, you can override this behavior and automatically cycle through a series of different objects when using Track.Ground(''GroundStructureIndex''). The cycle repeats indefinately, where ''GroundStructureIndex&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'' starts at track position 0. Technically, the ''i'' in ''GroundStructureIndex&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' chosen for a particular track position ''p'' is &amp;lt;tt&amp;gt;Mod[''p'' / BlockLength, ''n'']&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Consider the following definition:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Structure&amp;lt;br /&amp;gt;.Ground(0) grass.csv&amp;lt;br /&amp;gt;.Ground(1) river.csv&amp;lt;br /&amp;gt;.Ground(2) asphalt.csv&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following two codes will produce the same output:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0, .Ground 0&amp;lt;br /&amp;gt;25, .Ground 1&amp;lt;br /&amp;gt;50, .Ground 2&amp;lt;br /&amp;gt;75, .Ground 0&amp;lt;br /&amp;gt;100, .Ground 1&amp;lt;br /&amp;gt;125, .Ground 2&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;; and so on...&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Cycle&amp;lt;br /&amp;gt;.Ground(0) 0; 1; 2&amp;lt;br /&amp;gt;With Track&amp;lt;br /&amp;gt;0, .Ground 0&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 10. The Signal namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands from this namespace define custom signals.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Signal('''''SignalIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''AnimatedObjectFile''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''SignalIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the signal index.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''AnimatedObjectFile'''''&amp;lt;nowiki&amp;gt;: A reference to an animated object file, relative to the &amp;lt;/nowiki&amp;gt;'''Object''' folder.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use this command to load signals directly from animated objects. The ''SignalIndex'' can be later referenced in Track.SigF commands to place the signal.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Signal('''''SignalIndex''''')'''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt; ''SignalFileWithoutExtension''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GlowFileWithoutExtension''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''SignalIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the signal index.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''SignalFileWithoutExtension'''''&amp;lt;nowiki&amp;gt;: A reference to a B3D/CSV/X object file representing the signal, relative to the &amp;lt;/nowiki&amp;gt;'''Object''' folder, but without the file extension. '''Is required to be specified.'''&amp;lt;br /&amp;gt;'''''GlowFileWithoutExtension'''''&amp;lt;nowiki&amp;gt;: An optional reference to a B3D/CSV/X object file representing the distance glow, relative to the &amp;lt;/nowiki&amp;gt;'''Object''' folder, but without the file extension. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use this command to load signals from a series of individual textures applied onto a common object. openBVE looks for X, CSV and B3D objects in this exact order. Textures are required to have the same name as the signal or glow, plus a non-negative aspect index, plus a file extension for textures. The ''SignalIndex'' can be later referenced in Track.SigF commands to place the signal.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For the ''SignalFileWithoutExtension'', there should be the following files present (example):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''SignalFileWithoutExtension'''''.x'''&amp;lt;br /&amp;gt;''SignalFileWithoutExtension'''''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;0&amp;lt;/font&amp;gt;.bmp'''&amp;lt;br /&amp;gt;''SignalFileWithoutExtension'''''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;.bmp'''&amp;lt;br /&amp;gt;''SignalFileWithoutExtension'''''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;2&amp;lt;/font&amp;gt;.bmp'''&amp;lt;br /&amp;gt;''SignalFileWithoutExtension'''''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;''n''&amp;lt;/font&amp;gt;.bmp'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The aspect indices from 0 through ''n'' represent successively more permissive aspects, where 0 is red. The built-in signals, for example, use the indices 0 (&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;), 1 (&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;), 2 (&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;), 3 (&amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;), 4 (&amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;) and 5 (&amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;). You can use as many as required.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;All faces in the object will be applied the currently active aspect texture. This means that you cannot use any other texture in the object, but still have to assign texture coordinates appropriately. For the glow object, the above rules also apply. The glow object is usually a rectangle placed clearly in front of the signal, although you can also use different shapes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The glow textures deserve special attention. All glow textures are pre-processed in the following way:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | A&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | B&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | C&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | D&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | E&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[Image:illustration_glow_1.png]]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[Image:illustration_glow_2.png]]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[Image:illustration_glow_3.png]]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[Image:illustration_glow_4.png]]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[Image:illustration_glow_5.png]]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[Image:illustration_glow_6.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The texture you start with should have a sharp shape, usually oval. The shape should be fully saturated in the core and blend into pure white at its outer rim. The surroundings of the shape can be either pure black (A) or pure white (B).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;When openBVE loads the glow texture, it will replace all purely black pixels with purely white pixels, thus arriving at (B). From there, the image is inverted (C), then hue-shifted by 180 degrees (D). Compared to (B), this has the overall effect of inverting the lightness of the image, i.e. fully saturated pixels will be left unchanged (e.g. the core), while bright pixels (such as the outer rim of the shape) will become dark, and vice versa. Then, the image is gamma-corrected to further darken the dark parts (E), and finally, the image is blurred slightly (F).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The resulting texture is always additively blended. This means that instead of directly drawing the texture onto the screen, the pixels of the texture are added to the screen pixels. Here, adding black (0) does not change the screen pixels, while adding a fully satured color channel (1) will result in a fully satured color channel, e.g. adding white produces white. Keep in mind that when designing the textures, you will have to follow the inverse rules, e.g. design the image as depicted in (A) or (B), while having in mind how it will be processed afterward.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 11. The Track namespace&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands from this namespace define the track layout. Commands from this namespace should appear after commands from any of the other namespaces, and they usually form the largest part of the route file.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Use of track positions&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | All commands from the Track namespace need to be associated to track positions. Once a track position has been defined, all subsequent commands are associated to this track position until a new track position is defined. If you do not explicitly state a track position before the first command of the Track namespace is used, 0 will be assumed. While you do not need to use track positions in ascending order, series of commands which are associated the same track position will be sorted into ascending order once the file is loaded. While track positions can be any non-negative floating-point number, many commands in the Track namespace are only to be applied at the beginning of a block, which is 25m by default. For the default situation, this means that some commands are only to be used at track positions 0, 25, 50, 75, 100, 125 and so on. All commands for which this restriction applies are marked as such.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.1. Rails&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.RailStart''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailType''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A positive integer (&amp;lt;/nowiki&amp;gt;'''&amp;gt;=1''') indicating which rail index to use.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the horizontal distance from the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate left, positive ones right.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the vertical distance from the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate below, positive ones above.&amp;lt;br /&amp;gt;'''''RailType'''''&amp;lt;nowiki&amp;gt;: A non-negative integer referencing the rail type to use as defined by a Structure.Rail command.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command starts a new rail represented by the index ''RailIndex''. Upon the point where this command is used, a rail of the same ''RailIndex'' must either not have been used so far in the route, or must have been ended via a Track.RailEnd command. If a rail of the same ''RailIndex'' was already used in the route, the default values of ''X'', ''Y'' and ''RailType'' are the values last used by that rail, otherwise 0. If the rail is to be updated, use the Track.Rail command. If it is to be ended, use the Track.RailEnd command. You can end a rail of a given ''RailIndex'' and start a new rail of the same ''RailIndex'' at the same track position provided that the old rail is first ended and the new rail started afterward. For every block, a structure, determined by ''RailType'', is automatically placed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Rail''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailType''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A positive integer (&amp;lt;/nowiki&amp;gt;'''&amp;gt;=1''') indicating which rail index to use.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the horizontal distance from the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate left, positive ones right.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the vertical distance from the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate below, positive ones above.&amp;lt;br /&amp;gt;'''''RailType'''''&amp;lt;nowiki&amp;gt;: A non-negative integer referencing the rail type to use as defined by a Structure.Rail command.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command starts a new rail or updates an existing rail. The rail is represented by the index ''RailIndex''. If a rail of the same ''RailIndex'' was already used in the route, the default values of ''X'', ''Y'' and ''RailType'' are the values last used by that rail, otherwise 0. If the rail is to be ended, use the Track.RailEnd command. You can end a rail of a given ''RailIndex'' and start a new rail of the same ''RailIndex'' at the same track position provided that the old rail is first ended and the new rail started afterward. In each block, the ''X'' and ''Y'' values are repeated if a Track.Rail command is not used for that block. As a consequence, updating the ''X'' or ''Y'' values affects the layout of the rail from the preceding block only. Changing the ''RailType'' will affect the rail from the point on where this command is used. If this command is used multiple times on the same track position for the same rail, then the first instance of the command takes effect, while subsequent ones are ignored.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Track.RailStart vs. Track.Rail&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | If you want to start a new rail, you can either use Track.RailStart or Track.Rail. When using Track.RailStart, you provide markup that a new rail is in fact to be started, which is invalid if the rail already exists. Using an explicit Track.RailStart will protect you from using a ''RailIndex'' which is already in use, in which case an error message is generated.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.RailType''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailType''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer indicating which rail index to change. The player's rail can be referred to with index &amp;lt;/nowiki&amp;gt;'''0'''. The default value is 0.&amp;lt;br /&amp;gt;'''''RailType'''''&amp;lt;nowiki&amp;gt;: A non-negative integer referencing the rail type to use as defined by a Structure.Rail command. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command changes the rail type for an existing rail, represented by ''RailIndex''. The rail must have been started with a Track.RailStart or Track.Rail command and must not have been ended by a Track.RailEnd command. Changing the ''RailType'' will affect the rail from the point on where this command is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.RailEnd''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A positive integer (&amp;lt;/nowiki&amp;gt;'''&amp;gt;=1''') indicating which rail index to use.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the horizontal distance from the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate left, positive ones right.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the vertical distance from the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate below, positive ones above. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command ends an existing rail, represented by the index ''RailIndex''. The default values of ''X'' and ''Y'' are the ones last used by the rail. Once this command is used for a specific ''RailIndex'', the corresponding rail is considered to be non-existing afterward.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of Track.RailStart, Track.Rail, Track.RailType and Track.RailEnd commands''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;1000, .RailStart 1; 3.8; 0.0; 0&amp;lt;br /&amp;gt;1025, .RailType 1; 1&amp;lt;br /&amp;gt;1050, .Rail 1; 1.9; 0.0; 0&amp;lt;br /&amp;gt;1075, .RailEnd 1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the preceding example, rail 1 starts with an x-value of 3.8 and bears a rail index which corresponds to an object intended to depict a straight rail. The rail keeps the x-value of 3.8 at track position 1025, where the rail type is changed to correspond to an object intended to depict an s-shaped curve. At track position 1050, the rail is redefined to have an x-value of 1.9, after which the rail is straight again until 1075, where it is ended, still having an x-value of 1.9.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Accuracy''' ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number representing the accuracy of the track. The default value is 2.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the accuracy of the track from this point on. Values should be in the range from 0 to 4, where 0 means perfect accuracy (no inaccuracy at all), 1 means very good accuracy (high speed lines), 2 means good accuracy, 3 means mediocre accuracy, and 4 means poor accuracy. Intermediate values are also possible. Currently, values below 0 are clamped at 0, and values above 4 are clamped at 4.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Adhesion''' ''Rate''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Rate'''''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number measured in percent representing the adhesion of the track. The default value is 100.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the adhesion of the track from this point on. As a reference, the value of 135 represents dry conditions, 85 represents frost and 50 represents snowy conditions. With a value of 0, the train will not be able to move at all.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.2. Geometry&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Pitch''' ''Rate''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Rate'''''&amp;lt;nowiki&amp;gt;: A floating-point number measured in per thousands representing the pitch of the track. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the pitch of all rails from this point on. Negative values indicate a downward gradient, positive ones an upward gradient. The value of 0 represents a level track. ''Rate'' can be calculated from a length difference ''X'' and a height difference ''Y'' in the following way:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''Rate'' expressed through ''X'' and ''Y''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;''Rate'' = 1000 * ''Y'' / ''X''&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Curve''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Radius''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''CantInMillimeters''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Radius''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the radius of the curve, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''CantInMillimeters'''''&amp;lt;nowiki&amp;gt;: A floating-point number which represents the superelevation of a banked curve, &amp;lt;/nowiki&amp;gt;'''always''' measured in '''millimeters''' (0.001 meters). The default value is 0. See also Options.CantBehavior.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the radius of the curve for the player's rail from this point on. Negative values for ''Radius'' indicate a curve to the left, positive ones to the right. The value of 0 represents straight track. The ''CantInMillimeters'' parameter defines the cant (superelevation) in millimeters. If Options.CantBehavior is 0 (default), only the absolute value of ''CantInMillimeters'' is considered, and the superelevation is always towards the curve center (inward). Also, cant cannot be applied on straight track. If Options.CantBehavior is 1, ''CantInMillimeters'' is signed, i.e. negative values bank outward and positive ones inward on curved track. Also, cant can be applied on straight track, where negative values bank toward the left and positive ones toward the right.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Turn''' ''Ratio''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Rate'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing a turn. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a point-based turn at the point of insertion. ''Ratio'' indicates the ratio between the length difference ''Z'' and the horizontal offset ''X'' in the following way:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ƒ&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#ffd8c0&amp;quot; | &amp;lt;tt&amp;gt;''Ratio'' = ''X'' / ''Z''&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A negative ratio represents a turn to the left, a positive one to the right. The value of 0 represents a straight track.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command is deprecated - use Track.Curve instead.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Height''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the height of the player's rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in meters.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the height of the player's rail above the ground at the point of insertion. It influences the placement of the ground objects defined via Structure.Ground and changed via Track.Ground. The height is interpolated between adjacent Track.Height commands. For example, the following two codes produce equivalent results:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Track.Height command interpolated at 25m boundaries:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.Height 1&amp;lt;br /&amp;gt;1075, Track.Height 4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of Track.Height explicitly set each 25m to produce the same result:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.Height 1&amp;lt;br /&amp;gt;1025, Track.Height 2&amp;lt;br /&amp;gt;1050, Track.Height 3&amp;lt;br /&amp;gt;1075, Track.Height 4&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.3. Objects&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.FreeObj''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FreeObjStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to place the object. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''FreeObjStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the object to place as defined via Structure.FreeObj. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The x-offset from the (straight) rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values represent the left, positive ones the right. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The y-offset from the (straight) rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values represent below the top of the rails, positive ones above. The default value is 0.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This places a &amp;quot;free&amp;quot; object a single time on a specified rail. The object must have been loaded via Structure.FreeObj(''FreeObjStructureIndex'') prior to using this command.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Wall''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''WallStructureIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to start or update the wall. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Direction'''''&amp;lt;nowiki&amp;gt;: An integer indicating which wall to use as described below.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''WallStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the object to place as defined via Structure.WallL and Structure.WallR. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Direction''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: The WallL object (left wall) is used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Both the WallL and WallR objects are used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The WallR object (right wall) is used.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts or updates a wall on a specified rail. The object must have been loaded via Structure.WallL(''WallObjectIndex'') or Structure.WallR(''WallObjectIndex'') prior to using this command. The walls are placed at the beginning of every block until a corresponding Track.WallEnd ends the wall for this rail. Please note that walls are resurrected if a rail is ended via Track.RailEnd and then started again via Track.RailStart or Track.Rail unless the wall was also ended via Track.WallEnd.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.WallEnd''' ''RailIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to end an existing wall. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This ends an existing wall that was previously started via Track.Wall on a specified rail. The wall is not placed for the block in which this command is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Dike''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DikeStructureIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to start or update the dike. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Direction'''''&amp;lt;nowiki&amp;gt;: An integer indicating which dike to use as described below.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''DikeStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the object to place as defined via Structure.DikeL and Structure.DikeR. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Direction''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: The DikeL object (left dike) is used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Both the DikeL and DikeR objects are used.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The DikeR object (right dike) is used.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts or updates a dike on a specified rail. The object must have been loaded via Structure.DikeL(''DikeObjectIndex'') or Structure.DikeR(''DikeObjectIndex'') prior to using this command. The dikes are placed at the beginning of every block until a corresponding Track.DikeEnd ends the dike for this rail. Please note that dikes are resurrected if a rail is ended via Track.RailEnd and then started again via Track.RailStart or Track.Rail unless the dike was also ended via Track.DikeEnd.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.DikeEnd''' ''RailIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to end an existing dike. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This ends an existing dike that was previously started via Track.Dike on a specified rail. The dike is not placed for the block in which this command is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Pole''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''NumberOfAdditionalRails''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Location''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Interval''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PoleStructureIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to start or update the pole. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''NumberOfAdditionalRails'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the amount of additional rails covered by this pole (i.e. this rail, plus &amp;lt;/nowiki&amp;gt;''NumberOfAdditionalRails'' rails). The default value is 0.&amp;lt;br /&amp;gt;'''''Location'''''&amp;lt;nowiki&amp;gt;: If &amp;lt;/nowiki&amp;gt;''NumberOfAdditionalRails'' is 0, the side on which the pole is placed (see below), or the x-offset in multiples of 3.8 meters if ''NumberOfAdditionalRails'' is at least 1. The default value is 0.&amp;lt;br /&amp;gt;'''''Interval'''''&amp;lt;nowiki&amp;gt;: An integer multiple of the block length specifying the interval in which poles are placed.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''PoleStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the object to place as defined via Structure.Pole. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts or updates a pole on a specified rail. The object must have been loaded via Structure.Pole(''NumberOfAdditionalRails''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PoleStructureIndex'') prior to using this command. The poles are placed at the beginning of every block whose track positions are an integer multiple of the ''Interval'' (that is not necessarily at the same location this command is placed). If ''NumberOfAdditionalRails'' is 0, ''Location'' indicates the side of the rail on which the pole is placed. If ''Location'' is less than or equal to 0, the pole is placed as-is (corresponding to the left side). If ''Location'' is greater than 0, the object is mirrored on the x-axis and then placed (corresponding to the right side). If ''NumberOfAdditionalRails'' is greater than or equal to 1, ''Location'' specifies the x-offset in multiples of 3.8 meters. Please note that poles are resurrected if a rail is ended via Track.RailEnd and then started again via Track.RailStart or Track.Rail unless the pole was also ended via Track.PoleEnd.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.PoleEnd''' ''RailIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail on which to end an existing pole. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This ends an existing pole that was previously started via Track.Pole on a specified rail. The pole is not placed for the block in which this command is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;'''Track.Crack''' ''RailIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''CrackStructureIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;[[Image:construction_16.png]] Description not available yet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Ground''' ''CycleIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''CycleIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the cycle of ground objects to place as defined via Structure.Ground or Cycle.Ground.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This defines which ground objects to place from this point on. Ground objects are always placed at the beginning of a block at a certain height below the player's rail (as defined via Track.Height). If no cycle was defined for ''CycleIndex'', then the object loaded into Structure.Ground(''CycleIndex'') is placed. Otherwise, the cycle of ground objects as defined via Cycle.Ground(''CycleIndex'') is used.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.4. Stations&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Sta''' ''Name''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ArrivalTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PassAlarm''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Doors''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ForcedRedSignal''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''System''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ArrivalSound''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''StopDuration''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''PassengerRatio''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureSound''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''TimetableIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Name'''''&amp;lt;nowiki&amp;gt;: The name of the station. This is displayed in the timetable and in messages, so should not be omitted.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''ArrivalTime'''''&amp;lt;nowiki&amp;gt;: The &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#times time] the player's train is expected to arrive at this station. Special values may also appear - see below.&amp;lt;br /&amp;gt;'''''DepartureTime'''''&amp;lt;nowiki&amp;gt;: The &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#times time] the player's train is expected to depart from this station. Special values may also appear - see below.&amp;lt;br /&amp;gt;'''''PassAlarm'''''&amp;lt;nowiki&amp;gt;: Indicates whether the pass alarm device should remind the driver of stopping at this station. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Doors'''''&amp;lt;nowiki&amp;gt;: Indicates which doors should open at this station. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''ForcedRedSignal'''''&amp;lt;nowiki&amp;gt;: Indicates whether the signal behind the last station stop should be red on a train approach. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''System'''''&amp;lt;nowiki&amp;gt;: Indicates which built-in safety system should apply until the next station. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''ArrivalSound'''''&amp;lt;nowiki&amp;gt;: The sound file to be played on arrival, relative to the &amp;lt;/nowiki&amp;gt;'''Sound''' folder.&amp;lt;br /&amp;gt;'''''StopDuration'''''&amp;lt;nowiki&amp;gt;: A positive floating-point number indicating the minimum stop duration in seconds, including door opening/closing times. The default value is 15.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''PassengerRatio'''''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number indicating the relative amount of passengers in the train from this station on. As a reference, 100 represents a train with normal amount of passengers, while 250 represents an over-crowded train. Values in-between 0 and 250 should be used. The default value is 100.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''DepartureSound'''''&amp;lt;nowiki&amp;gt;: The sound file to be played before departure (departure time minus sound duration minus door closing time), relative to the &amp;lt;/nowiki&amp;gt;'''Sound''' folder.&amp;lt;br /&amp;gt;'''''TimetableIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the timetable to be shown from this station on as defined via Train.Timetable(&amp;lt;/nowiki&amp;gt;''TimetableIndex''). &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''ArrivalTime''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''time''&amp;lt;nowiki&amp;gt;: The train is expected to arrive at this particular time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;''omitted''&amp;lt;nowiki&amp;gt;: The train may arrive at any time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''P''' or '''L'''&amp;lt;nowiki&amp;gt;: All trains are expected to pass this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''B'''&amp;lt;nowiki&amp;gt;: The player's train is expected to pass this station, while all other trains are expected to stop.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''S'''&amp;lt;nowiki&amp;gt;: The player's train is expected to stop at this station, while all other trains are expected to pass.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''S:'''''time''&amp;lt;nowiki&amp;gt;: The player's train is expected to arrive at this particular time, while all other trains are expected to pass.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''DepartureTime''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''time''&amp;lt;nowiki&amp;gt;: The train is expected to depart at this particular time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;''omitted''&amp;lt;nowiki&amp;gt;: The train may depart at any time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''T''' or '''&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;'''&amp;lt;nowiki&amp;gt;: This is the terminal station. If &amp;lt;/nowiki&amp;gt;''ForcedRedSignal'' is set to 1, the departure signal will be held at red indefinately.&amp;lt;br /&amp;gt;'''T:'''''time''&amp;lt;nowiki&amp;gt;: This is the terminal station. If &amp;lt;/nowiki&amp;gt;''ForcedRedSignal'' is set to 1, the departure signal will still switch to green before the specified time as if this was a regular station.&amp;lt;br /&amp;gt;'''C'''&amp;lt;nowiki&amp;gt;: This is a station at which to &amp;quot;change ends&amp;quot;. See the description below.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''C:'''''time''&amp;lt;nowiki&amp;gt;: This is a station at which to &amp;quot;change ends&amp;quot;. Changing ends will take place at the specified time unless &amp;lt;/nowiki&amp;gt;''StopDuration'' interferes. See the description below. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''PassAlarm''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The pass alarm device does not remind the driver of stopping at this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The pass alarm device reminds the driver of stopping at this station.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Doors''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''L''' or '''-1'''&amp;lt;nowiki&amp;gt;: The left doors are expected to open at this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''N''' or '''0'''&amp;lt;nowiki&amp;gt;: No doors are expected to open at this station, i.e. the train should simply come to a hold.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''R''' or '''1'''&amp;lt;nowiki&amp;gt;: The right doors are expected to open at this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''B'''&amp;lt;nowiki&amp;gt;: Both the left and right doors are expected to open at this station.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''ForcedRedSignal''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Signals are unaffected by this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The signal immediately following the last station stop is hold at red until the train reaches the stopping area and the departure time.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''System''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''ATS''' or '''0'''&amp;lt;nowiki&amp;gt;: ATS should be used from this station on. The following track is not be equipped with ATC.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''ATC''' or '''1'''&amp;lt;nowiki&amp;gt;: ATC should be used from this station on. The following track is equipped with ATC.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command initializes a new station. It should be placed at the beginning of the station platform. In order to finalize the creation of a station, use the Track.Stop command to place stop points following this command. All following Track.Stop commands will be associated to this station. At least one Track.Stop command must follow if trains are expected to stop at this station.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Stations can be marked as &amp;quot;changing ends&amp;quot; in the departure time. At such stations, when the departure time has been reached, the train will automatically jump to the next station. This feature is intended to fake a reverse of traveling direction without the need to jump to stations manually from the menu.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | The &amp;quot;changing ends&amp;quot; feature is only available in the development release 1.2.11 and above.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Station''' ''Name''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ArrivalTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureTime''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''ForcedRedSignal''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''System''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''DepartureSound''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Name'''''&amp;lt;nowiki&amp;gt;: The name of the station. This is displayed in the timetable and in messages, so should not be omitted.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''ArrivalTime'''''&amp;lt;nowiki&amp;gt;: The &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#times time] the player's train is expected to arrive at this station. Special values may also appear - see below.&amp;lt;br /&amp;gt;'''''DepartureTime'''''&amp;lt;nowiki&amp;gt;: The &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#times time] the player's train is expected to depart from this station. Special values may also appear - see below.&amp;lt;br /&amp;gt;'''''ForcedRedSignal'''''&amp;lt;nowiki&amp;gt;: Indicates whether the signal behind the last station stop should be red on a train approach. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''System'''''&amp;lt;nowiki&amp;gt;: Indicates which built-in safety system should apply until the next station. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''DepartureSound'''''&amp;lt;nowiki&amp;gt;: The sound file to be played before departure (departure time minus sound duration minus door closing time), relative to the &amp;lt;/nowiki&amp;gt;'''Sound''' folder. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''ArrivalTime''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''time''&amp;lt;nowiki&amp;gt;: The train is expected to arrive at this particular time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;''omitted''&amp;lt;nowiki&amp;gt;: The train may arrive at any time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''P''' or '''L'''&amp;lt;nowiki&amp;gt;: All trains are expected to pass this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''B'''&amp;lt;nowiki&amp;gt;: The player's train is expected to pass this station, while all other trains are expected to stop.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''S'''&amp;lt;nowiki&amp;gt;: The player's train is expected to stop at this station, while all other trains are expected to pass.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''S:'''''time''&amp;lt;nowiki&amp;gt;: The player's train is expected to arrive at this particular time, while all other trains are expected to pass.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''DepartureTime''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''time''&amp;lt;nowiki&amp;gt;: The train is expected to depart at this particular time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;''omitted''&amp;lt;nowiki&amp;gt;: The train may depart at any time.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''T''' or '''&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;'''&amp;lt;nowiki&amp;gt;: This is the terminal station. If &amp;lt;/nowiki&amp;gt;''ForcedRedSignal'' is set to 1, the departure signal will be held at red indefinately.&amp;lt;br /&amp;gt;'''T:'''''time''&amp;lt;nowiki&amp;gt;: This is the terminal station. If &amp;lt;/nowiki&amp;gt;''ForcedRedSignal'' is set to 1, the departure signal will still switch to green before the specified time as if this was a regular station.&amp;lt;br /&amp;gt;'''C'''&amp;lt;nowiki&amp;gt;: This is a station at which to &amp;quot;change ends&amp;quot;. See the description below.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''C:'''''time''&amp;lt;nowiki&amp;gt;: This is a station at which to &amp;quot;change ends&amp;quot;. Changing ends will take place at the specified departure unless &amp;lt;/nowiki&amp;gt;''StopDuration'' interferes.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''ForcedRedSignal''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: Signals are unaffected by this station.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The signal immediately following the last station stop is hold at red until the train reaches the stopping area and the departure time.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''System''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''ATS''' or '''0'''&amp;lt;nowiki&amp;gt;: ATS should be used from this station on. The following track is not be equipped with ATC.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''ATC''' or '''1'''&amp;lt;nowiki&amp;gt;: ATC should be used from this station on. The following track is equipped with ATC.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command initializes a new station. Prefer using the Track.Sta command, which includes more options. For the options of Track.Sta which are not offered by Track.Station, the following values apply:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''PassAlarm''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (not used)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''Doors''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | B (both doors must be opened)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''ArrivalSound''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Not played&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''StopDuration''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 15&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''PassengerRatio''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 100&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ''TimetableIndex''&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Not affected&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The command should be placed at the beginning of the station platform. In order to finalize the creation of a station, use the Track.Stop command to place stop points following this command. All following Track.Stop commands will be associated to this station. At least one Track.Stop command must follow if trains are expected to stop at this station.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Stations can be marked as &amp;quot;changing ends&amp;quot; in the departure time. At such stations, when the departure time has been reached, the train will automatically jump to the next station. This feature is intended to fake a reverse of traveling direction without the need to jump to stations manually from the menu.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | The &amp;quot;changing ends&amp;quot; feature is only available in the development release 1.2.11 and above.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Stop''' ''Direction''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''BackwardTolerance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''ForwardTolerance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Cars''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Direction'''''&amp;lt;nowiki&amp;gt;: On which side to place a default stop post. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''''BackwardTolerance'''''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;: A positive floating-point number indicating the allowed tolerance in the backward direction, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 5.&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''''ForwardTolerance'''''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;: A positive floating-point number indicating the allowed tolerance in the forward direction, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 5.&amp;lt;br /&amp;gt;'''''Cars'''''&amp;lt;nowiki&amp;gt;: A non-negative integer indicating for how many cars this stop point applies, or 0 for all cars. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''Direction''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: A stop post is created on the left side.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: No stop post is created.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: A stop post is created on the right side.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command places a stop point for the last created station. If there is more than one stop defined for a station, a train is expected to stop at the first Track.Stop command for which ''Cars'' is greater than or equal to the number of cars the train has, where a value for ''Cars'' of 0 indicates a stop point regardless of the amount of cars to be used as the last stop point for a station.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a station with multiple stop points:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;0100, .Sta STATION&amp;lt;br /&amp;gt;0178, .Stop 1;;;4 ,; for 4 or less cars&amp;lt;br /&amp;gt; 0212, .Stop 1;;;6 ,; for 5 or 6 cars&amp;lt;br /&amp;gt;0246, .Stop 1;;;8 ,; for 7 or 8 cars&amp;lt;br /&amp;gt;0280, .Stop 1;;;0 ,; for 9 or more cars&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;'''Track.Form''' ''RailIndex&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RailIndex&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RoofStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''FormStructureIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;[[Image:construction_16.png]] Description not available yet.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.5. Signalling and speed limits&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Limit''' &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Post''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Cource''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the speed, &amp;lt;/nowiki&amp;gt;''' by default''' measured in '''km/h''', or 0 to indicate no speed restriction. The default value is 0.&amp;lt;br /&amp;gt;'''''Post'''''&amp;lt;nowiki&amp;gt;: The side on which to place a default Japanese-style speed limit post. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Cource'''''&amp;lt;nowiki&amp;gt;: The directional indication. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:illustration_limit.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Post''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: The post is placed on the left side of the track.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: No post will be placed.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The post is placed on the right side of the track.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Cource''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: The post applies for a left-bound track.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The post does not indicate a particular direction.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The post applies for a right-bound track. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the new speed limit from this point on. If the new speed limit is lower than the current speed limit, the new speed limit will take effect immediately. If the speed limit is higher than the current speed limit, the new speed limit will take effect only once the whole train has passed this point. By setting ''Speed'' to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;, the speed restriction is released. By setting ''Post'' to either &amp;lt;tt&amp;gt;-1&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;, a default Japanese-style speed post is placed at the respective side of the track. Setting ''Course'' to either &amp;lt;tt&amp;gt;-1&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; includes a directional indication, which is usually used at railroad switches to indicate that the speed limit only applies if the respective direction is being taken. If ''Speed'' is set to &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt;, the setting of ''Course'' has no effect.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Section''' ''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''a&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;nowiki&amp;gt;; ...; &amp;lt;/nowiki&amp;gt;''a&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''a''&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: A non-negative number specifying one of the section's aspects.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command starts a section, the functional part of signalling, to be used in conjunction with Track.SigF, which creates a visual representation of a section (a signal). The ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' parameters specify the aspects the section can bear. An aspect of 0 corresponds to a red section which must not be passed by a train. The ''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'' term is mandatory.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Default versus simplified section behavior&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | There are two different modes of behavior on how to interpret the ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' parameters. The mode can be set via Options.SectionBehavior. The following are separate descriptions for default and simplified behavior.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Default behavior:'''&amp;lt;br /&amp;gt;The ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' terms specify the aspect the section should bear depending on how many sections ahead are clear until a red one is encountered. The order of the terms is relevant. The same aspect may occur multiple times.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Meanings of the ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' terms:&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'''&amp;lt;nowiki&amp;gt;: The aspect to show when this section is occupied by a train or otherwise hold at red.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'''&amp;lt;nowiki&amp;gt;: The aspect to show when this section is clear, but the immediately following section is red.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''a&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'''&amp;lt;nowiki&amp;gt;: The aspect to show when this section and the following section are clear, but the one immediately following the latter one is red.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''a''&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: The aspect to show when &amp;lt;/nowiki&amp;gt;''n'' sections are clear before a red one is encountered.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the case more sections ahead are clear than indicated by the ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' terms, the section will bear the aspect of ''a&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''Simplified behavior:'''&amp;lt;br /&amp;gt;The ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' terms specify the repertoire of aspects the section can have. A section will bear the smallest of the ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' which is greater than the current aspect of the upcoming section. If no such ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' exists, the section will bear the aspect of ''a&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''. The order of the ''a&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' is irrelevant. If the same aspect occurs multiple times, this has no effect.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a Track.Section command in conjunction with a Track.SigF command:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;1000, .Section 0;2;4, .SigF 3;0;-3;-1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.SigF''' ''SignalIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Section''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''SignalIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the signal to be placed as defined via Signal(&amp;lt;/nowiki&amp;gt;''SignalIndex'')&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;.Load&amp;lt;/font&amp;gt;.&amp;lt;br /&amp;gt;'''''Section'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the section this signal is attached to, with 0 being the current section, 1 the upcoming section, 2 the section after that, and so on.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The X-coordinate to place the signal object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The Y-coordinate to place the signal object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a non-function signal, that is, a visual representation of a section as defined via Track.Section. Setting ''Y'' to a negative number resets the y-coordinate to 4.8 meters and attaches a default signal post. Also see Track.Section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If no object has been defined by Signal(''SignalIndex''), one of the default Japanese signals is used:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Default signals for ''SignalIndex''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''3'''&amp;lt;nowiki&amp;gt;: A three-aspect signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''4'''&amp;lt;nowiki&amp;gt;: A four-aspect (type A) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;yellow-yellow, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''5'''&amp;lt;nowiki&amp;gt;: A five-aspect (type A) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;yellow-yellow, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow-green and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''6'''&amp;lt;nowiki&amp;gt;: A repeating signal equivalent to that created by Track.Relay.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Signal''' ''Aspects''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Unused&amp;lt;/font&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.Sig''' ''Aspects''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Unused&amp;lt;/font&amp;gt;''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Type'''''&amp;lt;nowiki&amp;gt;: The number of aspects for this signal. The default value is -2.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;Unused&amp;lt;/font&amp;gt;'''''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;''This argument is not used by openBVE.''&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The X-coordinate to place the signal object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The Y-coordinate to place the signal object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Type''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;[http://trainsimframework.org/common/illustration_signals_large.png [[Image:illustration_signals_small.png]]]&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: A two-aspect (type A) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red and &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow.&amp;lt;br /&amp;gt;'''-2'''&amp;lt;nowiki&amp;gt;: A two-aspect (type B) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''3'''&amp;lt;nowiki&amp;gt;: A three-aspect signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''4'''&amp;lt;nowiki&amp;gt;: A four-aspect (type A) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;yellow-yellow, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''-4'''&amp;lt;nowiki&amp;gt;: A four-aspect (type B) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow-green and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''5'''&amp;lt;nowiki&amp;gt;: A five-aspect (type A) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;yellow-yellow, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow-green and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green.&amp;lt;br /&amp;gt;'''-5'''&amp;lt;nowiki&amp;gt;: A five-aspect (type B) signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow-green, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;green-green.&amp;lt;br /&amp;gt;'''6'''&amp;lt;nowiki&amp;gt;: A six-aspect signal having aspects &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;red, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;yellow-yellow, &amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ffc000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;yellow-green, &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●&amp;lt;/font&amp;gt;green and &amp;lt;font color=&amp;quot;#00c000&amp;quot;&amp;gt;●●&amp;lt;/font&amp;gt;green-green.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a functional signal. You can choose from the available options for ''Aspect'' to create any of the default Japanese signals. Setting ''X'' to 0 creates a functional but invisible signal similar to Track.Section. Setting ''X'' to a non-zero number and ''Y'' to a negative number resets the y-coordinate to 4.8 meters and attaches a default signal post.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a four-aspect type B signal without a post at x=-3 and y=5:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.Signal -4;;-3;5&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example of a four-aspect type B signal including a post at x=-3 and y=4.8:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;1000, Track.Signal -4;;-3;-1&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Track.Signal is similar to using Track.Section and Track.SigF in one command.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Relay''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The X-coordinate at which to place the object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The Y-coordinate at which to place the object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This commands creates a default Japanese repeating signal. The repeating signal repeats the state of the upcoming signal. Setting ''X'' to zero does not create a repeating signal, but forces the command to be ignored. Setting ''X'' to a non-zero number and ''Y'' to a negative number resets the y-coordinate to 4.8 and attaches a default signal post.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.6. Safety systems&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Beacon''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BeaconStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Section''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Data''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Type'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the type of the beacon to be transmitted to the train.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''BeaconStructureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the object to be placed as defined via Structure.Beacon, or -1 to not place any object.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Section'''''&amp;lt;nowiki&amp;gt;: An integer representing the section to which the beacon is attached, namely 0 for the current section, 1 for the upcoming section, 2 for the section behind that, etc., or -1 for the next red section.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Data'''''&amp;lt;nowiki&amp;gt;: An integer representing arbitrary data specific to the beacon type to be transmitted to the train.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The X-coordinate at which to place the object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The Y-coordinate at which to place the object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command places a beacon (transponder). The object must have been loaded via Structure.Beacon(''BeaconStructureIndex'') prior to using this command. When the train passes the beacon, the type of beacon and various data will be transmitted to the train, including the state of the referenced section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;It should be noted that the built-in safety systems also receive data from these beacons as Track.Beacon(''Type'') is roughly equivalent to Track.Transponder(''Type''). Please see [http://trainsimframework.org/develop/information_standards.html the page about beacon standards] for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Transponder''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Signal''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''SwitchSystem''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;br /&amp;gt;'''Track.Tr''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Signal''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''SwitchSystem''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Type'''''&amp;lt;nowiki&amp;gt;: The type of the transponder. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Signal'''''&amp;lt;nowiki&amp;gt;: The signal this transponder references. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''SwitchSystem'''''&amp;lt;nowiki&amp;gt;: Whether to automatically switch the safety system. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The X-coordinate at which to place the object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: The Y-coordinate at which to place the object, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the object is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Type''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;[[Image:illustration_transponders.png]]&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: An S-type transponder used by ATS-S. Usually placed 600m in front of a signal.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: An SN-type transponder used by ATS-SN. Usually placed 20m in front of a signal.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''2'''&amp;lt;nowiki&amp;gt;: An accidental departure transponder. Usually placed shortly behind a station stop.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''3'''&amp;lt;nowiki&amp;gt;: An ATS-P pattern renewal transponder. Usually placed 600m, 280m, 180m, 130m, 85m or 50m in front of a signal, depending on the circumstances.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''4'''&amp;lt;nowiki&amp;gt;: An ATS-P immediate stop transponder. Usually placed either 25m or 30m in front of a signal, depending on the circumstances.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Signal''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The upcoming signal is referenced.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: The signal immediately behind the upcoming signal is referenced.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''n'''''&amp;lt;nowiki&amp;gt;: The &amp;lt;/nowiki&amp;gt;''n'''th signal behind the upcoming signal is referenced.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''SwitchSystem''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''-1'''&amp;lt;nowiki&amp;gt;: The transponder does not switch the train between ATS-SN and ATS-P.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: The transponder automatically switches the train to ATS-SN for transponder types &amp;lt;/nowiki&amp;gt;''0'' and ''1'', and to ATS-P for types ''3'' and ''4''. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;This command places a transponder, usually for the built-in safety systems ATS-SN or ATS-P. For more information about these systems and their transponders, see [http://trainsimframework.org/use/drive.html#atssn the user's documentation about ATS].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;It should be noted that custom safety system plugins also receive data from these transponders as Track.Transponder(''Type'') is roughly equivalent to Track.Beacon(''Type''). Please see [http://trainsimframework.org/develop/information_standards.html the page about beacon standards] for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/use/drive.html#atssn Go here to find out more about ATS-SN and ATS-P.]&amp;lt;br /&amp;gt;➟ [http://trainsimframework.org/develop/tutorial_ats.html There is a tutorial available for the proper use of ATS-SN and ATS-P in route files, including all of the five transponders.]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.AtsSn'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command places an S-type transponder for the built-in safety system ATS-SN, referencing the upcoming signal, and automatically switching to ATS-SN. The command is equivalent to '''Track.Tr 0;0;0'''. See there for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.AtsP'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command places a pattern renewal transponder for the built-in safety system ATS-P, referencing the upcoming signal, and automatically switching to ATS-P. The command is equivalent to '''Track.Tr 3;0;0'''. See there for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Pattern''' ''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Type'''''&amp;lt;nowiki&amp;gt;: The type of speed restriction.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A non-negative floating-point number representing the speed restriction, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''km/h'''.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Options for ''Type''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''0'''&amp;lt;nowiki&amp;gt;: A temporary speed restriction.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''1'''&amp;lt;nowiki&amp;gt;: A permanent speed restriction.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines a speed restriction for the built-in safety system ATS-P.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;A temporary speed restriction (''Type''&amp;lt;nowiki&amp;gt;=0) is to be inserted at the point where the speed restriction should apply. ATS-P will know about this speed restriction in advance and will brake the train so that the train meets the speed restriction at that point. Once the point is passed, the speed restriction no longer applies.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;A permanent speed restriction (''Type''&amp;lt;nowiki&amp;gt;=1) is to be inserted at the point where the speed restriction should apply, however, ATS-P does not know about this limit in advance and will only brake the train from that point on. For a higher degree of realism, insert permanent speed restrictions at the same point as ATS-P transponders. A permanent speed restriction, as the name suggests, is remembered by ATS-P and is only released by a subsequent permanent speed restriction.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.PLimit''' &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A positive floating-point number representing the permanent speed restriction for ATS-P, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''km/h'''. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command is equivalent to '''Track.Pattern 1;''Speed'''''. See there for more information.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● 11.7. Miscellaneous&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Back''' ''BackgroundTextureIndex''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''BackgroundTextureIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the background image to be displayed as defined via Texture.Background(&amp;lt;/nowiki&amp;gt;''BackgroundTextureIndex''). &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines which background image to show from now on.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Fog''' &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''StartingDistance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''EndingDistance''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''RedValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''GreenValue''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BlueValue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''StartingDistance''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number indicating the start of fog, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''EndingDistance''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number indicating the end of fog, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. The default value is 0.&amp;lt;br /&amp;gt;'''''RedValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the red component of the fog. The default value is 128.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GreenValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the green component of the fog. The default value is 128.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''BlueValue'''''&amp;lt;nowiki&amp;gt;: An integer ranging from 0 to 255 representing the blue component of the fog. The default value is 128. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command defines the fog from this point on, or deactivates fog. If fog is to be enabled, ''StartingDistance'' must be less than ''EndingDistance''. If fog is to be disabled, ''StartingDistance'' must be greater than or equal to ''EndingDistance''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Fog affects the coloring of objects. Objects before the starting distance appear as-is, objects after the ending distance appear in the fog color, and objects in-between blend linearly between those. The background image is affected by fog as well. For the fog calculations, the background image is assumed to be at 600 meters distance from the camera, regardless of the actual viewing distance.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Depending on Options.FogBehavior, there are two options how this command affects fog from this point on. In block-wise mode, the current fog blends from the beginning of this block to the new settings at the end of this block. The new setting is kept for following blocks. This is the default behavior. In interpolation mode, each Track.Fog command defines a control point for fog, where all of the settings (distances and colors) are interpolated linearly between the control points.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | This command can only be used at the beginning of a block.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Brightness''' ''Value''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Value'''''&amp;lt;nowiki&amp;gt;: A non-negative integer within the range from 0 to 255. The default value is 255. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command marks a point which affects the brightness in the cab. ''Value'' is measured from 0 (dark) to 255 (light), and is linearly interpolated between successive Track.Brightness commands for any given point on the track. This command should be used for tunnels, bridges, station roofs, or anything else that would affect the brightness as perceived inside the cab.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Example:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;With Track&amp;lt;br /&amp;gt;1200, .Brightness 255 ,; before the bridge starts&amp;lt;br /&amp;gt;1205, .Brightness 128 ,; directly under the bridge here&amp;lt;br /&amp;gt;1210, .Brightness 255 ,; as soon as the bridge ends&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Marker''' ''FileName''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Distance''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The file name for the marker image, relative to the &amp;lt;/nowiki&amp;gt;'''Object''' folder.&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''''Distance'''''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;: A non-zero floating-point number indicating the length for which the marker image is displayed, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Behavior for ''Distance''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''negative value''&amp;lt;nowiki&amp;gt;: The marker image starts to display at the Track.Marker command, and ends -&amp;lt;/nowiki&amp;gt;''Distance'' meters after the Track.Marker command.&amp;lt;br /&amp;gt;''positive value''&amp;lt;nowiki&amp;gt;: The marker image starts to display &amp;lt;/nowiki&amp;gt;''Distance'' meters before the Track.Marker command, and ends at the Track.Marker command.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command shows a so-called marker image, which is displayed in the top-right corner of the screen. You can use these images for advisory or informational purposes. The RGB color of 64,64,64 inside the image is made transparent.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.PointOfInterest''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Text''&amp;lt;br /&amp;gt;'''Track.POI''' ''RailIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Yaw''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Pitch''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Roll''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Text''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''RailIndex'''''&amp;lt;nowiki&amp;gt;: A non-negative integer representing the rail for the point of interest.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the horizontal offset from the rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate left, positive ones right.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the vertical offset from the rail, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate below, positive ones above.&amp;lt;br /&amp;gt;'''''Yaw'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the view is rotated in the XZ-plane in clock-wise order when viewed from above. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Pitch'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the view is rotated in the YZ-plane in clock-wise order when viewed from the left. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Roll'''''&amp;lt;nowiki&amp;gt;: The angle in degrees by which the view is rotated in the XY-plane in clock-wise order when viewed from behind. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Text'''''&amp;lt;nowiki&amp;gt;: A textual representation of the point of interest.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a point of interest which the user can jump to by pressing the CAMERA_POI_PREVIOUS (NUM 1) or CAMERA_POI_NEXT (NUM 7) keys. The camera will be placed at the specified location with the specified orientation. If ''Text'' is non-empty, a message will appear briefly showing the text.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.PreTrain''' ''Time''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Time'''''&amp;lt;nowiki&amp;gt;: The &amp;lt;/nowiki&amp;gt;[http://trainsimframework.org/develop/information_numberformats.html#times time] at which the pretrain is at this track position. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This commands creates a position-time-association for an invisible preceding train in order to influence signalling. Contrary to a real preceding train as created by Route.RunInterval, the invisible preceding train created by Track.PreTrain is a way of scripting where the invisible preceding train is at any given time. The position-time-associations must be in increasing order, that is, at a later track position, the associated time must also be later. Before the first scripted time, the invisible preceding train resides at the first scripted position. In-between the first and last scripted time, the invisible preceding train moves (linearly) between the scripted points. After the last scripted time, the invisible preceding train is removed and thus clears signalling.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Announce''' ''FileName''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;''Speed''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The file name for the sound to play, relative to the &amp;lt;/nowiki&amp;gt;'''Sound''' folder.&amp;lt;br /&amp;gt;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;'''''Speed'''''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;: The reference speed in km/h for speed-dependant sounds, or 0 to play the sound speed-independently. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command plays an announcement or other kind of sound in the cab once the player's train crosses the point where this command is used. If ''Speed'' is set to 0 (default), the sound is played as-is. If a ''Speed'' is given though, the sound plays at is original pitch at the specified speed, and is pitch-modulated proportionally for other speeds, useful for custom flange sounds, pointwork sounds, etc.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Doppler''' ''FileName''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''FileName'''''&amp;lt;nowiki&amp;gt;: The file name for the sound to play, relative to the &amp;lt;/nowiki&amp;gt;'''Sound''' folder.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''X''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the horizontal offset from rail 0, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate left, positive ones right.&amp;lt;br /&amp;gt;'''&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;''Y''&amp;lt;/font&amp;gt;'''&amp;lt;nowiki&amp;gt;: A floating-point number representing the vertical offset from rail 0, &amp;lt;/nowiki&amp;gt;'''by default''' measured in '''meters'''. Negative values indicate below, positive ones above. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command places an environmental sound effect at the specified location. The sound will play in a loop for the duration of the simulation and employs the doppler effect. (Note: All sounds in openBVE employ the doppler effect.)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Track.Buffer'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command places a bumper. The train can collide with the bumper in both the forward and backward directions. Place this command at the beginning and the end of the route. An object is not automatically created, so use Track.FreeObj to create a visual representation of the bumper if necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/.ANIMATED</id>
		<title>.ANIMATED</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/.ANIMATED"/>
				<updated>2015-02-07T00:13:53Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.animated''' object format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right:...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.animated''' object format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 2px groove currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#c04040&amp;quot; | &amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt; Check this tutorial out:&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | &lt;br /&gt;
*[http://www.bvestation.com/forums/index.php?topic=2958.0 Animated Object Building Tutorial By willischong]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 1. Overview&amp;lt;/font&amp;gt;=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The ANIMATED object format is a container format allowing you to reference other objects (B3D/CSV/X) and to apply animation to them. It also allows to just group other objects (including other ANIMATED objects) without animating them.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Animated objects can be used in CSV/RW routes (unless explicitly disallowed by some commands), as train exterior objects via the ''extensions.cfg'', and as 3D cabs via the ''panel.animated'' file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Basics&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Animation is performed via the following primitives:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| State changes - basically allowing to switch between different objects at any time&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Translation - moving objects in three independent directions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Rotation - rotating objects around three independent axes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Texture shifts - allowing to shift the texture coordinates of objects in two independent directions&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● A little formality&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Strict'''. The file name is arbitrary, but must have the extension '''.animated'''. The file is interpreted on a per-line basis, from top to bottom.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 2. Sections&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● The [Include] section&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;You can use the [Include] section to just include other objects, but without animating them. This allows you to use the ANIMATED object file as a container to group other objects. There can be any number of [Include] sections within the file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[Include]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;''FileName&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;''FileName&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt;''FileName&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;''&amp;lt;br /&amp;gt; ...&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines a series of B3D/CSV/X/ANIMATED objects that should be included as-is.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Position = ''X'', ''Y'', ''Z'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This defines the position of the objects, basically allowing you to offset them with respect to the rest of the ANIMATED object file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● The [Object] section&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;You can use the [Object] section to create a single animation. This requires to set up at least one state via the ''States'' parameter, and to use any combination of functions you want, which provide control over the animation. There can be any number of [Object] sections within the file.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;[Object]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This starts the section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Position = ''X'', ''Y'', ''Z'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines the position of the object. This basically corresponds to a final TranslateAll command in the respective CSV/B3D file, but is performed after any of the functions are performed. For example, if you want to use rotation, then keep in mind that rotation is done around the origin (0,0,0). The ''Position'' command allows you to reposition the object after the rotation is performed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''States = ''File&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'', ''File&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ..., ''File&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt;'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Loads ''n'' objects of CSV/B3D/X extension. Please note that the first file indicated has state index 0. Use multiple files only if you want to use state changes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''StateFunction = ''Formula'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This defines the function for state changes. The result of the ''Formula'' is rounded toward the nearest integer. If that integer is between 0 and ''n''-1, where ''n'' is the number of states as defined via ''States'', the respective state is shown, otherwise, no object is shown. You can make use of the latter if you want an object to toggle on/off with only one state.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''TranslateXDirection = ''X'', ''Y'', ''Z'''''&amp;lt;br /&amp;gt;'''TranslateYDirection = ''X'', ''Y'', ''Z'''''&amp;lt;br /&amp;gt;'''TranslateZDirection = ''X'', ''Y'', ''Z'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define the directions for the ''TranslateXFunction'', ''TranslateYFunction'' and ''TranslateZFunction'', respectively. The default directions are:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''TranslateXDirection = 1, 0, 0''&amp;lt;br /&amp;gt;''TranslateYDirection = 0, 1, 0''&amp;lt;br /&amp;gt;''TranslateZDirection = 0, 0, 1''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This means that TranslateXFunction will move right by default, TranslateYFunction up and TranslateZFunction forward, which is also why TranslateXFunction and so on bear their names. If you define other directions, then simply think of the three functions and associated directions as three independent ways to move the object in that direction.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''TranslateXFunction = ''Formula'''''&amp;lt;br /&amp;gt;'''TranslateYFunction = ''Formula'''''&amp;lt;br /&amp;gt;'''TranslateZFunction = ''Formula'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define the functions to move the object into the respective direction. The ''Formula'' needs to return the amount of meters to move from the initial position. The ''X'', ''Y'' and ''Z'' parameters in the respective direction are multiplied by the result of ''Formula'', so you could for example either multiple the formula by 2 or the direction by 2 if you want to double the speed of movement.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''RotateXDirection = ''X'', ''Y'', ''Z'''''&amp;lt;br /&amp;gt;'''RotateYDirection = ''X'', ''Y'', ''Z'''''&amp;lt;br /&amp;gt;'''RotateZDirection = ''X'', ''Y'', ''Z'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define the directions for the ''RotateXFunction'', ''RotateYFunction'' and ''RotateZFunction'', respectively. The default directions are:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''RotateXDirection = 1, 0, 0''&amp;lt;br /&amp;gt;''RotateYDirection = 0, 1, 0''&amp;lt;br /&amp;gt;''RotateZDirection = 0, 0, 1''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This means that RotateXFunction will rotate around the x-axis by default, RotateYFunction around the Y-axis, and RotateZFunction around the z-axis, which is also why RotateXFunction and so on bear their names. If you define other directions, then simply think of the three functions and associated directions as three independent ways to rotate the object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''RotateXFunction = ''Formula'''''&amp;lt;br /&amp;gt;'''RotateYFunction = ''Formula'''''&amp;lt;br /&amp;gt;'''RotateZFunction = ''Formula'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define the functions to rotate along the respective direction in counter-clockwise order. The ''Formula'' needs to return the angle by which to rotate in radians. The order in which the rotations are performed is: RotateXFunction (first), RotateYFunction (then) and RotateZFunction (last). If you use more than one rotation function at a time, bear this order in mind. If necessary, overwrite the default directions for the rotations if you need a different order.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''RotateXDamping = ''NaturalFrequency'', ''DampingRatio'''''&amp;lt;br /&amp;gt;'''RotateYDamping = ''NaturalFrequency'', ''DampingRatio'''''&amp;lt;br /&amp;gt;'''RotateZDamping = ''NaturalFrequency'', ''DampingRatio'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define damping for the corresponding functions. If not used, damping will not be performed. ''NaturalFrequency'' is a non-negative value corresponding to the angular frequency of an assumed undamped oscillator in radians per second. ''DampingRatio'' is a non-negative value indicating the type of damping. Values between 0 and 1 represent under-damping, 1 represents critical damping, and values above 1 represent over-damping.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''TextureShiftXDirection = ''X'', ''Y'''''&amp;lt;br /&amp;gt;'''TextureShiftYDirection = ''X'', ''Y'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define the directions for the ''TextureShiftXFunction'' and ''TextureShiftYFunction'', respectively. The default directions are:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''TextureShiftXDirection = 1, 0''&amp;lt;br /&amp;gt;''TextureShiftYDirection = 0, 1''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This means that TextureShiftXFunction will shift the texture right by default, and TextureShiftYFunction down, which is also why TextureShiftXFunction and so on bear their names. If you define other directions, then simply think of the two functions and associated directions as two independent ways to shift textures on the objects.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''TextureShiftXFunction = ''Formula'''''&amp;lt;br /&amp;gt;'''TextureShiftYFunction = ''Formula'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These define the functions to shift the texture in the respective direction. The texture is shifted by the return value of ''Formula'' in texture coordinates. The integer part of the result is ignored, and a fractional part of 0.5 represents moving the texture half way. The SetTextureCoordinate commands in the object file define the coordinates, which are then added the outcome of these formulas.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''TextureOverride = ''Value'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Value'' = '''Timetable'''&amp;lt;nowiki&amp;gt;: All faces will show the timetable bitmap as set up by CSV/RW routes.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;''Value'' = '''None'''&amp;lt;nowiki&amp;gt;: The original textures will be displayed on the faces (default behavior).&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''RefreshRate = ''Seconds'''''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This defines the minimum amount of time that needs to pass before the functions are updated. A value of 0 forces the functions to be updated every frame. Please note that objects outside of the visual range might be updated less frequently regardless of this parameter. Use RefreshRate when you don't need a perfectly smooth animation (in order to optimize performance), or when you deliberately want the object to be only updated in fixed intervals.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | '''openBVE 2 compatibility note:'''&amp;lt;br /&amp;gt; During the development of openBVE (v0.9) and during the development of the animated object format, there were certain commands in existance ending in ''RPN'', such as ''TranslateXFunctionRPN''. These commands never made it into any official release (v1.0) and were thus never meant to be used outside of development environments. While they are still available undocumentedly, they will be removed for openBVE 2. If you are using these commands, please get rid of them as soon as possible.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● About the formulas&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
First of all, infix notation, which is what you can enter for ''Formula'', is converted into functional notation. Thus for every infix notation, there is a corresponding functional notation. Some functions do not have an infix operator and can thus only be entered in functional notation. For operators, precedence plays an important role. You can use parantheses to override the order of precedence just as in any usual mathematical formula. Names of functions are case-insensitive.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | Please note that if the result of any mathematical operation or function would be infinity, indeterminate or non-real, 0 is returned. Numeric overflow is not prevented, so you need to take that into account yourself.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 3. List of infix notation operators&amp;lt;/font&amp;gt;=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Basic arithmetics&amp;lt;/font&amp;gt;===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Infix&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Functional&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' + ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Plus[''a'',''b'', ...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Represents addition&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' - ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Subtract[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Represents subtraction&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;-''a''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Minus[''a'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Negates the number&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' * ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Times[''a'',''b'',...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Represents multiplication&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' / ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Divide[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Represents division&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Comparisons&amp;lt;/font&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All comparisons return 1 for true and 0 for false.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Infix&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Functional&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' == ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Equal[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' equals ''b''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' != ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Unequal[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' does not equal ''b''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' &amp;lt; ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Less[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' is less than ''b''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' &amp;gt; ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Greater[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' is greater than ''b''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' &amp;lt;= ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;LessEqual[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' is less than or equal to ''b''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' &amp;gt;= ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;GreaterEqual[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' is greater than or equal to ''b''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Logical operations&amp;lt;/font&amp;gt;===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All operations treat 0 as false and any other value as true, and return 1 for true and 0 for false.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Infix&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Functional&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;!&amp;lt;/nowiki&amp;gt;''a''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Not[''a'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if ''a'' is false&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' &amp;amp; ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;And[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if both ''a'' and ''b'' are true&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' | ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Or[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if any of ''a'' or ''b'' are true&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;''a'' ^ ''b''&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Xor[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | True (1) if either ''a'' or ''b'' is true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
===&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Operator precedence&amp;lt;/font&amp;gt;===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
From highest precedence to lowest. Operators of same precedence are evaluated left to right in the order in they occur in the formula.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | - (Minus)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;+&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt; (Subtract)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;==&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;!=&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;&amp;lt;&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;&amp;gt;&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;&amp;lt;=&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;&amp;gt;=&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;!&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;&amp;amp;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;^&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | Please note that some combinations of prefix and infix operators are not recognized. For example &amp;lt;tt&amp;gt;a*-b&amp;lt;/tt&amp;gt; is not accepted. Use &amp;lt;tt&amp;gt;a*(-b)&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;-a*b&amp;lt;/tt&amp;gt; instead.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 4. List of functions&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Basic arithmetics&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Function&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Reciprocal[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the reciprocal, equal to 1/''x''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Power[''a'',''b'',...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns ''a'' raised to the ''b''&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; power. ''b'' must be a non-negative number. For consistency, Power[0,''b''] always returns 1, even in the degenerate case Power[0,0], and ''a'' being negative always returns 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Numeric functions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Function&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Quotient[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Divides ''a'' by ''b'' and rounds the result down, equal to &amp;lt;tt&amp;gt;Floor[a/b]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Mod[''a'',''b'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the remainder of dividing ''a'' by ''b'', equal to &amp;lt;tt&amp;gt;a-b*Floor[a/b]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Min[''a'',''b'',...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the smallest of the terms.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Max[''a'',''b'',...]&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the largest of the terms.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Abs[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the absolute value.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Sign[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Returns the sign of ''x'', which is either -1, 0 or 1.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Floor[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Rounds down to the nearest integer.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Ceiling[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Rounds up to the nearest integer.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Round[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Rounds to the nearest integer. Numbers ending in .5 are rounded to the nearest even integer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Elementary functions&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Function&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Exp[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The exponential function, or ''e'' to the ''x''&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; power.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Log[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The natural logarithm, to base ''e''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Sqrt[x]&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The square root.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Sin[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The sine (input in radians).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Cos[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The cosine (input in radians).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;Tan[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The tangent (input in radians).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;ArcTan[''x'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The inverse tangent (output in radians).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Conditionals&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Function&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;If[''cond'',''truevalue'',''falsevalue'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | If ''cond'' is != 0, returns ''truevalue'', otherwise ''falsevalue''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 5. List of variables&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Primitives&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The value returned by the function in the last evaluation. At the beginning of the simulation, this is 0.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;delta&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The time difference since the last evaluation of the function in seconds. Please note that there is no guaranteed time that elapses between successive function calls.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Time and camera&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;time&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current in-game time measured in seconds since midnight of the first day.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;cameraDistance&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The non-negative cartesian distance measured from the object to the camera in meters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Trains&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Generally, objects attached to a particular train and car return values for that train and car, unless stated otherwise. For scenery objects, the reference is the driver's car of the nearest train (not necessarily the player's train).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In some of the following variables, ''carIndex'' has the following meaning: 0 is the 1&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt; car from the front, 1 is the 2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; car from the front, etc., while -1 is the 1&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt; car from the rear, -2 is the 2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; car from the rear, etc. In general, car indices from -''cars'' to ''cars''-1 represent existing cars, where ''cars'' is the number of cars the train has, while values outside of this range represent non-existing cars. As all trains have at least 1 car, indices -1 and 0 are guaranteed to exist for any train.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Trains (general)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;cars&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The number of cars the train has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;speed&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signed actual speed of the current car in m/s. Is positive when the train travels forward, and negative when the train travels backward.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;speed[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signed actual speed of the car ''carIndex'' in m/s. Is positive when the train travels forward, and negative when the train travels backward.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;speedometer&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signed perceived speed of the current car in m/s as it would appear to a speedometer on wheel slip and wheel lock.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;speedometer[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signed perceived speed of the car ''carIndex'' in m/s as it would appear to a speedometer on wheel slip and wheel lock.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;acceleration&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The actual acceleration of the current car in m/s².&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;acceleration[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The actual acceleration of the car ''carIndex'' in m/s².&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;accelerationMotor&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The acceleration which the motor of the first motor car currently generates in m/s².&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;accelerationMotor[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The acceleration which the motor of the car ''carIndex'' currently generates in m/s².&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;distance&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The non-negative cartesian distance measured from the object to the closest car in meters. Only meaningful for scenery objects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;distance[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The non-negative cartesian distance measured from the object to the car ''carIndex'' in meters, or 0 if the car does not exist. Only meaningful for scenery objects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;trackDistance&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signed track distance measured from the object to the closest end of the train in meters. Is positive when the train is in front of the object, negative when behind, and zero when the object lies between the ends of the train. Only meaningful for scenery objects. '''Deprecated. The behavior of this variable may change in future versions of openBVE.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;trackDistance[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signed track distance measured from the object to the car ''carIndex'' in meters. Is positive when the center of the car is in front of the object, and negative if behind. Returns 0 if the car does not exist. Only meaningful for scenery objects. '''Deprecated. The behavior of this variable may change in future versions of openBVE.'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Trains (brake)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;mainReservoir&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the main reservoir in this car, measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;mainReservoir[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the main reservoir in car ''carIndex'', measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;emergencyReservoir&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the emergency reservoir in this car, measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;emergencyReservoir[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the emergency reservoir in car ''carIndex'', measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakePipe&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the brake pipe in this car, measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakePipe[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the brake pipe in car ''carIndex'', measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakeCylinder&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the brake cylinder in this car, measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakeCylinder[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the brake cylinder in car ''carIndex'', measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;straightAirPipe&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the straight air pipe in this car, measured in Pa.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;straightAirPipe[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the straight air pipe in car ''carIndex'', measured in Pa.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Trains (doors)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;doors&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the doors. Returns 0 if fully closed, 1 if fully opened, or any intermediate value, biasing doors that are in a more open state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;doors[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the doors of car ''carIndex''. Returns 0 if fully closed, 1 if fully opened, or any intermediate value, biasing doors that are in a more open state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;leftDoors&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the left doors. Returns 0 if fully closed, 1 if fully opened, or any intermediate value, biasing doors that are in a more open state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;leftDoors[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the left doors of car ''carIndex''. Returns a value between 0 and 1, biasing doors that are in a more open state, or -1 if the car does not exist.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;rightDoors&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the right doors. Returns 0 if fully closed, 1 if fully opened, or any intermediate value, biasing doors that are in a more open state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;rightDoors[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the right doors of car ''carIndex''. Returns a value between 0 and 1, biasing doors that are in a more open state, or -1 if the car does not exist.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;leftDoorsTarget&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The anticipated target state of the left doors. Returns either 0 (closed) or 1 (opened).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;leftDoorsTarget[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The anticipated target state of the left doors of car ''carIndex''. Returns either 0 (closed) or 1 (opened).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;rightDoorsTarget&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The anticipated target state of the right doors. Returns either 0 (closed) or 1 (opened).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;rightDoorsTarget[''carIndex'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The anticipated target state of the right doors of car ''carIndex''. Returns either 0 (closed) or 1 (opened).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Trains (miscellaneous)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;reverserNotch&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the reverser, which is either -1 (backward), 0 (neutral), or forward (1).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;powerNotch&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current power notch, i.e. 0 for N, 1 for P1, 2 for P2, 3 for P3, etc.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;powerNotches&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The amount of power notches the train has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakeNotch&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
The current brake notch.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains without the automatic air brake: 0 for N, 1 for B1, 2 for B2, 3 for B3, etc.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains with the automatic air brake: 0 for REL, 1 for LAP and 2 for SRV.&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakeNotches&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The amount of brake notches the train has. For trains with the automatic air brake, this returns 2.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakeNotchLinear&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
A combination of brake notch, hold brake and emergency brake.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains without the automatic air brake and without hold brake: 0 for N, 1 for B1, 2 for B2, 3 for B3, etc., up to ''BrakeNotches''+1 for EMG.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains without the automatic air brake but with hold brake: 0 for N, 1 for HLD, 2 for B1, 3 for B2, 4 for B3, etc., up to ''BrakeNotches''+2 for EMG.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains with the automatic air brake: 0 for REL, 1 for LAP, 2 for SRV or 3 for EMG.&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;brakeNotchesLinear&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
The highest value returned by ''brakeNotchesLinear''.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains without the automatic air brake and without hold brake, this is ''BrakeNotches''+1.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains without the automatic air brake but with hold brake, this is ''BrakeNotches''+2.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| For trains with the automatic air brake, this returns 3.&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;emergencyBrake&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the emergency brake is currently active (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;hasAirBrake&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the train has the automatic air brake (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;holdBrake&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the hold brake is currently active (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;hasHoldBrake&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the train has a hold brake (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;constSpeed&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the const speed system is currently active (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;hasConstSpeed&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the train has a const speed system (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;hasPlugin&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the train uses a plugin (1) or not (0).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;pluginState[''i'']&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The state of the i&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; plugin variable, returning an integer depending on the plugin. Is the same as ats''i'' in the panel2.cfg.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;If ''pluginState[i]'' is used with the built-in safety systems ATS and ATC, the following mappings for ''i'' apply:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | ''i''&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | English&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | 日本語&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Return values&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | pluginState[271]&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Meaning&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 256&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC not available&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 257&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS RUN&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS 作動&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit), 1 (lit) or 2 (flashing)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 258&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS RUN&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS 作動&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit / non-flashing), 1 (lit / flashing)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 15 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 259&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | P POWER&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | P 電源&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 25 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 260&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PTN APPROACH&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | パターン接近&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 45 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 261&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BRAKE RELEASE&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ブレーキ開放&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 55 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 262&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BRAKE APPLY&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ブレーキ動作&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 65 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 263&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS P&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS-P&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 7&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 75 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 264&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FAILURE&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 故障&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 8&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 90 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 265&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 9&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 100 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 266&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC POWER&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC 電源&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 10&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 110 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 267&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC SRV&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC 常用&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 11&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 120 km/h&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 268&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC EMG&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC 非常&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 12&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS is active&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 269&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | CONST SPEED&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 定速&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 270&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | EB&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | EB&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 (unlit) or 1 (lit)&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 271&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATC speed indicator&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0 - 12, see table on the right&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Sections (signalling)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The section context is defined when the object is placed using Track.SigF.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Variable&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | &amp;lt;tt&amp;gt;section&amp;lt;/tt&amp;gt;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The value of the section aspect currently shown.&amp;lt;br /&amp;gt;''If this variable is used outside of a Track.SigF context, the behavior is currently undefined and subject to change.''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 6. Performance&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There are certain kinds of animation which are less expensive, and others which are more. Also, the underlying object plays a significant role. If you want to design your animated objects with as best performance as possible '''for future releases of openBVE''', take a look at the following performance table:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Animation&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Object&lt;br /&gt;
! style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#d0d0d0&amp;quot; | Performance&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | State changes&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has only opaque faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Good&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | State changes&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has partially transparent faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Moderate&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Translation&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has only opaque faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Good&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Translation&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has partially transparent faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Moderate&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Rotation&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has only opaque faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Good&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Rotation&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has partially transparent faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Bad&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Texture shifts&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has only opaque faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Bad&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Texture shifts&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Has partially transparent faces&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Bad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Performance is generally better if the result of a function only infrequently changes. So, even if you set the ''RefreshRate'' parameter to zero, performance is generally better if the outcome of your formula is constant over longer periods of time. On the other hand, if it changes every frame, performance is generally worse.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Generally, you should avoid using animation with partially transparent faces and stick to opaque faces when possible. Also, try to avoid texture shifts, and consider using state changes or translation where possible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 7. Tips&amp;lt;/font&amp;gt;=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Generally speaking, try to keep the complexity of functions as low as possible. This is not the most critical aspect, though, as most of the performance impact will result from applying the results of a function, e.g. rotating the object, and not evaluating the function.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Use the RefreshRate parameter when possible to optimize performance. Usually, you can use this parameter when you don't need a smooth animation, or when you deliberately want the functions to only update in intervals.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Don't use functions which always evaluate to the same constant. For example, don't use RotateXFunction = 3.14159, but rotate the underlying CSV/B3D/X object directly.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| State changes are very cheap as long as the state doesn't actually change in between two executions of the StateFunction. If a change occurs, this is a relatively expensive operation, though.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Try to optimize out ''if'' conditions. Especially try to avoid nested ''if'' functions. Often, there is an elegant mathematical solution.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Certain functions, e.g. Exp, Sin, Cos, etc., are relatively expensive. Use them only if absolutely necessary for an effect. Don't include unnecessary operations. For example, the result of StateFunction is automatically rounded toward the nearest integer, so don't apply an additional explicit Round.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| When working with car objects, bear in mind that some variables have an optional car index. You should use this index if you want to query the state of a particular car (that is, not necessarily the one the object is attached to). If, however, you just want to query the value of the particular car the object is attached to, use the variable without the index. For scenery objects, you should not generally use car indices as you can't be sure how many cars the queried train has.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 8. Example functions&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Blinking light&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Template for a blinking light:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;States = ''OBJECT0'', ''OBJECT1''&amp;lt;br /&amp;gt;StateFunction = value == 0&amp;lt;br /&amp;gt; RefreshRate = ''SECONDS''&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Rotating wheel&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Template for the code used in an exterior car object:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;States = ''OBJECT''&amp;lt;br /&amp;gt;RotateXFunction = value + delta * speedometer / ''RADIUS_OF_THE_WHEEL''&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Cycling through a list of objects&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Template for objects that are to be cycled through:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;States = ''OBJECT0'', ''OBJECT1'', ''OBJECT2'', ...&amp;lt;br /&amp;gt; StateFunction = mod[value + 1, ''AMOUNT_OF_OBJECTS'']&amp;lt;br /&amp;gt;RefreshRate = ''TIME_PER_OBJECT''&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Signal (3-aspect) for Track.Section(0; 2; 4)&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;States = ''RED_OBJECT'', ''YELLOW_OBJECT'', ''GREEN_OBJECT''&amp;lt;br /&amp;gt; StateFunction = section / 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Employing an approach-controlled delay in signals&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you want to create a signal that keeps being red until the train approaches it to some distance, then counts down a timer before it changes aspect to green, please refer to [http://openbve.freeforums.org/delay-in-approach-controlled-signals-t1195.html#p5378 this post] on the forum for a detailed explanation. Once you understand the concepts, you can use this code template:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Template for an approach-controlled delay in a signal with two aspects:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;States = ''RED_OBJECT'', ''GREEN_OBJECT''&amp;lt;br /&amp;gt;StateFunction = if[trackDistance&amp;gt;DISTANCE | section==0, 0, min[value + 0.5*delta/DELAY, 1]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''Template for an approach-controlled delay in a signal with any number of aspects:''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;States = ''RED_OBJECT'', ..., ''GREEN_OBJECT''&amp;lt;br /&amp;gt;StateFunction = if[trackDistance&amp;gt;DISTANCE | section==0, 0, if[value&amp;lt;0.5, value + 0.5*value/DELAY, section]]&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/.X</id>
		<title>.X</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/.X"/>
				<updated>2015-02-07T00:10:50Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot; | &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;This page is under co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;This page is under construction. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The X object format is a very narrow subset of the DirectX file format. Every X object validates as a DirectX file, but not necessarily the other way round.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Generally speaking, you will be unable to use 3D editing applications that export to the DirectX file format because openBVE will be unable to import the format.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Documentation of the X object format is not yet available, but the following is an overview of the supported templates, unstructured.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Mesh&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Vector&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| MeshFace&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| MeshMaterialList&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Material&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| ColorRGBA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| ColorRGB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| TextureFilename&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| MeshTextureCoords&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Coords2d&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| MeshNormals&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/.CSV</id>
		<title>.CSV</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/.CSV"/>
				<updated>2015-02-07T00:10:29Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.csv''' object format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10pt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.csv''' object format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 1. Overview&amp;lt;/font&amp;gt;=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A CSV object allows to create a single object by using textual instructions. The object can be used in routes or in trains. The object described by the file can contain any number of individual polygons. The file format allows to group multiple polygons in CreateMeshBuilder sections in which attributes like color or texture information is assigned to all polygons created in each section. This allows for the creation of many polygons in the same CreateMeshBuilder section which share common attributes. A polygon is called a face in this file format.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Loose''', however, you are encouraged to produce ''Strict'' output nonetheless. The file name is arbitrary, but must have the extension '''.csv'''. The file is interpreted on a per-line basis, from top to bottom.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ [[CSVQuickRef|See also the quick reference for the CSV format...]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 2. Syntax&amp;lt;/font&amp;gt;=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Each line in the file is split into the name of a command and its arguments. The syntax for all commands is the same:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''NameOfTheCommand''', ''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;''NameOfTheCommand'' is case-insensitive. If there are arguments, ''NameOfTheCommand'' and ''Argument1'' are separated by a comma (U+002C). Likewise, arguments are also separated by a comma (U+002C). [http://trainsimframework.org/develop/information_whitespaces.html White spaces] around the arguments and around the ''NameOfTheCommand'', and well as at the beginning and the end of the line, are ignored. Empty lines or lines solely consisting of white spaces are also ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments may also be omitted by leaving the text at each of the ''Argument&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' blank. A default value will usually apply in this case, which is specific to the command used. All default values are specified in the section of available commands.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ 3. Available commands&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==CreateMeshBuilder==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''CreateMeshBuilder'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command marks the beginning of a new section of faces. It must precede any of the following commands. There might be as many CreateMeshBuilder sections as desired in the object file. All subsequent commands will then relate to the last CreateMeshBuilder section opened.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==AddVertex==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''AddVertex''', ''vX'', ''vY'', ''vZ'', ''nX'', ''nY'', ''nZ''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''vX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate for the vertex in meters. Negative values are left, positive ones right. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''vY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate for the vertex in meters. Negative values are down, positive ones up. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''vZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate for the vertex in meters. Negative values are backward, positive ones forward. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''nX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate for the normal of this vertex. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''nY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate for the normal of this vertex. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''nZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate for the normal of this vertex. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a new vertex which can then be used to create faces via the AddFace or AddFace2 commands. There can be as many AddVertex commands as desired within a CreateMeshBuilder section. However, the order of the vertices given is important for other commands. The first vertex given has index 0, and subsequent vertices have indices 1, 2, 3 and so on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The normal is the direction perpendicular to the face at a particular point. If all vertices in a face have the same normal, the face will look flat. If used appropriately, you can give the illusion of a curved face by specifying different normals per vertex, but using the same normal on all vertices that share the same spatial coordinate - across multiple faces. If left all zero, the normal will be calculated automatically.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==AddFace==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''AddFace''', ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''v&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''v&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: The vertex index to include in this face. Allowed values are 0 through &amp;lt;/nowiki&amp;gt;''n''-1, where ''n'' is the number of AddVertex commands used. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a face given an arbitrary long list of vertex indices. The index corresponds to the order in which the vertices have been created by the AddVertex command, thus the AddFace command needs to be stated after the corresponding AddVertex commands. The first AddVertex command used creates index 0, and subsequent AddVertex commands create indices 1, 2, 3 and so on. The order in which the vertex indices appear is important. They need to be given in clockwise order when looking at the front of the face. The back of the face will not be visible. However, the AddFace2 command can be used to create a face which is visible from both sides. Only convex polygons are supported.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==AddFace2==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''AddFace2''', ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''v&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''v&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: The vertex index to include in this face. Allowed values are 0 through &amp;lt;/nowiki&amp;gt;''n''-1, where ''n'' is the number of AddVertex commands used. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a face given an arbitrary long list of vertex indices. The index corresponds to the order in which the vertices have been created by the Vertex command, thus the Face command needs to be stated after the corresponding Vertex commands. The first Vertex command used creates index 0, and subsequent Vertex commands create indices 1, 2, 3 and so on. The order in which the vertex indices appear is important. They need to be given in clockwise order when looking at the front of the face. The back of the face will also be visible, however, lighting on the back face might be the same as on the front face. Only convex polygons are supported.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Cube==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Cube''', ''HalfWidth'', ''HalfHeight'', ''HalfDepth''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HalfWidth'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing half the width of the cube in &amp;lt;/nowiki&amp;gt;'''meters'''.&amp;lt;br /&amp;gt;'''''HalfHeight'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing half the height of the cube in &amp;lt;/nowiki&amp;gt;'''meters'''.&amp;lt;br /&amp;gt;'''''HalfDepth'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing half the depth of the cube in &amp;lt;/nowiki&amp;gt;'''meters'''.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a cube having dimensions as specified by ''HalfWidth'', ''HalfHeight'' and ''HalfDepth''. The cube will be centered on the origin (0,0,0). Thus, on the x-axis, the cube extends from -''HalfWidth'' to ''HalfWidth'', on the y-axis from -''HalfHeight'' to ''HalfHeight'' and on the z-axis from -''HalfDepth'' to ''HalfDepth''. The cube always has 8 vertices and 6 faces.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Cube representation&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
The Cube command is equivalent to a series of AddVertex and AddFace commands, which you need to account for when using other commands in the same CreateMeshBuilder section. The details on what the Cube command does are available [http://trainsimframework.org/develop/object_cubecylinder.html here].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Cylinder==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Cylinder''', ''n'', ''UpperRadius'', ''LowerRadius'', ''Height''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''n'''''&amp;lt;nowiki&amp;gt;: An integer representing the number of vertices to be used for the base of the frustum.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''UpperRadius'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the radius for the upper base of the frustum in &amp;lt;/nowiki&amp;gt;'''meters'''. Can be negative to indicate that the top cap is to be omitted.&amp;lt;br /&amp;gt;'''''LowerRadius'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the radius for the lower base of the frustum in &amp;lt;/nowiki&amp;gt;'''meters'''. Can be negative to indicate that the bottom cap is to be omitted.&amp;lt;br /&amp;gt;'''''Height'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the height of the prism in &amp;lt;/nowiki&amp;gt;'''meters'''. Can be negative, which will flip the frustum vertically and display it inside-out.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a [http://en.wikipedia.org/wiki/Frustum frustum]. If ''LowerRadius'' and ''UpperRadius'' are equal, the object generated will reduce to a [http://en.wikipedia.org/wiki/Prism_(geometry) prism], which can be used as an approximation to the cylinder. If either ''LowerRadius'' or ''UpperRadius'' are zero, the object generated will reduce to a [http://en.wikipedia.org/wiki/Pyramid_(geometry) pyramid]. The frustum will be centered on the origin (0,0,0). On the x- and z-axes, the frustum extends from -''LowerRadius'' to ''LowerRadius'' for the lower base and from -''UpperRadius'' to ''UpperRadius'' for the upper base. On the y-axis, the frustum extends from -½*''Height'' to ½*''Height''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The number of vertices ''n'' will usually suffice to be 6 or 8 when only small radii are used, for example to create a pole. Regardless of the values of ''UpperRadius'', ''LowerRadius'' and ''n'', the frustum will always have 2*''n'' vertices, and usually ''n''+2 faces unless any of the caps are omitted. If ''UpperRadius'' or ''LowerRadius'' are negative, the absolute value is being taken, but the respective caps are not created. If ''Height'' is negative, the roles of top and bottom are reversed and the faces will be visible from the inside, while otherwise, they will be visible from the outside.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Cylinder representation&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
The Cylinder command is equivalent to a series of AddVertex and AddFace commands, which you need to account for when using other commands in the same CreateMeshBuilder section. The details on what the Cylinder command does are available [http://trainsimframework.org/develop/object_cubecylinder.html here].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==GenerateNormals==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;GenerateNormals&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''This command is ignored by openBVE.'' &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Translate/TranslateAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Translate''', ''X'', ''Y'', ''Z''&amp;lt;br /&amp;gt;'''TranslateAll''', ''X'', ''Y'', ''Z''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the translation on the x-coordinate in &amp;lt;/nowiki&amp;gt;'''meters'''. Negative values translate to the left, positive ones right. The default value is 0.&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the translation on the y-coordinate in &amp;lt;/nowiki&amp;gt;'''meters'''. Negative values translate down, positive ones up. The default value is 0.&amp;lt;br /&amp;gt;'''''Z'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the translation on the z-coordinate in &amp;lt;/nowiki&amp;gt;'''meters'''. Negative values translate backward, positive ones forward. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Translate''' command moves all vertices that have been created so far in the CreateMeshBuilder section via the AddVertex, Cube or Cylinder commands. Subsequent vertices are not affected. You can use as many Translate commands as desired in a CreateMeshBuilder section. The '''TranslateAll''' command not only affects the vertices generated in the current CreateMeshBuilder section, but also those created in previous CreateMeshBuilder sections. This is useful to insert at the end of the file in order to translate the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Scale/ScaleAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Scale''', ''X'', ''Y'', ''Z''&amp;lt;br /&amp;gt;'''ScaleAll''', ''X'', ''Y'', ''Z''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A non-zero floating-point number representing the scale factor on the x-coordinate. The default value is 1.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A non-zero floating-point number representing the scale factor on the y-coordinate. The default value is 1.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Z'''''&amp;lt;nowiki&amp;gt;: non-zero A floating-point number representing the scale factor on the z-coordinate. The default value is 1. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Scale''' command scales all vertices that have been created so far in the CreateMeshBuilder section via the AddVertex, Cube or Cylinder commands. Subsequent vertices are not affected. You can use as many Scale commands as desired in a CreateMeshBuilder section. The '''ScaleAll''' command not only affects the vertices generated in the current CreateMeshBuilder section, but also those created in previous CreateMeshBuilder sections. This is useful to insert at the end of the file in order to scale the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Rotate/Rotateall==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Rotate''', ''X'', ''Y'', ''Z'', ''Angle''&amp;lt;br /&amp;gt;'''RotateAll''', ''X'', ''Y'', ''Z'', ''Angle''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: The x-direction of the rotational axis. Negative values point to the left, positive ones to the right. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: The y-direction of the rotational axis. Negative values point down, positive ones up. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Z'''''&amp;lt;nowiki&amp;gt;: The z-direction of the rotational axis. Negative values point backward, positive ones forward. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Angle'''''&amp;lt;nowiki&amp;gt;: The angle to rotate in degrees. Negative values rotate counter-clockwise, positive ones clock-wise. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Rotate''' command rotates all vertices that have been created so far in the current CreateMeshBuilder section via the AddVertex, Cube or Cylinder commands. Subsequent vertices are not affected. The axis of rotation is specified via the ''X'', ''Y'' and ''Z'' values. Rotation will occur in the plane perpendicular to that direction. A zero vector for this axis is treated as (1,0,0). All other directions are normalized.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You can use as many Rotate commands as desired in a CreateMeshBuilder section. The '''RotateAll''' command not only affects the vertices generated in the current CreateMeshBuilder section, but also those created in previous CreateMeshBuilder sections. This is useful to insert at the end of the file in order to rotate the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Shear/ShearAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Shear''', ''dX'', ''dY'', ''dZ'', ''sX'', ''sY'', ''sZ'', ''r''&amp;lt;br /&amp;gt;'''ShearAll''', ''dX'', ''dY'', ''dZ'', ''sX'', ''sY'', ''sZ'', ''r''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''dX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate of the vector D. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''dY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate of the vector D. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''dZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate of the vector D. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''sX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate of the vector S. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''sY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate of the vector S. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''sZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate of the vector S. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''r'''''&amp;lt;nowiki&amp;gt;: The ratio that indicates how much to displace vectors. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Shear''' command performs a [http://en.wikipedia.org/wiki/Shear_mapping shear mapping] for all vertices that have been created so far in the current CreateMeshBuilder section. The '''ShearAll''' command not only affects the vertices generated in the current CreateMeshBuilder section, but also those created in previous CreateMeshBuilder sections. This is useful to insert at the end of the file in order to shear the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:illustration_shear.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The shear mapping is performed around the origin. Loosely speaking, the object is sliced into planes along the direction D and then displaced along the direction S. Typically, D and S are perpendicular. D and S are always normalized. If ''Ratio'' is 0, no transformation is performed. If D and S are perpendicular, a ''Ratio'' of 1 corresponds to a slope of 45 degrees.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==SetColor==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''SetColor''', ''Red'', ''Green'', ''Blue'', ''Alpha''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Red'''''&amp;lt;nowiki&amp;gt;: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Green'''''&amp;lt;nowiki&amp;gt;: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Blue'''''&amp;lt;nowiki&amp;gt;: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Alpha'''''&amp;lt;nowiki&amp;gt;: The alpha component of the color. Measured from 0 (transparent) to 255 (opaque). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the color for all faces that were already created in the current CreateMeshBuilder section. If no texture is used, the faces will be colored using the color data as specified by ''Red'', ''Green'' and ''Blue''. If a texture is used, the pixels in the texture will be multiplied by the color, where multiplying with black results in black and multiplying with white does not change the color of the texture pixels. Values in-between make the texture pixels darker. When lighting is used in the route, the actual color can change depending on the lighting conditions, but will usually become darker.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==SetEmissiveColor==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''SetEmissiveColor''', ''Red'', ''Green'', ''Blue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Red'''''&amp;lt;nowiki&amp;gt;: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Green'''''&amp;lt;nowiki&amp;gt;: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Blue'''''&amp;lt;nowiki&amp;gt;: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the emissive color for all faces that were already created in the current CreateMeshBuilder section. The difference between the SetColor command and the SetEmissiveColor command is that the SetColor command is affected by lighting, while the SetEmissiveColor command is not. Thus, the SetEmissiveColor command should be used for faces which would emit light themselves, including signals, lamps, windows and the like. The actual color contribution to the faces will be the sum of the light-affected color data and the static emissive color data.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==SetBlendMode==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''SetBlendMode''', ''BlendMode'', ''GlowHalfDistance'', ''GlowAttenuationMode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''BlendMode'''''&amp;lt;nowiki&amp;gt;: The blend mode to use. The default is Normal.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GlowHalfDistance'''''&amp;lt;nowiki&amp;gt;: The distance at which the glow is at 50% of its intensity, measured in meters. The value must be an integer in the range from 1 to 4095, or 0 to disable glow attenuation. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GlowAttenuationMode'''''&amp;lt;nowiki&amp;gt;: The glow attenuation mode to use. The default is DivideExponent4.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''BlendMode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''Normal'''&amp;lt;nowiki&amp;gt;: The faces are rendered normally.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''Additive'''&amp;lt;nowiki&amp;gt;: The faces are rendered additively. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''GlowAttenuationMode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''DivideExponent2'''&amp;lt;nowiki&amp;gt;: The glow intensity is determined via the function &amp;lt;/nowiki&amp;gt;''x''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; / (''x''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + ''GlowHalfDistance''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), where ''x'' is the distance from the camera to the object in meters.&amp;lt;br /&amp;gt;'''DivideExponent4'''&amp;lt;nowiki&amp;gt;: The glow intensity is determined via the function &amp;lt;/nowiki&amp;gt;''x''&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; / (''x''&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; + ''GlowHalfDistance''&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;), where ''x'' is the distance from the camera to the object in meters.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the blend mode for all faces in the current CreateMeshBuilder section. The ''Normal'' mode replaces screen pixels with texture pixels. The ''Additive'' mode adds the color of texture pixels to the color of screen pixels, where adding black does not change the screen pixel, while adding white results in white. If ''GlowHalfDistance'' is 0, glow attenuation will be disabled, which is the default. If glow attenuation is to be used, ''GlowHalfDistance'' represents the distance in meters at which the glow is exactly at 50% of its intensity. When the camera approaches the face, the face will gradually fade out (become transparent). The function used to determine the exact intensity for a given distance can be influenced with the setting of ''GlowAttenuationMode''. DivideExponent2 creates a smoother transition, but will converge to the maximum intensity very slowly, while DivideExponent4 creates a sharper transition which converges more quickly.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | '''openBVE 2 compatibility note:'''&amp;lt;br /&amp;gt; In openBVE 2, only additive glow will be supported and the ''GlowAttenuationMode'' parameter is likely going to be dropped. Please avoid using normal blending in conjunction with using glow.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==LoadTexture==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''LoadTexture''', ''DaytimeTexture'', ''NighttimeTexture''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''DaytimeTexture'''''&amp;lt;nowiki&amp;gt;: The file name of the daytime version of the texture to load, relative to the directory the object file is stored in.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''NighttimeTexture'''''&amp;lt;nowiki&amp;gt;: The file name of the nighttime version of the texture to load, relative to the directory the object file is stored in.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command loads a texture and uses it for all faces in the current CreateMeshBuilder section. The file name is relative to the directory the object file is stored in. You can use PNG, which supports full alpha channels, but use the alpha channel only if absolutely required as it reduces performance. Prefer using a texture without an alpha channel in conjunction with the SetDecalTransparentColor command in order to use color-key transparency.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If ''NighttimeTexture'' is used, it specifies the texture to be used on nighttime lighting conditions, while ''DaytimeTexture'' then specifies the texture to be used on daytime lighting conditions. The textures might blend into each other and should be designed accordingly. If ''NighttimeTexture'' is used, ''DaytimeTexture'' must also be specified. If ''NighttimeTexture'' is not used, low lighting conditions will make the daytime version darker. Nighttime textures are meant for use with train interior/exterior objects.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==SetDecalTransparentColor==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''SetDecalTransparentColor''', ''Red'', ''Green'', ''Blue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Red'''''&amp;lt;nowiki&amp;gt;: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Green'''''&amp;lt;nowiki&amp;gt;: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Blue'''''&amp;lt;nowiki&amp;gt;: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the color used for screendoor transparency for all faces that were already created. The texture loaded via the Load command will become transparent for all pixels which match exactly with the color specified via the ''Red'', ''Green'' and ''Blue'' parameters. The use of screendoor transparency is much more efficient than using a full alpha channel, so prefer using a texture without an alpha channel and use this command instead to make parts of the texture transparent. You need to specify texture coordinates via the Coordinate command in order for the texture to correctly appear on the faces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==SetTextureCoordinates==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''SetTextureCoordinates''', ''VertexIndex'', ''X'', ''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''VertexIndex'''''&amp;lt;nowiki&amp;gt;: The vertex index the coordinate is referring to. Allowed values are 0 through &amp;lt;/nowiki&amp;gt;''n''-1, where ''n'' is the number of AddVertex commands used.&amp;lt;br /&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: The x-coordinate of the texture. Integer values correspond to the left/right edge of the texture. If only values between 0 and 1 are to be considered, 0 corresponds to the left and 1 to the right.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: The y-coordinate of the texture. Integer values correspond to the top/bottom edge of the texture. If only values between 0 and 1 are to be considered, 0 corresponds to the top and 1 to the bottom.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command associates a coordinate in the texture to the vertex specified by ''VertexIndex''. The index corresponds to the order in which the vertices have been created by the AddVertex command, thus the Coordinates command needs to be stated after the corresponding AddVertex command. The ''X'' and ''Y'' values do not necessarily need to be in the range between 0 (left or top) to 1 (right or bottom), but can have any other value. It is assumed in this case that the texture is repeated on an infinite grid where integer values for ''X'' and ''Y'' correspond to the corners of the texture.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/.B3d</id>
		<title>.B3d</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/.B3d"/>
				<updated>2015-02-07T00:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.b3d''' object format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;      =&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Overview&amp;lt;/font&amp;gt;=...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;The '''.b3d''' object format&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Overview&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
A B3D object allows to create a single object by using textual instructions. The object can be used in routes or in trains. The object described by the file can contain any number of individual polygons. The file format allows to group multiple polygons in [MeshBuilder] sections in which attributes like color or texture information is assigned to all polygons created in each section. This allows for the creation of many polygons in the same [MeshBuilder] section which share common attributes. A polygon is called a face in this file format.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The file is a plain text file encoded in any arbitrary [http://trainsimframework.org/develop/information_encodings.html encoding], however, UTF-8 with a byte order mark is the preferred choice. The [http://trainsimframework.org/develop/information_numberformats.html parsing model] for numbers is '''Loose''', however, you are encouraged to produce ''Strict'' output nonetheless. The file name is arbitrary, but must have the extension '''.b3d'''. The file is interpreted on a per-line basis, from top to bottom.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;➟ See also the [[B3DQuickRef|&lt;br /&gt;
quick reference for the B3D format...]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 2px groove currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#c04040&amp;quot; | &amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt; Check these tutorials out:&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; | &lt;br /&gt;
*[http://www.bvestation.com/forums/index.php?topic=1496.0 Basic 2D Object Building By ipac]&lt;br /&gt;
*[http://www.bvestation.com/forums/index.php?topic=3790.0 Transparent Objects By error46146]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Syntax&amp;lt;/font&amp;gt;=&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Each line in the file is split into the name of a command and its arguments. The syntax for all commands is the same:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''NameOfTheCommand''' ''Argument&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''Argument&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''Argument&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''Argument&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;''NameOfTheCommand'' is case-insensitive. If there are arguments, ''NameOfTheCommand'' and ''Argument1'' are separated by at least one space space (U+0020). Arguments are separated by a comma (U+002C). [http://trainsimframework.org/develop/information_whitespaces.html White spaces] around the arguments, and well as at the beginning and the end of the line, are ignored. Empty lines or lines solely consisting of white spaces are also ignored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments may also be omitted by leaving the text at each of the ''Argument&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' blank. A default value will usually apply in this case, which is specific to the command used. All default values are specified in the section of available commands. Note however that the first argument may not be omitted if other arguments are provided.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You can use comments anywhere at the end of a line. A comment is started by a semicolon (U+003B). Comments, if present, are stripped away from all lines before these are processed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Available commands&amp;lt;/font&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MeshBuilder==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''[MeshBuilder]'''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command marks the beginning of a new section of faces. It must precede any of the following commands. There might be as many [MeshBuilder] sections as desired in the object file. All subsequent commands will then relate to the last [MeshBuilder] section opened.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Vertex==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Vertex''' ''vX'', ''vY'', ''vZ'', ''nX'', ''nY'', ''nZ''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''vX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate for the vertex in meters. Negative values are left, positive ones right. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''vY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate for the vertex in meters. Negative values are down, positive ones up. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''vZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate for the vertex in meters. Negative values are backward, positive ones forward. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''nX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate for the normal of this vertex. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''nY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate for the normal of this vertex. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''nZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate for the normal of this vertex. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a new vertex which can then be used to create faces via the Face or Face2 commands. There can be as many Vertex commands as desired within a [MeshBuilder] section. However, the order of the vertices given is important for other commands. The first vertex given has index 0, and subsequent vertices have indices 1, 2, 3 and so on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The normal is the direction perpendicular to the face at a particular point. If all vertices in a face have the same normal, the face will look flat. If used appropriately, you can give the illusion of a curved face by specifying different normals per vertex, but using the same normal on all vertices that share the same spatial coordinate - across multiple faces. If left all zero, the normal will be calculated automatically.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Face==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Face''' ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''v&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''v&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: The vertex index to include in this face. Allowed values are 0 through &amp;lt;/nowiki&amp;gt;''n''-1, where ''n'' is the number of Vertex commands used. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a face given an arbitrary long list of vertex indices. The index corresponds to the order in which the vertices have been created by the Vertex command, thus the Face command needs to be stated after the corresponding Vertex commands. The first Vertex command used creates index 0, and subsequent Vertex commands create indices 1, 2, 3 and so on. The order in which the vertex indices appear is important. They need to be given in clockwise order when looking at the front of the face. The back of the face will not be visible. However, the Face2 command can be used to create a face which is visible from both sides. Only convex polygons are supported.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Face2==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Face2''' ''v&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', ''v&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;'', ..., ''v&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''v&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'''''&amp;lt;nowiki&amp;gt;: The vertex index to include in this face. Allowed values are 0 through &amp;lt;/nowiki&amp;gt;''n''-1, where ''n'' is the number of Vertex commands used. &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a face given an arbitrary long list of vertex indices. The index corresponds to the order in which the vertices have been created by the Vertex command, thus the Face command needs to be stated after the corresponding Vertex commands. The first Vertex command used creates index 0, and subsequent Vertex commands create indices 1, 2, 3 and so on. The order in which the vertex indices appear is important. They need to be given in clockwise order when looking at the front of the face. The back of the face will also be visible, however, lighting on the back face might be the same as on the front face. Only convex polygons are supported.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Cube==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Cube''' ''HalfWidth'', ''HalfHeight'', ''HalfDepth''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''HalfWidth'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing half the width of the cube in &amp;lt;/nowiki&amp;gt;'''meters'''.&amp;lt;br /&amp;gt;'''''HalfHeight'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing half the height of the cube in &amp;lt;/nowiki&amp;gt;'''meters'''.&amp;lt;br /&amp;gt;'''''HalfDepth'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing half the depth of the cube in &amp;lt;/nowiki&amp;gt;'''meters'''.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a cube having dimensions as specified by ''HalfWidth'', ''HalfHeight'' and ''HalfDepth''. The cube will be centered on the origin (0,0,0). Thus, on the x-axis, the cube extends from -''HalfWidth'' to ''HalfWidth'', on the y-axis from -''HalfHeight'' to ''HalfHeight'' and on the z-axis from -''HalfDepth'' to ''HalfDepth''. The cube always has 8 vertices and 6 faces.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Cube representation&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
The Cube command is equivalent to a series of Vertex and Face commands, which you need to account for when using other commands in the same [MeshBuilder] section. The details on what the Cube command does are available [http://trainsimframework.org/develop/object_cubecylinder.html here].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Cylinder==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Cylinder''' ''n'', ''UpperRadius'', ''LowerRadius'', ''Height''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''n'''''&amp;lt;nowiki&amp;gt;: An integer representing the number of vertices to be used for the base of the frustum.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''UpperRadius'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the radius for the upper base of the frustum in &amp;lt;/nowiki&amp;gt;'''meters'''. Can be negative to indicate that the top cap is to be omitted.&amp;lt;br /&amp;gt;'''''LowerRadius'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the radius for the lower base of the frustum in &amp;lt;/nowiki&amp;gt;'''meters'''. Can be negative to indicate that the bottom cap is to be omitted.&amp;lt;br /&amp;gt;'''''Height'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the height of the prism in &amp;lt;/nowiki&amp;gt;'''meters'''. Can be negative, which will flip the frustum vertically and display it inside-out.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command creates a [http://en.wikipedia.org/wiki/Frustum frustum]. If ''LowerRadius'' and ''UpperRadius'' are equal, the object generated will reduce to a [http://en.wikipedia.org/wiki/Prism_(geometry) prism], which can be used as an approximation to the cylinder. If either ''LowerRadius'' or ''UpperRadius'' are zero, the object generated will reduce to a [http://en.wikipedia.org/wiki/Pyramid_(geometry) pyramid]. The frustum will be centered on the origin (0,0,0). On the x- and z-axes, the frustum extends from -''LowerRadius'' to ''LowerRadius'' for the lower base and from -''UpperRadius'' to ''UpperRadius'' for the upper base. On the y-axis, the frustum extends from -½*''Height'' to ½*''Height''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The number of vertices ''n'' will usually suffice to be 6 or 8 when only small radii are used, for example to create a pole. Regardless of the values of ''UpperRadius'', ''LowerRadius'' and ''n'', the frustum will always have 2*''n'' vertices, and usually ''n''+2 faces unless any of the caps are omitted. If ''UpperRadius'' or ''LowerRadius'' are negative, the absolute value is being taken, but the respective caps are not created. If ''Height'' is negative, the roles of top and bottom are reversed and the faces will be visible from the inside, while otherwise, they will be visible from the outside.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed currentColor; margin-right: 20pt; margin-left: 20pt&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffe080&amp;quot; | &amp;lt;font color=&amp;quot;#404040&amp;quot;&amp;gt; '''ⓘ''' Cylinder representation&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
The Cylinder command is equivalent to a series of Vertex and Face commands, which you need to account for when using other commands in the same [MeshBuilder] section. The details on what the Cylinder command does are available [http://trainsimframework.org/develop/object_cubecylinder.html here].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Texture==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#606060&amp;quot;&amp;gt;[Texture]&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;''This command is ignored by openBVE.'' &amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Translate/TranslateAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Translate''' ''X'', ''Y'', ''Z''&amp;lt;br /&amp;gt;'''TranslateAll''' ''X'', ''Y'', ''Z''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the translation on the x-coordinate in &amp;lt;/nowiki&amp;gt;'''meters'''. Negative values translate to the left, positive ones right. The default value is 0.&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the translation on the y-coordinate in &amp;lt;/nowiki&amp;gt;'''meters'''. Negative values translate down, positive ones up. The default value is 0.&amp;lt;br /&amp;gt;'''''Z'''''&amp;lt;nowiki&amp;gt;: A floating-point number representing the translation on the z-coordinate in &amp;lt;/nowiki&amp;gt;'''meters'''. Negative values translate backward, positive ones forward. The default value is 0.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Translate''' command moves all vertices that have been created so far in the [MeshBuilder] section via the Vertex, Cube or Cylinder commands. Subsequent vertices are not affected. You can use as many Translate commands as desired in a [MeshBuilder] section. The '''TranslateAll''' command not only affects the vertices generated in the current [MeshBuilder] section, but also those created in previous [MeshBuilder] sections. This is useful to insert at the end of the file in order to translate the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Scale/ScaleAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Scale''' ''X'', ''Y'', ''Z''&amp;lt;br /&amp;gt;'''ScaleAll''' ''X'', ''Y'', ''Z''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: A non-zero floating-point number representing the scale factor on the x-coordinate. The default value is 1.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: A non-zero floating-point number representing the scale factor on the y-coordinate. The default value is 1.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Z'''''&amp;lt;nowiki&amp;gt;: non-zero A floating-point number representing the scale factor on the z-coordinate. The default value is 1. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Scale''' command scales all vertices that have been created so far in the [MeshBuilder] section via the Vertex, Cube or Cylinder commands. Subsequent vertices are not affected. You can use as many Scale commands as desired in a [MeshBuilder] section. The '''ScaleAll''' command not only affects the vertices generated in the current [MeshBuilder] section, but also those created in previous [MeshBuilder] sections. This is useful to insert at the end of the file in order to scale the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Rotate/RotateAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Rotate''' ''X'', ''Y'', ''Z'', ''Angle''&amp;lt;br /&amp;gt;'''RotateAll''' ''X'', ''Y'', ''Z'', ''Angle''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: The x-direction of the rotational axis. Negative values point to the left, positive ones to the right. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: The y-direction of the rotational axis. Negative values point down, positive ones up. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Z'''''&amp;lt;nowiki&amp;gt;: The z-direction of the rotational axis. Negative values point backward, positive ones forward. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Angle'''''&amp;lt;nowiki&amp;gt;: The angle to rotate in degrees. Negative values rotate counter-clockwise, positive ones clock-wise. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Rotate''' command rotates all vertices that have been created so far in the current [MeshBuilder] section via the Vertex, Cube or Cylinder commands. Subsequent vertices are not affected. The axis of rotation is specified via the ''X'', ''Y'' and ''Z'' values. Rotation will occur in the plane perpendicular to that direction. A zero vector for this axis is treated as (1,0,0). All other directions are normalized. You can use as many Rotate commands as desired in a [MeshBuilder] section. The '''RotateAll''' command not only affects the vertices generated in the current [MeshBuilder] section, but also those created in previous [MeshBuilder] sections. This is useful to insert at the end of the file in order to rotate the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Shear/ShearAll==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Shear''' ''dX'', ''dY'', ''dZ'', ''sX'', ''sY'', ''sZ'', ''Ratio''&amp;lt;br /&amp;gt;'''ShearAll''' ''dX'', ''dY'', ''dZ'', ''sX'', ''sY'', ''sZ'', ''Ratio''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''dX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate of the vector D. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''dY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate of the vector D. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''dZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate of the vector D. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''sX'''''&amp;lt;nowiki&amp;gt;: The x-coordinate of the vector S. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''sY'''''&amp;lt;nowiki&amp;gt;: The y-coordinate of the vector S. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''sZ'''''&amp;lt;nowiki&amp;gt;: The z-coordinate of the vector S. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''r'''''&amp;lt;nowiki&amp;gt;: The ratio that indicates how much to displace vectors. The default value is 0. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The '''Shear''' command performs a [http://en.wikipedia.org/wiki/Shear_mapping shear mapping] for all vertices that have been created so far in the current CreateMeshBuilder section. The '''ShearAll''' command not only affects the vertices generated in the current CreateMeshBuilder section, but also those created in previous CreateMeshBuilder sections. This is useful to insert at the end of the file in order to shear the whole object.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:illustration_shear.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The shear mapping is performed around the origin. Loosely speaking, the object is sliced into planes along the direction D and then displaced along the direction S. Typically, D and S are perpendicular. D and S are always normalized. If ''Ratio'' is 0, no transformation is performed. If D and S are perpendicular, a ''Ratio'' of 1 corresponds to a slope of 45 degrees.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Color==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Color''' ''Red'', ''Green'', ''Blue'', ''Alpha''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Red'''''&amp;lt;nowiki&amp;gt;: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Green'''''&amp;lt;nowiki&amp;gt;: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Blue'''''&amp;lt;nowiki&amp;gt;: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Alpha'''''&amp;lt;nowiki&amp;gt;: The alpha component of the color. Measured from 0 (transparent) to 255 (opaque). The default value is 255.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the color for all faces that were already created in the current [MeshBuilder] section. If no texture is used, the faces will be colored using the color data as specified by ''Red'', ''Green'' and ''Blue''. If a texture is used, the pixels in the texture will be multiplied by the color, where multiplying with black results in black and multiplying with white does not change the color of the texture pixels. Values in-between make the texture pixels darker. When lighting is used in the route, the actual color can change depending on the lighting conditions, but will usually become darker.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==EmissiveColor==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''EmissiveColor''' ''Red'', ''Green'', ''Blue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Red'''''&amp;lt;nowiki&amp;gt;: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Green'''''&amp;lt;nowiki&amp;gt;: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Blue'''''&amp;lt;nowiki&amp;gt;: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the emissive color for all faces that were already created in the current [MeshBuilder] section. The difference between the Color command and the EmissiveColor command is that the Color command is affected by lighting, while the EmissiveColor command is not. Thus, the EmissiveColor command should be used for faces which would emit light themselves, including signals, lamps, windows and the like. The actual color contribution to the faces will be the sum of the light-affected color data and the static emissive color data.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==BlendMode==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''BlendMode''' ''BlendMode'', ''GlowHalfDistance'', ''GlowAttenuationMode''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''BlendMode'''''&amp;lt;nowiki&amp;gt;: The blend mode to use. The default is Normal.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GlowHalfDistance'''''&amp;lt;nowiki&amp;gt;: The distance at which the glow is at 50% of its intensity, measured in meters. The value must be an integer in the range from 1 to 4095, or 0 to disable glow attenuation. The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''GlowAttenuationMode'''''&amp;lt;nowiki&amp;gt;: The glow attenuation mode to use. The default is DivideExponent4.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''BlendMode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''Normal'''&amp;lt;nowiki&amp;gt;: The faces are rendered normally.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''Additive'''&amp;lt;nowiki&amp;gt;: The faces are rendered additively. &amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 40pt&amp;quot;&lt;br /&gt;
| ▸ Available options for ''GlowAttenuationMode''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 50pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''DivideExponent2'''&amp;lt;nowiki&amp;gt;: The glow intensity is determined via the function &amp;lt;/nowiki&amp;gt;''x''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; / (''x''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + ''GlowHalfDistance''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), where ''x'' is the distance from the camera to the object in meters.&amp;lt;br /&amp;gt;'''DivideExponent4'''&amp;lt;nowiki&amp;gt;: The glow intensity is determined via the function &amp;lt;/nowiki&amp;gt;''x''&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; / (''x''&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; + ''GlowHalfDistance''&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;), where ''x'' is the distance from the camera to the object in meters.&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the blend mode for all faces in the current [MeshBuilder] section. The ''Normal'' mode replaces screen pixels with texture pixels. The ''Additive'' mode adds the color of texture pixels to the color of screen pixels, where adding black does not change the screen pixel, while adding white results in white. If ''GlowHalfDistance'' is 0, glow attenuation will be disabled, which is the default. If glow attenuation is to be used, ''GlowHalfDistance'' represents the distance in meters at which the glow is exactly at 50% of its intensity. When the camera approaches the face, the face will gradually fade out (become transparent). The function used to determine the exact intensity for a given distance can be influenced with the setting of ''GlowAttenuationMode''. DivideExponent2 creates a smoother transition, but will converge to the maximum intensity very slowly, while DivideExponent4 creates a sharper transition which converges more quickly.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | '''openBVE 2 compatibility note:'''&amp;lt;br /&amp;gt; In openBVE 2, only additive glow will be supported and the ''GlowAttenuationMode'' parameter is likely going to be dropped. Please avoid using normal blending in conjunction with using glow.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Load==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Load''' ''DaytimeTexture'', ''NighttimeTexture''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''DaytimeTexture'''''&amp;lt;nowiki&amp;gt;: The file name of the daytime version of the texture to load, relative to the directory the object file is stored in.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''NighttimeTexture'''''&amp;lt;nowiki&amp;gt;: The file name of the daytime version of the texture to load, relative to the directory the object file is stored in.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command loads a texture and uses it for all faces in the current CreateMeshBuilder section. The file name is relative to the directory the object file is stored in. You can use PNG, which supports full alpha channels, but use the alpha channel only if absolutely required as it reduces performance. Prefer using a texture without an alpha channel in conjunction with the SetDecalTransparentColor command in order to use color-key transparency.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If ''NighttimeTexture'' is used, it specifies the texture to be used on nighttime lighting conditions, while ''DaytimeTexture'' then specifies the texture to be used on daytime lighting conditions. The textures might blend into each other and should be designed accordingly. If ''NighttimeTexture'' is used, ''DaytimeTexture'' must also be specified. If ''NighttimeTexture'' is not used, low lighting conditions will make the daytime version darker. Nighttime textures are meant for use with train interior/exterior objects.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Transparent==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Transparent''' ''Red'', ''Green'', ''Blue''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''Red'''''&amp;lt;nowiki&amp;gt;: The red component of the color. Measured from 0 (black) to 255 (red). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Green'''''&amp;lt;nowiki&amp;gt;: The green component of the color. Measured from 0 (black) to 255 (green). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Blue'''''&amp;lt;nowiki&amp;gt;: The blue component of the color. Measured from 0 (black) to 255 (blue). The default value is 0.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command sets the color used for screendoor transparency for all faces that were already created. The texture loaded via the Load command will become transparent for all pixels which match exactly with the color specified via the ''Red'', ''Green'' and ''Blue'' parameters. The use of screendoor transparency is much more efficient than using a full alpha channel, so prefer using a texture without an alpha channel and use this command instead to make parts of the texture transparent. You need to specify texture coordinates via the Coordinate command in order for the texture to correctly appear on the faces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible&amp;quot; style=&amp;quot;width:1024px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px dotted currentColor&amp;quot; bgcolor=&amp;quot;#f0f0f0&amp;quot; | &amp;lt;font face=&amp;quot;monospace&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;rgb(128, 128, 128)&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#c00000&amp;quot;&amp;gt;'''Coordinates''' ''VertexIndex'', ''X'', ''Y''&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font color=&amp;quot;#808080&amp;quot;&amp;gt;'''''VertexIndex'''''&amp;lt;nowiki&amp;gt;: The vertex index the coordinate is referring to. Allowed values are 0 through &amp;lt;/nowiki&amp;gt;''n''-1, where ''n'' is the number of Vertex commands used.&amp;lt;br /&amp;gt;'''''X'''''&amp;lt;nowiki&amp;gt;: The x-coordinate of the texture. Integer values correspond to the left/right edge of the texture. If only values between 0 and 1 are to be considered, 0 corresponds to the left and 1 to the right.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;'''''Y'''''&amp;lt;nowiki&amp;gt;: The y-coordinate of the texture. Integer values correspond to the top/bottom edge of the texture. If only values between 0 and 1 are to be considered, 0 corresponds to the top and 1 to the bottom.&amp;lt;/nowiki&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This command associates a coordinate in the texture to the vertex specified by ''VertexIndex''. The index corresponds to the order in which the vertices have been created by the Vertex command, thus the Coordinates command needs to be stated after the corresponding Vertex command. The ''X'' and ''Y'' values do not necessarily need to be in the range between 0 (left or top) to 1 (right or bottom), but can have any other value. It is assumed in this case that the texture is repeated on an infinite grid where integer values for ''X'' and ''Y'' correspond to the corners of the texture.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Win32_DLLs</id>
		<title>Win32 DLLs</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Win32_DLLs"/>
				<updated>2015-02-07T00:08:14Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Win32 train plugins&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-l...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Win32 train plugins&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;1.5em&amp;quot;&amp;gt;Win32 train plugins are not available on operating systems other than Microsoft Windows. Therefore, these plugins are officially deprecated. Please use [http://trainsimframework.org/develop/plugin_overview.html .NET assemblies] from now on.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The header and code files for the C/C++ programming languages are available to download here:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[plugin_h.txt|plugin.h]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[plugin_cpp.txt|plugin.cpp]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
[[plugin_def.txt|plugin.def]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;'''Data types:'''&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 32-bit signed integer ranging from -2147483648 to 2147483647&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 32-bit floating point number according to the IEEE 754 binary32 standard&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 64-bit floating point number according to the IEEE 754 binary64 standard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Overview&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following functions are called in this order when the plugin is loaded:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Load&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| GetPluginVersion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetVehicleSpec&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Initialize&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetPower&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetBrake&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetReverser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetSignal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following functions are called whenever their respective events occur:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetPower&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetBrake&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetReverser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| KeyDown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| KeyUp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| HornBlow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| DoorOpen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| DoorClose&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetSignal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetBeaconData&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following function is called when the plugin is unloaded:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Dispose&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Descriptions&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;'''ATS_API void WINAPI Load()'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is the first to be called after the plugin has been loaded. When this function triggers inside the plugin, a matching Dispose() call will be made when the plugin is unloaded.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI Dispose()'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is the last to be called before the plugin is unloaded.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API int WINAPI GetPluginVersion()'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called after Load() in order to query the version of the API to use for the plugin. Currently, there is only one version available. If the version returned does not match the expected value, Dispose() will be called and the plugin is unloaded.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''Return value:''&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_VERSION&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0x20000 (131072)&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Valid plugin version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI SetVehicleSpec (ATS_VEHICLESPEC vehicleSpec)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called after GetPluginVersion() is called and informs the plugin about the specifications of the train.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''struct ATS_VEHICLESPEC''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int BrakeNotches&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The amount of brake notches the train has. This does not include the emergency brake, but it does include the hold brake if the train has one. For trains with automatic air brakes, 2 is returned.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int PowerNotches&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The amount of power notches the train has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int AtsNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The brake notch index corresponding to the first real brake notch. For trains with automatic air brakes, this returns 1. For other trains, this returns 2 if the train has a hold brake, and 1 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int B67Notch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The brake notch index corresponding to 70% of the brake notches, i.e. round(0.7 * BrakeNotches).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Cars&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The number of cars the train has.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI Initialize(int brake)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called after SetVehicleSpec() is called and informs the plugin about the mode the safety system should start in. If the safety system in your plugin can be activated or deactivated, you should initialize the state of the plugin accordingly. When the user selects a ''Jump to station'' target, this function is also called prior to moving the train to its new location.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''brake''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_INIT_ON_SRV&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | -1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The plugin should start in an '''active''' state. The ''service'' brakes are applied on startup.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_INIT_ON_EMG&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The plugin should start in an '''active''' state. The '''emergency''' brakes are applied on startup.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_INIT_OFF_EMG&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The plugin should start in an ''inactive'' state. The '''emergency''' brakes are applied on startup.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API ATS_HANDLES WINAPI Elapse(ATS_VEHICLESTATE vehicleState, int[] panel, int[] sound)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called every frame, informs the plugin about the current state of the train, and expects the handles as overwritten by the safety system in return. The state of plugin-specific panel elements can also be set, as well as instructions to play plugin-specific sounds.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''struct ATS_VEHICLESTATE''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double Location&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current track position of the front of the train in meters.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float Speed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current signed speed of the train in km/h. Negative values represent a backward movement, positive ones a forward movement.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Time&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current time in milliseconds since midnight of day one. Please note that the time wraps round after 24 days, thus values are between 0 and 2073599999.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float BcPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the brake cylinder in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float MrPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the main reservoir in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float ErPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the equalizing reservoir in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float BpPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the brake pipe in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float SapPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The current pressure in the straight air brake in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float Current&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | This value always returns 0 and should be ignored.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;''int[] panel''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;An array with 256 elements (0 through 255) which can be set to any value. The values in the array are preserved between successive Elapse() calls. At the beginning of the simulation, all elements are initialized to 0. Panel developers can query values of this array via the ats''i'' subject, while developers of animated objects can query values via the pluginstate[''i''] variable. You should coordinate your efforts with panel/object developers and release a specification that tells which element in the array has what purpose.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''int[] sound''&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;An array with 256 elements (0 through 255) which can be set to any sound instruction. The values in the array are preserved between successive Elapse() calls. At the beginning of the simulation, all elements are initialized to ATS_SOUND_PLAYLOOPING (0). Train developers can reference sounds in the sound.cfg file. You should coordinate your efforts with train developers and release a specification that tells which sound index plays what kind of sound. The sound instructions that can be used are:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_SOUND_STOP&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | -10000&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Stops the sound.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; |&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | -9999 through -1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Plays the sound in a loop with a given volume. -9999 corresponds to 0.01% volume and -1 corresponds to 99.99% volume. If the sound is already playing (looping or not), only the volume is changed.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_SOUND_PLAYLOOPING&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Plays the sound in a loop with 100% volume. If the sound is already playing (looping or not), only the volume is changed.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_SOUND_PLAY&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Plays the sound once. If the sound is already playing, a new instance of the sound starts playing. Subsequently, stopping or changing volume only affects the new sound. The host application will set the sound instruction to ATS_SOUND_CONTINUE after having processed it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_SOUND_CONTINUE&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Does not execute any command. You should set to this value if you don't want to change anything.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;''Return value struct ATS_HANDLES''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Brake&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The brake notch to apply. See SetBrake() below for more information.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Power&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The power notch to apply. Must be within the range from 0 to ''PowerNotches''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Reverser&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The reverser to apply. -1 is backward, 0 is neutral and 1 is forward.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int ConstantSpeed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The operation mode of the constant speed system. ATS_CONSTANTSPEED_CONTINUE (0) uses the driver's setting, ATS_CONSTANTSPEED_ENABLE (1) forces the system on and ATS_CONSTANTSPEED_DISABLE (2) forces the system off.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | Please note that if you want the driver's settings to take effect, you need to respond to the SetPower(), SetBrake() and SetReverse() calls, save the values that are passed in this those calls, and reapply them here.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI SetPower(int notch)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the driver changes the power notch. The value passed can range from 0 to ''PowerNotches''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI SetBrake(int notch)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the driver changes the brake notch. For trains with automatic air brake, 0 is RELEASE, 1 is LAP, 2 is SERVICE and 3 is EMERGENCY.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For other trains that do not have a hold brake, 0 is released brakes, 1 is brake notch 1, 2 is brake notch 2, etc., ''BrakeNotches'' is the maximum brake notch, and ''BrakeNotches''+1 is the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For other trains that have a hold brake, 0 is released brakes, 1 is the hold brake, 2 is brake notch 1, 3 is brake notch 2, etc., ''BrakeNotches'' is the maximum brake notch, and ''BrakeNotches''+1 is the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Generally, for trains without the automatic air brake, ''AtsNotch'' is the first brake notch and ''BrakeNotches'' is the maximum brake notch. For all types of trains, ''BrakeNotches''+1 is the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI SetReverser(int pos)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the driver changes the reverser position. The value of -1 corresponds to backward, 0 to neutral and 1 to forward.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI KeyDown(int atsKeyCode)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a plugin-specific key is pressed down. The passed value ''atsKeyCode'' corresponds to any value between ATS_KEY_S (0) and ATS_KEY_L (15). When you make use of plugin-specific keys, release a specification that gives the official name of the key (e.g. SECURITY_S, SECURITY_A1, SECURITY_B2, etc.) or their shorthands (S, A1, B2, etc.) along with the meaning.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI KeyUp(int atsKeyCode)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a plugin-specific key is released. The passed value ''atsKeyCode'' corresponds to any value between ATS_KEY_S (0) and ATS_KEY_L (15). When you make use of plugin-specific keys, release a specification that gives the official name of the key (e.g. SECURITY_S, SECURITY_A1, SECURITY_B2, etc.) or their shorthands (S, A1, B2, etc.) along with the meaning.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI HornBlow(int hornType)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when any of the horn starts or stops playing.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''hornType''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_HORN_PRIMARY&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The function is called only when the horn starts playing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_HORN_SECONDARY&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The function is called only when the horn starts playing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ATS_HORN_MUSIC&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The function is called both when the horn starts playing and when it stops playing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI DoorOpen()'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the doors start opening.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI DoorClose()'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the doors have finished closing.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI SetSignal(int signal)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called whenever the current signalling section would change its aspect assuming the player's train is not inside. This can occur when passing section boundaries, but only if the newly entered section has a different aspect than the previous one. It can also occur when a preceding train clears any upcoming block and the current section would change its aspect as a consequence of that. Thus, the SetSignal call can occur at any time. The passed value ''signal'' represents the section value (the aspect number).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;⚠&amp;lt;/font&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; | Please note that the SetSignal call assumes that the player's train is not inside the section for which the SetSignal call is raised. Otherwise, the reported aspect would always be red, which would not be very meaningful to work with.&lt;br /&gt;
| bgcolor=&amp;quot;#e0e0e0&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''ATS_API void WINAPI SetBeaconData(ATS_BEACONDATA beaconData)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a beacon is passed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;''struct ATS_BEACONDATA''&amp;lt;nowiki&amp;gt;: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Type&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The type of the beacon. In CSV routes, this corresponds to ''Type'' in Track.Beacon(''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BeaconStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Section''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Data'').&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Signal&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The aspect number currently shown on the associated section. In CSV routes, this corresponds to any of the values in Track.Section(''Aspect&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;'', ''Aspect&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'', ..., ''Aspect&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'')&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | float Distance&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The distance from the front of the train to the signal in meters. This can be negative if the associated section is behind the front of the train.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int Data&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The data of the beacon. In CSV routes, this corresponds to ''Data'' in Track.Beacon(''Type''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''BeaconStructureIndex''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Section''&amp;lt;nowiki&amp;gt;; &amp;lt;/nowiki&amp;gt;''Data'').&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;''Type'' can be in the range from 0 to 2147483647, while ''Data'' can be in the range from -2147483648 to 2147483647. Please see the page about [http://trainsimframework.org/develop/information_standards.html standards] to learn more about assigning beacon types.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Train_Plugin_API_(IRuntime)</id>
		<title>Train Plugin API (IRuntime)</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Train_Plugin_API_(IRuntime)"/>
				<updated>2015-02-07T00:07:47Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Train plugin API (IRuntime)&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10pt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Train plugin API (IRuntime)&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;This is the documentation for train plugins. In order to create a train plugin, implement the IRuntime interface from the OpenBveApi.Runtime namespace. In the following, you will find a description of how this interface works.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Overview&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following functions are called in this order when the plugin is loaded:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Load&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetVehicleSpecs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Initialize&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetPower&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetBrake&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetReverser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetSignal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following functions can be called at any time:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetPower&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetBrake&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetReverser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| KeyDown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| KeyUp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| HornBlow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| DoorChange&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetSignal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| SetBeacon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| PerformAI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following function is called when the plugin is unloaded:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | ●&lt;br /&gt;
|&lt;br /&gt;
| Unload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;#0080ff&amp;quot;&amp;gt;● Function calls&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 2px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The following is a list of all function calls along with explanations on their behavior.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''bool Load(LoadProperties properties)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is the first to be called after the plugin has been loaded. When this function triggers inside the plugin, a matching call to ''Unload'' will be made when the plugin is unloaded.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | LoadProperties&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | properties&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The properties supplied to the plugin on loading.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;LoadProperties (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | string&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PluginFolder&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the absolute path to the plugin folder.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | string&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | TrainFolder&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the absolute path to the train folder.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int[]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Panel&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the array of panel variables.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PlaySoundDelegate&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PlaySound&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the callback function for playing sounds.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AISupport&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AISupport&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The extent to which the plugin supports the AI.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | string&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | FailureReason&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the reason why the plugin failed loading.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;PlaySound (function):&amp;lt;br /&amp;gt;See the section on [http://trainsimframework.org/develop/plugin_iruntime.html#sound playing sounds].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;AISupport (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AISupport.None&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The plugin does not support the AI. Calls to PerformAI will not be made. Non-player trains will not use the plugin.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AISupport.Basic&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The plugin complements the built-in AI by performing only functions specific to the plugin.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Return value:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the plugin was loaded successfully.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;If your plugin uses external configuration files, open files relative to the ''properties.PluginFolder'' or ''properties.TrainFolder''. The difference between the two can be best visualized when the plugin is in a shared folder: Files relative to the plugin folder are common for all trains that use the plugin, while files relative to the train folder are specific to each train. The plugin folder is simply the folder in which the plugin is stored.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Initialize the ''properties.Panel'' array to any size and with any startup values you need. The array is processed after every call to ''Elapse'' by the host application in order to update custom panel indicators. Developers of the panel2.cfg file can query these values with the ''ats''i variable, while developers of the panel.animated file can query these values with the ''pluginState[''i'']'' variable.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The ''properties.PlaySound'' function can be used at any time to play sounds. This callback function returns a handle that you can use to track if the sound is still playing, to change its volume and pitch, or to stop it. Please also see the section on [http://trainsimframework.org/develop/plugin_iruntime.html#sound playing sounds].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Set ''properties.AISupport'' to a value other than ''AISupport.None'' if you want your plugin to support the AI. Please also see the section on [http://trainsimframework.org/develop/plugin_iruntime.html#ai supporting the AI].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You should return '''true''' as the return value when loading succeeded. If, on the other hand, you want to abort loading the plugin, for example because an external configuration file could not be found, return '''false''' and set ''properties.FailureReason'' to a human-readible string that explains why loading failed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void Unload()'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is the last to be called before the plugin is unloaded.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void SetVehicleSpecs(VehicleSpecs specs)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called after ''Load'' to inform the plugin about the specifications of the train.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VehicleSpecs&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | specs&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The specifications of the train.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; VehicleSpecs (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PowerNotches&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the number of power notches the train has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeTypes&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeType&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the type of brake the train uses.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeNotches&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the number of brake notches the train has, including the hold brake, but excluding the emergency brake.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | HasHoldBrake&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets whether the train has a hold brake.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AtsNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the index of the brake notch that corresponds to B1 or LAP.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | B67Notch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the index of the brake notch that corresponds to 70% of the available brake notches.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Cars&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the number of cars the train has.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;BrakeTypes (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeTypes.ElectromagneticStraightAirBrake&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The train uses the electromagnetic straight air brake.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeTypes.ElectricCommandBrake&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The train uses the analog/digital electro-pneumatic air brake without a brake pipe (electric command brake).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeTypes.AutomaticAirBrake&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The train uses the automatic air brake with partial release.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;For more information about the meanings of the notches, see the sections on SetReverser, SetPower and SetBrake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void Initialize(InitializationModes mode)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called after ''SetVehicleSpecs'' and informs the plugin about the mode the safety system should start in. If the safety system in your plugin can be activated or deactivated, you should initialize the state of the plugin accordingly. When the user selects a ''Jump to station'' target, this function is also called prior to moving the train to its new location.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | InitializationModes&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | mode&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The mode of initialization.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; InitializationModes (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | InitializationModes.OnService&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | -1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The safety system should be enabled. The train has its service brakes applied.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | InitializationModes.OnEmergency&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The safety system should be enabled. The train has its emergency brakes applied.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | InitializationModes.OffEmergency&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The safety system should be disabled. The train has its emergency brakes applied.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The initialization mode is set in CSV/RW routes via the Route.Change command. Please note that any value between -2147483648 and 2147483647 can be conveyed to the plugin - the enumeration members are simply meant to standardize the meanings of the initialization modes.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void Elapse(ElapseData data)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called every frame. It informs the plugin about the current state of the train and allows to set the virtual handles.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ElapseData&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | data&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The data passed to the plugin.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; ElapseData (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VehicleState&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Vehicle&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the state of the train.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PrecedingVehicleState&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PrecedingVehicle&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the state of the preceding train, or a null reference if there is no preceding train.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Handles&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Handles&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the virtual handles.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Time&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | TotalTime&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the absolute in-game time.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Time&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ElapsedTime&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the time that elapsed since the last call to Elapse.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | string&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DebugMessage&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the debug message the plugin wants the host application to display.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;VehicleState (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Location&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the location of the front of the train, in meters.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Speed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Speed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the speed of the train.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BcPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the pressure in the brake cylinder, in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | MrPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the pressure in the main reservoir, in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ErPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the pressure in the equilizing reservoir, in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BpPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the pressure in the brake pipe, in pascal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | SapPressure&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the pressure in the straight air pipe, in pascal.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;PrecedingVehicleState (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Location&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the location of the back of the preceding train, in meters.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Distance&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the distance from the front of the current train to the back of the preceding train, in meters.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Speed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Speed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the speed of the preceding train.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Speed (structure):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | MetersPerSecond&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the speed in meters per second.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | KilometersPerHour&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the speed in kilometers per hour.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | MilesPerHour&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the speed in miles per hour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Time (structure):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Seconds&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the time in seconds.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Milliseconds&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the time in milliseconds.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Handles (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Reverser&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the reverser position.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PowerNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the power notch.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the brake notch.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ConstSpeed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets whether the const speed system is enabled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The meanings of the notches are explained in the sections on SetReverser, SetPower and SetBrake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void SetReverser(int reverser)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the driver changes the reverser position.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | reverser&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The new reverser position.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;For ''reverser'', the value of -1 corresponds to backward, 0 to neutral and 1 to forward.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void SetPower(int powerNotch)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the driver changes the power notch.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | powerNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The new power notch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;For ''powerNotch'', the value passed can range from 0 to ''specs.PowerNotches''.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void SetBrake(int brakeNotch)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the driver changes the brake notch.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | brakeNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The new brake notch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;For trains with the '''automatic air brake''', 0 is RELEASE, 1 is LAP, 2 is SERVICE and 3 is EMERGENCY.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For all other trains '''without a hold brake''', 0 is released brakes, 1 is brake notch B1, 2 is brake notch B2, etc., ''specs.BrakeNotches'' is the maximum brake notch, and ''specs.BrakeNotches''+1 is the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For all other trains '''with a hold brake''', 0 is released brakes, 1 is the hold brake, 2 is brake notch B1, 3 is brake notch B2, etc., ''specs.BrakeNotches'' is the maximum brake notch, and ''specs.BrakeNotches''+1 is the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Generally speaking, for trains without the automatic air brake, ''specs.AtsNotch'' is brake notch B1 and ''specs.BrakeNotches'' is the maximum service brake notch. For all types of trains, ''specs.BrakeNotches''+1 is the emergency brake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void KeyDown(VirtualKeys key)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a plugin-specific key is pressed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | key&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual key that was pressed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;VirtualKeys (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.S&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual S key. The default assignment is Space.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.A1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual A1 key. The default assignment is Insert.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.A2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual A2 key. The default assignment is Delete.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.B1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual B1 key. The default assignment is Home.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.B2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual B2 key. The default assignment is End.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.C1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual C1 key. The default assignment is Page Up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.C2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual C2 key. The default assignment is Page Down.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.D&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 7&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual D key. The default assignment is 2.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.E&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 8&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual E key. The default assignment is 3.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.F&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 9&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual F key. The default assignment is 4.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.G&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 10&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual G key. The default assignment is 5.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.H&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 11&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual H key. The default assignment is 6.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.I&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 12&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual I key. The default assignment is 7.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.J&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 13&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual J key. The default assignment is 8.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.K&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 14&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual K key. The default assignment is 9.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.L&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 15&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual L key. The default assignment is 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;When making use of plugin-specific keys in your plugin, be sure to release a documentation that includes the virtual names of the keys along with their plugin-specific meanings.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void KeyUp(VirtualKeys key)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a plugin-specific key is released.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | key&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual key that was released.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;VirtualKeys (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.S&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual S key. The default assignment is Space.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.A1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual A1 key. The default assignment is Insert.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.A2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual A2 key. The default assignment is Delete.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.B1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual B1 key. The default assignment is Home.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.B2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual B2 key. The default assignment is End.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.C1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual C1 key. The default assignment is Page Up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.C2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual C2 key. The default assignment is Page Down.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.D&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 7&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual D key. The default assignment is 2.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.E&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 8&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual E key. The default assignment is 3.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.F&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 9&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual F key. The default assignment is 4.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.G&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 10&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual G key. The default assignment is 5.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.H&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 11&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual H key. The default assignment is 6.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.I&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 12&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual I key. The default assignment is 7.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.J&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 13&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual J key. The default assignment is 8.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.K&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 14&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual K key. The default assignment is 9.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | VirtualKeys.L&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 15&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The virtual L key. The default assignment is 0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;When making use of plugin-specific keys in your plugin, be sure to release a documentation that includes the virtual names of the keys along with their plugin-specific meanings.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void HornBlow(HornTypes type)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a horn starts playing. In case of the musical horn, this function is also called when the horn stops playing.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | HornTypes&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | type&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The type of horn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;HornTypes (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | HornTypes.Primary&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The primary horn.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | HornTypes.Secondary&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The secondary horn.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | HornTypes.Music&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The musical horn.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void DoorChange(DoorStates oldState, DoorStates newState)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the state of the doors change.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DoorStates&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | oldState&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The old state of the doors.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DoorStates&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | newState&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The new state of the doors.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; DoorStates (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DoorStates.None&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 0&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | No door is open.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DoorStates.Left&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The left doors are open.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DoorStates.Right&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The right doors are open.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | DoorStates.Both&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | All doors are open.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void SetSignal(SignalData[] data)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the aspect in the current or in any of the upcoming section changes, or when passing section boundaries. For the current section, it is assumed that no train is currently inside. Only sections until the first red section are reported.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | SignalData[]&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | data&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The signal data per section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; SignalData (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Aspect&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the aspect of the section.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Distance&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the distance to the section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The ''data'' array contains one entry per section, where ''data[0]'' is the current section, ''data[1]'' the upcoming section, and so on. You can inspect the aspect and the distance to each section reported.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please note that the length of the ''data'' array is dynamic. Only sections until the first red section are reported. This means that you need to check the size of the array before querying a particular section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please also note that the last section in the ''data'' array does not have to be red necessarily. For example at the end of the track, the last section might be green.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In CSV/RW routes, the Track.Section (CSV) or @Section (RW) command is used to create signalling sections. The ''data.Aspect'' member corresponds to any of the aspects defined by this command.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void SetBeacon(BeaconData data)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when a beacon is passed by the front of the train.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BeaconData&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | data&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The beacon data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;BeaconData (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Type&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the type of beacon.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Optional&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets optional data the beacon transmits.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | SignalData&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Signal&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the section the beacon is attached to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;SignalData (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Aspect&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the aspect of the section.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Distance&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets the distance to the section.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;In CSV/RW routes, the Track.Beacon (CSV) or @Beacon (RW) command is used to install beacons on the route. Both the beacon type and the optional data set by this command is transmitted to the train plugin along with the distance to the attached section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please note that plugins may receive beacon types less than 0. These beacon types are reserved for future use and must be ignored by current plugins.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void PerformAI(AIData data)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;This function is called when the AI is performed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIData&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | data&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The AI data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;AIData (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Handles&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Handles&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the driver handles.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIResponse&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Response&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the AI response.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Whenever you let the AI perform something, set ''data.Response'' to a value other than ''AIResponse.None''. Please also see the section on [http://trainsimframework.org/develop/plugin_iruntime.html#ai supporting the AI].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Playing sounds&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;You can play custom sounds from within your plugin. Custom sounds need to be configured inside the ''sound.cfg'' file before they can be used by the plugin. In order to play such sounds, keep a reference to the ''PlaySound'' function that is passed in the Load call. You can then start playing sounds at any time by calling this function:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''SoundHandle PlaySound(int index, double volume, double pitch, bool looped)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | index&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The index to the sound to be played.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | volume&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The initial volume of the sound. A value of 1.0 represents nominal volume.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | pitch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The initial pitch of the sound. A value of 1.0 represents nominal pitch.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | looped&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Whether the sound should be played in an indefinate loop.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Return value:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | SoundHandle&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The handle to the sound, or a null reference if the sound could not be played.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;When you call the PlaySound function, a handle will be returned that you can use to later check if the sound is still playing, in order to change the volume or pitch, or to stop playing the sound. If you play a sound in a loop, you '''must''' keep the handle in order to subsequently stop the sound - otherwise it would play indefinately. The handle returned by PlaySound is of the following form:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;SoundHandle (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Playing&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets whether the sound is still playing. Once this returns false, the sound handle is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Stopped&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets whether the sound has stopped. Once this returns true, the sound handle is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Volume&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the volume. A value of 1.0 represents nominal volume.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Pitch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the pitch. A value of 1.0 represents nominal pitch.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | void&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Stop()&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Stops the sound and invalidates the handle.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Please note that depending on the implementation by the host application, sounds that are not in audible range may not be played at all.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Please also note that the handle returned might be a null reference in the case the host application could not play the sound, for example because the file could not be found.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Supporting the AI&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Usually, the host application performs the AI. However, your plugin might require special operation precedures which the built-in AI cannot know of. For this reason, you can complement the built-in AI by performing operation procedures specific to your plugin. Before considering to support the AI, however, you should understand what the AI is intended to represent: a human being standing or sitting in the cab, operating levers and pressing buttons, just like the player. This means that the AI must not operate 6 levers and 12 buttons simultaneously, but only do one thing at a time.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If you want to support the AI, first set ''data.AISupport'' inside the Load call to ''AISupport.Basic''. Whenever the host application performs an AI round, a call to PerformAI will then be made inside the plugin. The plugin can then decide to let the AI perform an action, or to pass and let the host application perform an action. Different kinds of actions can take different amounts of time, so whenever the plugin lets the AI perform an action, it will also set the time it takes before the next action can be performed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;It is important to understand that unless your plugin also simulates a full ATO with automatic stopping at stations, you must let the host application perform the AI for most of the time and only intervene if absolutely necessary, for example in order to start the engine, to acknowledge a vigilance device, etc. Whenever this is the case, react to the PerformAI call appropriately:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''void PerformAI(AIData data)'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Arguments:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIData&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | data&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The AI data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;AIData (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Handles&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Handles&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the driver handles.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIResponse&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Response&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the AI response.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Handles (class):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Reverser&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the reverser position.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | PowerNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the power notch.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | BrakeNotch&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets the brake notch.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | bool&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | ConstSpeed&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | Gets or sets whether the const speed system is enabled.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;The meanings of the notches are explained in the sections on SetReverser, SetPower and SetBrake.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;AIResponse (enumeration):&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIResponse.None&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | No action was performed by the plugin.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIResponse.Short&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The action performed took a short time.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIResponse.Medium&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The action performed took an average amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | AIResponse.Long&lt;br /&gt;
| style=&amp;quot;padding: 4px; border: 2px ridge currentColor&amp;quot; bgcolor=&amp;quot;#ffffff&amp;quot; | The action performed took a long time.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;You can directly control the driver handles with the ''data.Handles'' member, for example if you want to cut power or apply a certain brake notch. For plugin-specific actions, you should only simulate key presses, for example by calling KeyDown or KeyUp. This will prevent you from letting the AI cheat in any way. If you let the AI operate the handles, you should only change by one notch at a time with a short response time.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;If you decide to let the AI do something, you must set the ''data.Response'' member to a meaningful value. For operating the handles, best use a short response time, while for other actions like turning a switch not directly accessible, use a long response time. Note that the actual timings are at the whim of the host application.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;''''&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;16&amp;quot; valign=&amp;quot;top&amp;quot; | ▶&lt;br /&gt;
| style=&amp;quot;border: 1px dashed currentColor&amp;quot; bgcolor=&amp;quot;#d4d8ff&amp;quot; | &amp;lt;tt&amp;gt;if (AtsAlarm) {&amp;lt;br /&amp;gt;     /* The driver needs to cut power and apply the brakes,&amp;lt;br /&amp;gt;     * then press the virtual S key.*/&amp;lt;br /&amp;gt;     if (data.Handles.PowerNotch &amp;gt; 0) {&amp;lt;br /&amp;gt;         /* We change only by one notch at a time. */&amp;lt;br /&amp;gt;          data.Handles.PowerNotch -= 1;&amp;lt;br /&amp;gt;         data.Response = AIResponse.Short;&amp;lt;br /&amp;gt;     } else if (data.Handles.BrakeNotch &amp;lt; 2) {&amp;lt;br /&amp;gt;          /* We change only by one notch at a time. */&amp;lt;br /&amp;gt;          data.Handles.BrakeNotch += 1;&amp;lt;br /&amp;gt;         data.Response = AIResponse.Short;&amp;lt;br /&amp;gt;     } else {&amp;lt;br /&amp;gt;          /* We simulate a key press here. */&amp;lt;br /&amp;gt;          KeyDown(VirtualKeys.S);&amp;lt;br /&amp;gt;          data.Response = AIResponse.Medium;&amp;lt;br /&amp;gt;     }&amp;lt;br /&amp;gt;} else if (AtoActive) {&amp;lt;br /&amp;gt;     /* Our ATO does not require driver interaction, so&amp;lt;br /&amp;gt;     * let's prevent the built-in AI from doing anything. */&amp;lt;br /&amp;gt;     data.Response = AIResponse.Long;&amp;lt;br /&amp;gt;} else {&amp;lt;br /&amp;gt;     /* Let the host application perform a default action&amp;lt;br /&amp;gt;     * such as braking for signals or stations. */&amp;lt;br /&amp;gt;      data.Response = AIResponse.None;&amp;lt;br /&amp;gt;}&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Trains</id>
		<title>Trains</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Trains"/>
				<updated>2015-02-07T00:07:16Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;Overview  Trains consist of a series of individual configuration files accompanied by bitmaps and sounds. The following is an overview on which files are required and what the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overview&lt;br /&gt;
&lt;br /&gt;
Trains consist of a series of individual configuration files accompanied by bitmaps and sounds. The following is an overview on which files are required and what they represent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Information and tips for train creation==&lt;br /&gt;
&lt;br /&gt;
This page presents information developers need to be aware of and general tips for object creation.&lt;br /&gt;
&lt;br /&gt;
===Characteristics===&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[train.dat]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This is the core configuration file for the train's characteristics, and is mandatory.'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Panels===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[panel.animated]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This file allows to create a fully 3D cab. If present in the train folder, this file has precedence over the panel2.cfg and panel.cfg files.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[panel2.cfg]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This file allows to create a limited 2D cab. If present in the train folder, this file has precedence over the panel.cfg. The panel2.cfg has fully superseded the panel.cfg as it offers greater functionality.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[panel.cfg]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This file is outdated, and allows to create a limited 2D cab. It has been fully superseded by the panel2.cfg file, which should be used instead..'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sounds===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[Default sounds]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''If no sound.cfg is present, these are the default sound files that are being looked for in the train folder.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[sound.cfg]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This defines the names of the sound files to use. The file is required if plugin-specific sounds are to be made available.'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Safety Systems===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
'''ⓘ Built-in systems:&lt;br /&gt;
The built-in safety systems ATS-SN, ATS-P and ATC are only used if no ats.cfg file is present, and if the train.dat is configured to define which of these systems should be available.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[ats.cfg]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This file defines which external train plugin to use. For information on how to create plugins, see here.'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[extensions.cfg]]'''&lt;br /&gt;
| style=&amp;quot;width: 75%; background-color: white;&amp;quot;|'''This defines additional characteristics that are not covered by the other files.'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exterior Objects===&lt;br /&gt;
*Exterior objects need to follow the same rules as any other object. &lt;br /&gt;
**[[Objects|See Information and tips on object creation]].&lt;br /&gt;
&lt;br /&gt;
===panel.cfg / panel2.cfg===&lt;br /&gt;
&lt;br /&gt;
●You are free to use textures with full alpha channels without worrying about performance or transparency artifacts. Depth sorting will always perform correctly with these panel formats, so make good use of dirty or wet windscreens via alpha channels, for example.&lt;br /&gt;
&lt;br /&gt;
●In the panel2.cfg, you are responsible for ensuring that overlapping elements are placed in unique layers. Otherwise, the rendering order might be erratic or could lead to z-fighting.&lt;br /&gt;
&lt;br /&gt;
●Single textures should be of power-of-two size, e.g. sides should have a length of 1, 2, 4, 8, 16, 32, etc. However, with textures containing smaller images to be extracted later, e.g. DigitalIndicator in panel.cfg or DigitalNumber in panel2.cfg, the individual contained images should be of power-of-two size where possible, while the size of the container texture is irrelevant.&lt;br /&gt;
&lt;br /&gt;
===Plugins===&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
'''ⓘ Some people have used plugin commands for their trains. The most frequently used plugins are the Oskari plugin and the UK Train System plugin&lt;br /&gt;
'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%; background-color: white;&amp;quot;|'''[[Using Oskari's Plugin (OS_ATS1.dll)]]'''&lt;br /&gt;
| style=&amp;quot;width: 50%; background-color: white;&amp;quot;|'''[[Using UK Train System Plugin]]'''&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Plugins</id>
		<title>Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Plugins"/>
				<updated>2015-02-07T00:06:27Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin: Created page with &amp;quot;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;  &amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Train plugins&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;  {| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;small&amp;quot;&amp;gt;&amp;lt;font face=&amp;quot;sans-serif&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+2&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;Train plugins&amp;lt;/font&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Train plugins allow to change the runtime behavior of trains to some degree. Things you can do include displaying custom indicators in the panels, playing custom sounds and overriding the handles the driver originally set. Plugins can be used to simulate safety equipment such as ATS or ATC, among other things.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Available forms of plugins&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Train Plugin API (IRuntime)|'''.NET assemblies:''']]&amp;lt;br /&amp;gt;This is the only officially endorsed form of plugin. The plugins are .NET assemblies and should be designed to be cross-platform-compatible without recompilation. You can choose from a variety of programming languages, including C# and Visual Basic .NET, among many others that target the .NET Framework.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Win32 DLLs| '''Win32 DLLs:''']]&amp;lt;br /&amp;gt;This form of plugin is retained for backward compatibility with BVE Trainsim, but is no longer officially endorsed because these plugins can only run on Microsoft Windows. They are usually developed in C/C++. Given the cross-platform alternative, please develop .NET assemblies from now on.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- style=&amp;quot;height: 4px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font size=&amp;quot;+1&amp;quot; color=&amp;quot;#0080ff&amp;quot;&amp;gt;■ Setting up a train to using a plugin&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 0px currentColor; margin-right: 10pt; margin-left: 10pt&amp;quot;&lt;br /&gt;
| &amp;lt;font size=&amp;quot;-1&amp;quot; color=&amp;quot;#808080&amp;quot;&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You will need to ship the plugin somewhere in your train folder and configure the path to your plugin inside the [[ats.cfg]] file. Please note that for .NET assembly train plugins, you should '''not''' ship OpenBveApi.dll along with your plugin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Routes</id>
		<title>Routes</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Routes"/>
				<updated>2015-02-02T06:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;Bombardier01800: Created page with &amp;quot; {| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot; | colspan=&amp;quot;2&amp;quot; | '''ⓘ Many routes, for OpenBVE and BVE alike, are commonly coded in two fo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
'''ⓘ Many routes, for OpenBVE and BVE alike, are commonly coded in two formats. That is:'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[CSV Routes| The .CSV Route]]'''&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[RW Routes| The .RW Route]]'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
'''ⓘ Additionally, you can also learn to use the built-in plugins:'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[Using ATS]]'''&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[Using ATC]]'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Some people have also created routes using Routebuilder. If you want to try the unsupported graphical (WYSIWYG) route editor, you can do so. We have very limited support for Routebuilder, so if you do plan to use this and have questions, you may or may not recieve answers due to the extremely low amount of developers on BVEStation using it.&lt;br /&gt;
&lt;br /&gt;
*[http://www.bvestation.com/forums/index.php?topic=3024.0 Creating Routes with RouteViewer]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
'''ⓘ Some people have used plugin commands for their routes. The most frequently used plugins are these:'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[Using Oskari's Plugin (OS_ATS1.dll)|Oskari's Plugin (OS_ATS1.dll)]]'''&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[Using UK Train System Plugin|UK Train System Plugin]]'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bombardier01800</name></author>	</entry>

	<entry>
		<id>https://wiki.bvestation.com/index.php/Objects</id>
		<title>Objects</title>
		<link rel="alternate" type="text/html" href="https://wiki.bvestation.com/index.php/Objects"/>
				<updated>2015-02-02T06:21:29Z</updated>
		
		<summary type="html">&lt;p&gt;Bombardier01800: Created page with &amp;quot; {| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot; | colspan=&amp;quot;4&amp;quot; | '''ⓘ Objects are essential to the creation of OpenBVE routes and trains....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;color: black; background-color: #ffffcc;&amp;quot; width=&amp;quot;100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
'''ⓘ Objects are essential to the creation of OpenBVE routes and trains. Here are the most frequently used formats:'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[.B3d| The .B3D Object]]'''&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[.CSV| The .CSV Object]]'''&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[.X| The .X Object]]'''&lt;br /&gt;
| style=&amp;quot;width: 25%; background-color: white;&amp;quot;|'''[[.ANIMATED| The .ANIMATED Object]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Information and Tips==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Commands===&lt;br /&gt;
&lt;br /&gt;
*In Face (B3D) or AddFace (CSV) commands, vertices need to be given in order of adjacency. Complex polygons, meaning self-intersecting polygons, will lead to erratic results.&lt;br /&gt;
&lt;br /&gt;
*The current implementation of openBVE produces incorrect illumination on the back face of faces created by Face2 (B3D) or AddFace2 (CSV). This behavior might change in future versions of openBVE so that both sides are correctly illuminated.&lt;br /&gt;
&lt;br /&gt;
===Geometry===&lt;br /&gt;
&lt;br /&gt;
*Avoid overly complex geometry where the end results are hardly noticable. Avoid using Cube and Cylinder commands (B3D/CSV) if parts of the cube/cylinder will not be visible. Do not create cylinder caps unless they are likely to be visible.&lt;br /&gt;
&lt;br /&gt;
*To get smoothly curved objects, use custom normals with fewer faces instead of no custom normals with many faces.&lt;br /&gt;
&lt;br /&gt;
===Textures===&lt;br /&gt;
&lt;br /&gt;
*Try to create textures that wrap around objects by using texture coordinates appropriately. This will reduce or eliminate the need to change the texture when rendering, which is expensive.&lt;br /&gt;
&lt;br /&gt;
*Use only textures which are of power-of-two size, e.g. whose sides are of length 1, 2, 4, 8, 16, 32, etc. Textures do not need to be square, though.&lt;br /&gt;
&lt;br /&gt;
===Transparency===&lt;br /&gt;
&lt;br /&gt;
*For best visual quality, every transparency has its overhead. Avoid using transparency at all if there are alternatives of similar implementational and geometric complexity.&lt;br /&gt;
&lt;br /&gt;
*Use color-key transparency whenever possible. Avoid using alpha channels in textures or using Color (B3D) or SetColor (CSV) commands with an alpha setting at all costs.&lt;br /&gt;
&lt;br /&gt;
*When it is necessary to use alpha, bear in mind that depth sorting will be used to determine the rendering order. There is no perfect real-time depth sorting algorithm, thus artifacts cannot be completely avoided.&lt;br /&gt;
&lt;br /&gt;
*When using alpha, keep polygons parallel to each other, which will always render correctly. The worst case scenario is perpendicular faces. When such faces overlap on-screen, the rendering order might be erratic. Use perpendicular alpha faces only if they are unlikely to overlap on-screen.&lt;/div&gt;</summary>
		<author><name>Bombardier01800</name></author>	</entry>

	</feed>